Istio
Wenn Sie das Istio-Cluster-Add-on aktivieren, können Sie die folgenden Schlüssel/Wert-Paare als Argumente übergeben.
| Schlüssel (API und CLI) | Anzeigename des Schlüssels (Konsole) | Beschreibung | Erforderlich/Optional | Standardwert | Beispielwert |
|---|---|---|---|---|---|
affinity |
Affinität |
Eine Gruppe von Affinitätsplanungsregeln. JSON-Format im Klartext oder Base64-codiert. Nicht verwendet von:
Mögliche Äquivalente:
|
Optional | Null | Null |
nodeSelectors |
Knotenselektoren |
Mit Knotenselektoren und Knotenlabels können Sie die Worker-Knoten steuern, auf denen Add-on-Pods ausgeführt werden. Damit ein Pod auf einem Knoten ausgeführt werden kann, muss der Knotenselektor des Pods denselben Schlüssel/Wert wie das Label des Knotens aufweisen. Setzen Sie JSON-Format im Klartext oder Base64-codiert. Nicht verwendet von:
Mögliche Äquivalente:
|
Optional | Null | {"foo":"bar", "foo2": "bar2"}Der Pod wird nur auf Knoten ausgeführt, die das Label |
numOfReplicas |
numOfReplicas | Die Anzahl der Replikate der Add-on-Bereitstellung. Nicht verwendet von:
Mögliche Äquivalente:
|
Erforderlich | 1Erstellt ein Replikat des Add-on-Deployments pro Cluster. |
2Erstellt zwei Replikate des Add-on-Deployments pro Cluster. |
rollingUpdate |
rollingUpdate |
Steuert das gewünschte Verhalten der rollierenden Aktualisierung durch maxSurge und maxUnavailable. JSON-Format im Klartext oder Base64-codiert. Nicht verwendet von:
Mögliche Äquivalente:
|
Optional | Null | Null |
tolerations |
Toleranzen |
Mit Taints und Toleranzen können Sie die Worker-Knoten steuern, auf denen Add-on-Pods ausgeführt werden. Damit ein Pod auf einem Knoten mit einem Taint ausgeführt werden kann, muss der Pod eine entsprechende Toleranz aufweisen. Setzen Sie JSON-Format im Klartext oder Base64-codiert. Mögliche Äquivalente:
|
Optional | Null | [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]Nur Pods mit dieser Toleranz können auf Worker-Knoten ausgeführt werden, die den Taint |
topologySpreadConstraints |
topologySpreadConstraints |
So verteilen Sie passende Pods auf die angegebene Topologie. JSON-Format im Klartext oder Base64-codiert. Nicht verwendet von:
|
Optional | Null | Null |
| Schlüssel (API und CLI) | Anzeigename des Schlüssels (Konsole) | Beschreibung | Erforderlich/Optional | Standardwert | Beispielwert |
|---|---|---|---|---|---|
customizeConfigMap
|
customizeConfigMap |
Wenn Oracle Istio automatisch für Sie verwalten soll, setzen Sie Wenn Sie Istio mit istioctl (oder einem anderen von Istio unterstützten Tool) anpassen möchten und die Anpassungen beibehalten möchten, wenn Oracle das Add-on aktualisiert, setzen Sie |
Erforderlich |
false
|
true
|
discovery.ContainerResources
|
discovery.ContainerResources |
Sie können die Ressourcenmengen angeben, die von den Add-on-Containern angefordert werden, und Grenzwerte für die Ressourcennutzung festlegen, die von den Add-on-Containern nicht überschritten werden dürfen. JSON-Format im Klartext oder Base64-codiert. |
Optional | Null |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
Erstellen Sie Add-on-Container, die 100 Millicores CPU und 100 Mebibyte Speicher anfordern. Begrenzen Sie Add-on-Container auf 500 Millicores CPU und 200 Mebibyte Arbeitsspeicher. |
discovery.EnvVariables
|
discovery.EnvVariables |
Liste der Containerumgebungsvariablen für Istio Control Plane Discovery im JSON-Format. |
Optional | Null |
[{"name":"ISTIO_GPRC_MAXRECVMSGSIZE","value":"8388608"},{"name":"ISTIO_GPRC_MAXSTREAMS","value":"150000"}]
|
enableIngressGateway
|
enableIngressGateway | Istio-Ingress-Gateway aktivieren | Erforderlich |
false
|
true
|
istio-ingressgateway.Annotations
|
istio-ingressgateway.Annotations |
Anmerkungen, die an das Istio-Deployment übergeben werden. Beispiel: Sie geben die Load-Balancer-Ausprägung an oder legen fest, ob der Load Balancer als Network Load Balancer erstellt werden soll. Weitere Anmerkungen finden Sie unter Übersicht über Anmerkungen für Load Balancer und Network Load Balancer. JSON-Format im Klartext oder Base64-codiert. |
Optional |
""
|
|
istio-ingressgateway.HorizontalPodAutoscalerMinReplicas
|
istio-ingressgateway.HorizontalPodAutoscalerMinReplicas |
Mindestanzahl von Replikaten des horizontalen Pod-Autoscalers des Istio-Ingress-Gateways. Muss eine Ganzzahl mit einem Wert größer Null sein. |
Optional | Null |
1
|
istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas
|
istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas |
Maximale Anzahl von Replikaten des horizontalen Pod-Autoscalers des Istio-Ingress-Gateways. Muss eine Ganzzahl mit einem Wert größer Null sein. |
Optional | Null |
3
|
istio-ingressgateway.PodDisruptionBudgetMinAvailable
|
istio-ingressgateway.PodDisruptionBudgetMinAvailable |
Mindestanzahl oder Prozentsatz der verfügbaren Istio-Ingress-Gatewaypods. |
Optional | Null |
|
istiod.HorizontalPodAutoscalerMinReplicas
|
istiod.HorizontalPodAutoscalerMinReplicas |
Mindestanzahl von Replikaten des Istio-Controllers. Muss eine Ganzzahl mit einem Wert größer Null sein. |
Optional | Null |
1
|
istiod.HorizontalPodAutoscalerMaxReplicas
|
istiod.HorizontalPodAutoscalerMaxReplicas |
Maximale Anzahl von Replikaten des Istio-Controllers. Muss eine Ganzzahl mit einem Wert größer Null sein. |
Optional | Null |
3
|
istiod.PodDisruptionBudgetMinAvailable
|
istiod.PodDisruptionBudgetMinAvailable |
Mindestanzahl oder Prozentsatz der verfügbaren Istio-Controller-Pods. |
Optional | Null |
|
profile
|
Profil | Istio-Installationsprofil | Erforderlich |
"oke-default"
|
"oke-default"
|
In der folgenden Tabelle werden die Aspekte beim Konfigurieren dieses Cluster-Add-ons in großen Clustern beschrieben.
| Argumentname | Rollen, Anzahl Knoten | Beschreibung | Bei zunehmender Clustergröße | Risiken | Empfehlung |
|---|---|---|---|---|---|
affinity
|
N |
Steuert die Platzierung von Istio-Pods auf bestimmten Knoten. |
Nicht anwendbar | Nicht anwendbar | Nicht anwendbar |
nodeSelectors
|
N |
Steuert, ob Istio-Pods auf Knoten mit bestimmten Labels ausgeführt werden. |
Nicht anwendbar | Nicht anwendbar | Nicht anwendbar |
tolerations
|
N |
Steuert, ob Istio-Pods auf befleckten Knoten ausgeführt werden können. |
Nicht anwendbar | Nicht anwendbar | Nicht anwendbar |
topologySpreadConstraints
|
J |
Steuert, wie übereinstimmende Istio-Pods über die Clustertopologie verteilt sind. |
Möglicherweise müssen Sie die Topologieverteilungs-Constraints anpassen, wenn die Anzahl der |
Wenn Istiod- oder Gatewayreplikate nicht ordnungsgemäß konfiguriert sind, können sie sich auf demselben Knoten oder in derselben Zone befinden, sodass bei einem Knoten-/Zonenausfall mehrere Replikate gleichzeitig entfernt werden. |
Konfigurieren Sie |
numOfReplicas
|
J |
Steuert die Anzahl der Istio-Replikate. |
Möglicherweise sind weitere Replikate erforderlich, wenn die Anzahl der Pods, die am Service-Mesh teilnehmen, steigt. |
Wenn die Einstellung zu niedrig ist, hat Istiod eine höhere Chance, bei Knotenabläufen oder -upgrades ein Single Point of Failure zu werden. |
Erhöhen Sie die Anzahl der Replikate, wenn die Anzahl der Meshed-Pods steigt. |
rollingUpdate
|
N |
Steuert die Aktualisierungsstrategie für das Istio-Deployment. |
Nicht anwendbar | Nicht anwendbar | Nicht anwendbar |
customizeConfigMap
|
N |
Steuert die Istio-Konfiguration auf Operatorebene. |
Nicht anwendbar | Nicht anwendbar | Nicht anwendbar |
discovery.ContainerResources
|
J |
Definiert CPU- und Speicherressourcen für den Discovery-Container |
Die CPU- und Speicheranforderungen können mit zunehmender Anzahl von Meshed-Proxys und der Größe der Istio-Konfiguration steigen. |
Bei Untermaß kann die Istio-Steuerebene CPU- oder speicherhungrig sein, was zu einer langsameren Ausbreitung der Konfiguration, verzögerten Sidecar-Updates und einer Instabilität bei hoher Mesh-Abwanderung führt. |
Weisen Sie ausreichend CPU und Speicher für Istiod basierend auf Mesh-Größe und -Traffic zu, und überwachen Sie die Ressourcenauslastung regelmäßig, um Engpässe auf Control-Plane zu vermeiden, wenn das Cluster wächst. |
discovery.EnvVariables
|
N |
Definiert Umgebungsvariablen für den Discovery-Container der Istio-Kontrollebene. |
Nicht anwendbar | Nicht anwendbar | Nicht anwendbar |
enableIngressGateway
|
N |
Steuert, ob das klassische Istio-Ingress-Gateway aktiviert ist. |
Nicht anwendbar | Nicht anwendbar |
Aktivieren Sie das Ingress-Gateway nur, wenn das Cluster das klassische Istio-Ingress-Gateway erfordert. |
istio-ingressgateway.Annotations
|
J |
Definiert Annotationen für das Istio-Ingress-Gateway, einschließlich Annotationen, die den Load-Balancer-Typ und die Ausprägung steuern. |
Die erforderliche Load-Balancer-Konfiguration hängt von der Trafficmenge ab, die das Ingress-Gateway empfängt oder empfangen wird, und nicht direkt von der Anzahl der Clusterknoten. |
Wenn das Ingress-Gateway falsch konfiguriert ist, kann es mit der falschen Load-Balancer-Ausprägung oder dem falschen Load-Balancer-Typ bereitgestellt werden (z.B. falsche OCI-LB-Ausprägung oder NLB-Einstellung). Dies kann zu falschen Belichtungen, Durchsatzlimits oder Traffic-Routingproblemen führen. |
Konfigurieren Sie OCI-Load-Balancer-Annotationen entsprechend Ihren Anforderungen an den Produktionstraffic und Ihrer Netzwerkarchitektur, um ein optimales Load Balancing, Skalierbarkeit und High Availability sicherzustellen. |
istio-ingressgateway.HorizontalPodAutoscalerMinReplicas
|
J |
Definiert die Mindestanzahl von Istio-Ingress-Gatewayreplikaten, die von Horizontal Pod Autoscaler verwaltet werden. |
Möglicherweise sind weitere Ingress-Gatewayreplikate erforderlich, wenn der Traffic steigt. |
Wenn sie zu niedrig ist, hat das Ingress-Gateway weniger Baseline-Kapazität und wird bei Spitzen eher zu einem Trafficengpass. Wenn es 1 ist, gibt es auch weniger Resilienz bei Störungen. |
Erhöhen Sie die Mindestanzahl an Replikaten, wenn der Datenverkehr zunimmt, um die Verfügbarkeit und Fehlertoleranz aufrechtzuerhalten. |
istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas
|
J |
Definiert die maximale Anzahl von Istio-Ingress-Gatewayreplikaten, die Horizontal Pod Autoscaler erstellen kann. |
Das Ingress-Gateway muss möglicherweise auf mehr Replikate skaliert werden, wenn der Traffic steigt. |
Wenn dieser Wert zu niedrig ist, kann das Ingress-Gateway bei Trafficübergängen nicht ausreichend skalieren, was zu Latenzzeiten oder gelöschten Verbindungen führen kann. |
Erhöhen Sie die maximale Anzahl von Replikaten, wenn der Datenverkehr zunimmt, um Verfügbarkeit und Fehlertoleranz aufrechtzuerhalten. |
istio-ingressgateway.PodDisruptionBudgetMinAvailable
|
J |
Definiert die Mindestanzahl oder den Prozentsatz der Istio-Ingress-Gatewaypods, die während einer freiwilligen Unterbrechung verfügbar bleiben müssen. |
Möglicherweise ist ein höherer Mindestverfügbarkeitswert erforderlich, da der Ingress-Traffic zunimmt. |
Wenn sie zu niedrig sind, können Upgrades oder Knotenabläufe zu viele Gateways gleichzeitig entfernen und einen Ingress-Ausfall verursachen. |
Erhöhen Sie den Mindestverfügbarkeitswert, wenn der Traffic steigt, um High Availability aufrechtzuerhalten. |
istiod.HorizontalPodAutoscalerMinReplicas
|
J |
Definiert die Mindestanzahl von |
Möglicherweise sind weitere |
Wenn sie zu niedrig ist, beginnt die Kontrollebene mit zu wenig Kapazität und fällt eher bei Konfigurations-Bursts zurück. |
Erhöhen Sie die Mindestanzahl an Replikaten, wenn die Netzgröße zunimmt. Verwenden Sie mindestens drei Replikate, um die Verfügbarkeit aufrecht zu erhalten. |
istiod.HorizontalPodAutoscalerMaxReplicas
|
J |
Definiert die maximale Anzahl von |
Möglicherweise sind weitere |
Wenn es zu niedrig ist, kann Istiod nicht genug skalieren, um Netzwachstum, Konfigurationsabwanderung oder eine große Anzahl von Seitenwagen zu bewältigen. |
Erhöhen Sie die maximale Anzahl von Replikaten, wenn |
istiod.PodDisruptionBudgetMinAvailable
|
J |
Definiert die Mindestanzahl oder den Prozentsatz der |
Die Verwaltung der verfügbaren |
Wenn sie zu niedrig ist, kann eine Drainage oder ein Upgrade die Kontrollebene nicht verfügbar machen, und die Seitenwageneinspritzung kann clusterweit ausfallen. |
Konfigurieren Sie den Wert so, dass einige |
profile
|
N |
Gibt das Istio-Installationsprofil an. |
Nicht anwendbar | Nicht anwendbar | Nicht anwendbar |