Einrichten des verwalteten Add-ons Istio

Istio on IBM Cloud® Kubernetes Service stellt eine nahtlose Installation von Istio, automatische Updates und Lebenszyklusmanagementfunktionen für Komponenten der Istio-Steuerebene bereit und ermöglicht die Integration in Protokollierungs- und Überwachungstools für die Plattform.

Entfernen von anderen Istio Installationen aus einem Cluster

Wenn Sie zuvor Istio im Cluster mithilfe des Diagramms IBM ( Helm ) oder auf andere Weise installiert haben, bereinigen Sie diese Istio-Installation, bevor Sie das Add-on Istio aktivieren.

Vorbereitende Schritte: Überprüfen Sie, ob Istio bereits im Cluster installiert ist. Führen Sie kubectl get namespaces aus und suchen Sie in der Ausgabe nach dem Namespace istio-system.

Um andere Istio Installationen zu entfernen:

  • Gehen Sie folgendermaßen vor, wenn Istio mit dem IBM Cloud-Helm-Chart von Istio installiert wurde.

    1. Deinstallieren Sie die Istio-Helm-Bereitstellung.
        helm del istio --purge
        ```
    2. Wenn Helm 2.9 oder früher verwendet wurde, löschen Sie die zusätzliche Jobressource.
    ```sh {: pre}
        kubectl -n istio-system delete job --all
        ```
    3. Der Deinstallationsprozess kann bis zu 10 Minuten dauern. Führen Sie vor der Installation des verwalteten Istio-Add-ons im Cluster `kubectl get namespaces` aus und prüfen Sie, ob der Namensbereich `istio-system` entfernt wurde.
    
    
  • Wenn Sie Istio manuell installiert oder das Community- Helm-Diagramm Istio verwendet haben, lesen Sie die Dokumentation zur Deinstallation unter Istio.

  • Wenn Sie BookInfo zuvor im Cluster installiert haben, bereinigen Sie diese Ressourcen.

    1. Wechseln Sie in das Verzeichnis der Istio-Dateiposition.
        cd <filepath>/istio-1.29.5
        ```
    2. Löschen Sie alle BookInfo-Services, -Pods und -Bereitstellungen im Cluster.
    ```sh {: pre}
        samples/bookinfo/platform/kube/cleanup.sh
        ```
    3. Der Deinstallationsprozess kann bis zu 10 Minuten dauern. Führen Sie vor der Installation des verwalteten Istio-Add-ons im Cluster `kubectl get namespaces` aus und prüfen Sie, ob der Namensbereich `istio-system` entfernt wurde.
    
    
    
    

Istio-Add-on installieren

Anstelle der Community Istio können Sie das verwaltete Add-on Istio installieren.

Vorbereitende Schritte

Istio-Add-on über die Konsole installieren

  1. Klicken Sie in Ihrem Cluster-Dashboard auf den Namen des Clusters, in dem Sie das Add-on Istio installieren möchten.

  2. Navigieren Sie zum Abschnitt Add-ons.

  3. Klicken Sie auf der Karte für verwaltete Istio-Add-ons auf die Option Installieren.

  4. Klicken Sie erneut auf Installieren.

  5. Überprüfen Sie auf der Karte für verwaltete Istio-Add-ons, ob das Add-on aufgelistet wird.

Istio-Add-on über die Befehlszeilenschnittstelle installieren

Melden Sie sich an Ihrem Konto an. If applicable, target the appropriate resource group. Legen Sie den Kontext für den Cluster fest.

  1. Aktualisieren Sie das Plug-in container-service auf die neueste Version.

    ibmcloud update && ibmcloud plugin update container-service
    
  2. Überprüfen Sie die unterstützten Istio-Versionen.

    ibmcloud ks addon-versions --addon istio
    
  3. Aktivieren Sie das istio-Add-on. Die Standardversion des allgemein verfügbaren verwalteten Add-ons Istio, 1.29.5, ist installiert.

    ibmcloud ks cluster addon enable istio --cluster CLUSTER_NAME_OR_ID
    
  4. Vergewissern Sie sich, dass das verwaltete Istio-Add-on einsatzbereit ist (also den Status Addon Ready aufweist).

    ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
    

    Beispielausgabe

    NAME            Version     Health State   Health Status
    istio           1.29.5       normal         Addon Ready
    
  5. Sie können auch die einzelnen Komponenten des Add-ons prüfen, um sicherzustellen, dass die Istio-Services und ihre entsprechenden Pods bereitgestellt werden.

    kubectl get svc -n istio-system
    
    kubectl get pods -n istio-system
    
  6. Als Nächstes können Sie Ihre App in das Istio-Servicenetz einbeziehen.

istioctl-Befehlszeilenschnittstelle installieren

Installieren Sie den istioctl-CLI-Client auf Ihrem Computer. Weitere Informationen finden Sie in der istioctl Befehlsreferenz.

  1. Überprüfen Sie die Version von Istio, die Sie in Ihrem Cluster installiert haben.
    istioctl version
    
  2. Laden Sie die Version von herunter, die istioctl der Version von Istio Ihres Clusters entspricht, und installieren Sie sie auf Ihrem Computer.
    curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.29.5 sh -
    
  3. Navigieren Sie zum Istio-Paketverzeichnis.
    cd istio-1.29.5
    
  4. Linux- und Mac OS-Benutzer: Fügen Sie den Client istioctl zu Ihrer Systemvariablen PATH hinzu.
    export PATH=$PWD/bin:$PATH
    

Installation von Istio anpassen

Sie können eine Reihe von Istio-Konfigurationsoptionen anpassen, indem Sie die Ressource managed-istio-custom in der Konfigurationszuordnung (configmap) entsprechend bearbeiten. Durch diese Einstellungen erhalten Sie zusätzliche Kontrolle über Überwachung, Protokollierung und Netzbetrieb in Ihrer Steuerebene und Ihrem Servicenetz.

  1. Beschreiben Sie die Ressource ConfigMapmanaged-istio-custom, um deren Inhalt und die Inline-Dokumentation zu überprüfen.
    kubectl describe cm managed-istio-custom -n ibm-operators
    
  2. Bearbeiten Sie die Ressource managed-istio-custom für die Konfigurationszuordnung (configmap).
    kubectl edit cm managed-istio-custom -n ibm-operators
    
  3. Fügen Sie im Abschnitt data das <key>: "<value>"-Paar mit mindestens einer der folgenden Konfigurationsoptionen hinzu:
istio-components-pilot-requests-cpu

Standardwert: "500m" :
Konfigurieren Sie die CPU-Anforderung unter CPU milli für den istiod Komponenten-Pod. Gehen Sie bei der Änderung dieses Werts mit Vorsicht vor. Wenn Sie diesen Wert zu niedrig festlegen, kann dies die ordnungsgemäße Funktion der Steuerebene verhindern. Wird er zu hoch festgelegt, kann es die Planung des istiod-Pods verhindern.

istio-global-logging-level
Standardwert: "default:info" : Definieren Sie den Protokollbereich und die Stufe der Protokollnachrichten für Komponenten der Steuerebene. Ein Scope stellt einen Funktionsbereich innerhalb einer Komponente der Steuerebene dar und jeder Scope unterstützt bestimmte Protokollinformationsebenen. Der Protokollierungsbereich default gilt für Protokollnachrichten, die keiner Kategorie zugeordnet sind, und wird auf alle Komponenten der Steuerebene angewendet, für die die Basisebene info festgelegt ist.
Wenn Sie Protokollstufen für einzelne Komponentenbereiche angeben möchten, geben Sie eine durch Kommas getrennte Liste der Bereiche und Stufen ein (z. B. "<scope>:<level>,<scope>:<level>"). Eine Auflistung der Anwendungsbereiche der einzelnen Komponenten der Steuerungsebene sowie der Informationsstufen der Protokollmeldungen finden Sie in der Dokumentation zur Protokollierung der Komponenten der Istio. Um die Protokollierungsstufe der Datenebene zu ändern, verwenden Sie den Befehl istioctl proxy-config log <pod> --level <level>.
istio-global-outboundTrafficPolicy-mode

Standardwert: "ALLOW_ANY" : Standardmäßig ist der gesamte abgehende Datenverkehr aus dem Servicenetz zulässig. Wenn Sie den vom Servicenetz abgehenden Datenverkehr zu einem beliebigen Host, der nicht in der Service-Registry definiert ist oder für den innerhalb des Servicenetzes kein Element ServiceEntry definiert ist, blockieren möchten, legen Sie den Wert REGISTRY_ONLY fest.

istio-global-proxy-accessLogFile

Standardwert: "" : Envoy-Proxys geben Zugriffsinformationen über die Standardausgabe aus. Diese Protokolle sind bei der Behebung von Ingress- oder Egress-Problemen hilfreich. Wenn Sie diese Informationen zum Zugriff anzeigen möchten, während Befehlen des Typs kubectl logs für die Envoy-Container ausgeführt werden, legen Sie hier den Wert "/dev/stdout" fest.

istio-monitoring-telemetry

Standardwert: "true" : Telemetriemetriken und Prometheus-Unterstützung werden standardmäßig aktiviert. Um alle Leistungsprobleme im Zusammenhang mit Telemetrie-Metriken auszuschalten und die gesamte Überwachung zu inaktivieren, ändern Sie den Wert in "false".

istio-meshConfig-enableTracing

Standardwert: "true" : Istio generiert standardmäßig Tracebereiche für 1 von 100 Anforderungen. Um die Tracebereiche zu inaktivieren, setzen Sie den Wert auf "false".

istio-pilot-traceSampling
Standardwert: "1.0"
Standardmäßig beträgt der Wert „ Istio erzeugt Trace-Spans für jede 100. Anfrage “, was einer Abtastrate von 1 % entspricht. Wenn Sie mehr Tracebereiche generieren möchten, erhöhen Sie den Prozentwert.
istio-components-pilot-hpa-maxReplicas

Standardwert: "5" :
Standardmäßig legtIstio die maximale Anzahl an Pods für den horizontalen Pod-Autoscaler (HPA) auf istiod 5 fest. Erhöhen Sie diesen Wert nur, wenn Sie über ein großes Service-Mesh verfügen, bei dem erhöhte Ressourcen für die Aktualisierung der Konfigurationen benötigt istiod werden.

Ihre Konfigurationszuordnung kann z. B. der folgenden Beispielkonfigurationszuordnung entsprechen:

apiVersion: v1
data:
  istio-ingressgateway-zone-1: dal10
  <key: value> # such as istio-egressgateway-public-1-enabled: "false"
kind: ConfigMap
metadata:
  name: managed-istio-custom
  namespace: ibm-operators

Wird eine Option aus dieser Tabelle in Ihrer Konfigurationszuordnung nicht angezeigt? Da Ihre Konfigurationszuordnung benutzerdefinierte Werte enthält, wird sie nicht mit Optionen aktualisiert, die im Laufe der Zeit freigegeben werden. Stattdessen können Sie eine Kopie Ihrer Konfigurationszuordnung sichern und die Konfigurationszuordnung aus Ihrem Cluster löschen. Nach etwa 5 Minuten wird in Ihrem Cluster eine Standard-Konfigurationszuordnung erstellt, die die neuen Optionen enthält. Anschließend können Sie Ihre zuvor konfigurierten Einstellungen aus Ihrer Sicherung auf diese Standard-Konfigurationszuordnung kopieren, neue Einstellungen konfigurieren und die Änderungen anwenden.

  1. Speichern und schließen Sie die Konfigurationsdatei.

  2. Wenn Sie Änderungen an den Einstellungen für istio-global-logging-level oder für istio-global-proxy-accessLogFile vorgenommen haben, müssen Sie die Pods Ihrer Datenebene erneut starten, damit die Änderungen auf sie angewendet werden.

    1. Rufen Sie die Liste aller Pods der Datenebene ab, die sich nicht im Namensbereich istio-system befinden.
        istioctl version --short=false | grep "data plane version" | grep -v istio-system
        ```
        Beispielausgabe
    
        ```sh {: screen}
        data plane version: version.ProxyInfo{ID:"test-6f86fc4677-vsbsf.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"rerun-xfs-f8958bb94-j6n89.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"test2-5cbc75859c-jh6bx.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"minio-test-78b5d4597d-hkpvt.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"sb-887f89d7d-7s8ts.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"gid-deployment-5dc86db4c4-kdshs.default", IstioVersion:"1.29.5"}
        ```
    2. Führen Sie für jeden Pod einen Neustart durch, indem Sie ihn löschen. In der Ausgabe des vorherigen Schritts werden Pod-Name und Namensbereich in jedem Eintrag als `data plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.29.5"}` aufgelistet.
    ```sh {: pre}
        kubectl delete pod <pod_name> -n <namespace>
        ```
    
Möchten Sie eine Einstellung in ConfigMap ändern?
Zum Ändern einer Einstellung, die Sie zur Konfigurationszuordnung hinzugefügt haben, können Sie ein Patch-Script verwenden. Wenn Sie beispielsweise die Einstellung istio-global-proxy-accessLogFile: "/dev/stdout" hinzugefügt haben und diese Einstellung später in "" ändern möchten, können Sie zu diesem Zweck den Befehl kubectl patch cm managed-istio-custom -n ibm-operators --type='json' -p='[{"op": "add", "path": "/data/istio-global-proxy-accessLogFile", "value":""}]' ausführen.
Müssen Sie Ihre Anpassungseinstellungen in 1.24 oder später debuggen?
Überprüfen Sie die helm value.yaml und die helm-Ergebnisprotokolle in der configmap managed-istio-istiod-control-plane-values im Namensraum ibm-operators. Auf value.yaml sehen Sie, ob Ihre Änderung hinzugefügt wurde. Die Steuerergebnisse zeigen Ihnen, ob Syntaxfehler aufgetreten sind.
kubectl get cm -n ibm-operators managed-istio-istiod-control-plane-values -o json | jq -r .data.\"values.yaml\"
kubectl get cm -n ibm-operators managed-istio-istiod-control-plane-values -o json | jq -r .data.\"values.yaml.helm.result\"
Thu, 23 Oct 2025 19:58:48 GMT HELM_SUCCESS: Release "istiod" has been upgraded. Happy Helming!
NAME: istiod
LAST DEPLOYED: Thu Oct 23 19:58:42 2025
NAMESPACE: istio-system
STATUS: deployed
REVISION: 275
TEST SUITE: None
NOTES:
"istiod" successfully installed!
Möchten Sie Ihre Anpassungskonfiguration in 1.23 debuggen?
Überprüfen Sie die Protokolle für den addon-istio-operator ( Istio Version 1.10 bis 1.23 ) Pod, indem Sie kubectl logs -n ibm-operators -l name=managed-istio-operator ausführen. Der Istio-Operator prüft und gleicht alle benutzerdefinierten Istio-Änderungen ab, die Sie vornehmen.

Wenn Sie das Istio-Add-on inaktivieren, wird die Konfigurationszuordnung (Configmap) managed-istio-custom bei der Deinstallation nicht entfernt. Wenn Sie das Istio-Add-on erneut aktivieren, wird Ihre benutzerdefinierte Konfigurationszuordnung bei der Installation angewendet. Wenn Ihre angepassten Einstellungen in einer späteren Installation von Istio nicht wiederverwendet werden sollen, müssen Sie die Konfigurationszuordnung löschen, nachdem Sie das Istio-Add-on inaktiviert haben, indem Sie kubectl delete cm -n ibm-operators managed-istio-customausführen. Wenn Sie das Istio-Add-on wieder aktivieren, wird bei der Installation dann die standardmäßige Konfigurationszuordnung angewendet.

Umstellung vom Istio Add-on auf die Gemeinschaft Istio

Wenn Sie die verwalteten Istio Add-on-Versionen 1.21 bis 1.23 verwenden, können Sie stattdessen auf eine spätere Version der Community Istio migrieren.

Vorbereitende Schritte: Wenn Sie Istio nicht mehr benötigen, können Sie das Add-on deinstallieren, ohne die Community Istio zu installieren, anstatt diese Schritte auszuführen.

Schritt 1: Deaktivieren des Istio Add-ons über die Konsole

Deaktivieren Sie das Add-on über die Konsole oder die CLI.

  1. Klicken Sie in Ihrem Cluster-Dashboard auf den Namen des Clusters, aus dem Sie das Add-on Istio entfernen möchten.

  2. Navigieren Sie zum Abschnitt Add-ons.

  3. Klicken Sie auf der Karte für verwaltete Istio-Add-ons auf das Symbol für das Aktionsmenü.

  4. Klicken Sie auf Deinstallieren. Das verwaltete Add-on Istio ist in diesem Cluster deaktiviert.

  5. Vergewissern Sie sich auf der Karte für verwaltete Istio-Add-ons, dass das Add-on, das Sie deinstalliert haben, nicht mehr aufgelistet wird.

Schritt 1: Deaktivieren der Istio Add-ons über die CLI

Deaktivieren Sie das Add-on und überprüfen Sie, dass keine weiteren Istio Add-ons vorhanden sind.

  1. Inaktivieren Sie das istio-Add-on.
    ibmcloud ks cluster addon disable istio --cluster CLUSTER_NAME_OR_ID -f
    
  2. Überprüfen Sie, ob alle verwalteten Istio-Add-ons in diesem Cluster inaktiviert wurden. In der Ausgabe werden keine Istio-Add-ons zurückgegeben.
    ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
    
  3. Warten Sie 10 Minuten, bevor Sie mit dem nächsten Schritt fortfahren. Dies gibt uns Zeit, den Istio Betreiber zu entlasten.

Schritt 2: Verkleinern des Betreibers Istio

Reduzieren Sie die Anzahl der Istio-Operator-Bereitstellungen. Bei der Migration von der Verwendung des In-Cluster-Operators Istio durch das Add-on Istio zur Verwendung von istioctl durch die Community Istio müssen Sie vermeiden, dass beide Installationsmethoden um die Kontrolle über Istio kämpfen. Durch die Schritte der Verkleinerung des Operators, des Löschens der IOPs und des anschließenden Löschens des Operators wird der In-Cluster-Operator entfernt, ohne dass Istio deinstalliert wird.

Führen Sie den folgenden Befehl aus:

kubectl scale deployment -n ibm-operators addon-istio-operator --replicas=0

Schritt 3: Einsparung von Ressourcen

Speichern Sie alle Ressourcen, die Sie im istio-system Namensraum erstellt oder geändert haben, sowie alle Kubernetes-Ressourcen, die automatisch durch benutzerdefinierte Ressourcendefinitionen (CRDs) generiert wurden.

  1. Speichern Sie die managed-istio-custom ConfigMap, um ein Problem zu beheben oder das Add-on später neu zu installieren.

    kubectl get cm -n ibm-operators managed-istio-custom -o yaml > Customizations.yaml
    
  2. Speichern Sie alle IstioOperator-CRs (IOPs). Der In-Cluster-Operator Istio verfügt über einen Finalizer für die IOPs, um deren Löschung zu verhindern, bis der In-Cluster-Operator die in den IOPs definierten Ressourcen löscht. Um den Operator Istio zu entfernen, ohne Istio zu löschen, müssen Sie die Finalizer entfernen.

    • IOP-Ressourcen auflisten:
        kubectl get iop -A
        ```
    - Entfernen Sie für jede aufgelistete IOP-Ressource den Finalizer.
    
        Beispiel unter Verwendung des `managed-istio` IOP:
        ```sh {: pre}
        kubectl patch -n ibm-operators istiooperator/managed-istio --type json --patch='[ { "op": "remove", "path": "/metadata/finalizers" } ]'
        ```
    - Sichern Sie jede aufgelistete IOP-Ressource in einer Datei:
    ```sh {: pre}
        kubectl get iop -n <IOP_namespace> <IOP_name> -o yaml > <IOP_name>.yaml
        ```
    
  3. Warten Sie 10 Minuten, bevor Sie mit dem nächsten Schritt fortfahren.

Schritt 4: Ändern des Installationsprogramms für die IOPs

Löschen Sie alle Istio operator (IOP)-Ressourcen, z. B. für ein benutzerdefiniertes Ingress-Gateway.

  1. Vergewissern Sie sich, dass Ihr istioctl cli-Tool über die erforderliche Patch-Version verfügt.

    istioctl version
    
  2. Führen Sie für jede IOP-Datei, die Sie im vorherigen Schritt gespeichert haben, den Befehl istioctl upgrade aus, um Istio auf die Version zu aktualisieren, die der Version istioctl entspricht. Mit diesem Befehl wird auch der Installations- und Upgrade-Mechanismus von der Verwendung des In-Cluster-Operators auf istioctl geändert.

    istioctl upgrade -f <filename>.yaml
    

Schritt 5: Entfernen des Istio Operators und der IOPs

Löschen Sie den Istio Operator-Einsatz, das Dienstkonto, die Clusterrollenbindung, die Clusterrolle und alle IOPs. Istio wurde von dem Betreiber des Clusters Istio auf die Installation istioctl übertragen. Jetzt können Sie die Überreste der clusterinternen Istio Operator-Installation bereinigen, während sie verkleinert wird.

  1. Führen Sie die folgenden Befehle aus, um den Istio Operator-Einsatz zu löschen:

    kubectl delete deployment -n ibm-operators addon-istio-operator --ignore-not-found=true
    kubectl delete serviceaccount -n ibm-operators addon-istio-operator --ignore-not-found=true
    kubectl delete clusterrolebinding addon-istio-operator --ignore-not-found=true
    kubectl delete clusterrole addon-istio-operator --ignore-not-found=true
    
  2. Löschen Sie die IOPs.

    • IOP-Ressourcen auflisten:
        kubectl get iop -A
        ```
    - Löschen Sie jede aufgelistete IOP-Ressource:
    ```sh {: pre}
        kubectl delete IstioOperator <resource_name> -n <namespace>
        ```
    

Schritt 6: Entfernen der ConfigMap

Da die Website ConfigMap zuvor gespeichert wurde, kann sie entfernt werden.

Entfernen Sie die managed-istio-custom ConfigMap.

kubectl delete cm -n ibm-operators managed-istio-custom

Die Entfernung des Add-ons ist abgeschlossen und Sie können die Community Istio weiterhin nutzen und bei Bedarf aktualisieren.

Deinstallation des Add-ons Istio

Wenn Sie die Arbeit mit Istio abgeschlossen haben, können Sie die Istio-Ressourcen in Ihrem Cluster bereinigen und die Istio-Add-ons deinstallieren.

Schritt 1: Ressourcen vor der Deinstallation sichern

Alle Ressourcen, die Sie im Namensbereich istio-system erstellt oder geändert haben, werden entfernt. Um diese Ressourcen zu behalten, speichern Sie sie, bevor Sie das Add-on Istio deinstallieren.

  1. Speichern Sie die managed-istio-custom ConfigMap, um ein Problem zu beheben oder das Add-on später neu zu installieren.

    kubectl get cm -n ibm-operators managed-istio-custom -o yaml > Customizations.yaml
    
  2. Für die Versionen 1.23 und früher speichern Sie alle IstioOperator CRs (IOPs).

    a. IOP-Ressourcen auflisten:

    kubectl get iop -A
    

    b. Sichern Sie jede aufgelistete IOP-Ressource in einer Datei:

    kubectl get iop -n <IOP_namespace> <IOP_name> -o yaml > <IOP_name>.yaml
    

Schritt 2: Istio-Add-on deinstallieren

Deinstallieren Sie das Add-on über die Konsole oder CLI. Bei Istio 1.20 und früheren Versionen werden alle benutzerdefinierten Istio operator (IOP)-Ressourcen automatisch gelöscht.

Istio-Add-on über die Konsole deinstallieren

  1. Klicken Sie in Ihrem Cluster-Dashboard auf den Namen des Clusters, aus dem Sie das Add-on Istio entfernen möchten.

  2. Navigieren Sie zum Abschnitt Add-ons.

  3. Klicken Sie auf der Karte für verwaltete Istio-Add-ons auf das Symbol für das Aktionsmenü.

  4. Klicken Sie auf Deinstallieren. Das verwaltete Istio-Add-on wird in diesem Cluster inaktiviert, und alle Istio-Ressourcen in diesem Cluster werden entfernt.

  5. Vergewissern Sie sich auf der Karte für verwaltete Istio-Add-ons, dass das Add-on, das Sie deinstalliert haben, nicht mehr aufgelistet wird.

Deinstallation des Add-ons Istio über die CLI

Wenn Sie die veralteten Add-ons istio-sample-bookinfo und istio-extras nicht installiert haben, können Sie die Schritte 1 und 2 überspringen.

  1. Inaktivieren Sie das istio-sample-bookinfo-Add-on.
    ibmcloud ks cluster addon disable istio-sample-bookinfo --cluster CLUSTER_NAME_OR_ID
    
  2. Inaktivieren Sie das istio-extras-Add-on.
    ibmcloud ks cluster addon disable istio-extras --cluster CLUSTER_NAME_OR_ID
    
  3. Inaktivieren Sie das istio-Add-on.
    ibmcloud ks cluster addon disable istio --cluster CLUSTER_NAME_OR_ID -f
    
  4. Überprüfen Sie, ob alle verwalteten Istio-Add-ons in diesem Cluster inaktiviert wurden. In der Ausgabe werden keine Istio-Add-ons zurückgegeben.
    ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
    

Schritt 3: Ressourcen entfernen

Nachdem die Ressourcen gespeichert und das Add-on inaktiviert wurde, können die Ressourcen entfernt werden.

  1. Die Konfigurationszuordnung (Configmap) managed-istio-custom wird bei der Deinstallation nicht entfernt. Wenn Sie das Istio-Add-on später erneut aktivieren, werden alle vorgenommenen Änderungen an der Konfigurationszuordnung durch Anpassung der Einstellungen bei der Installation angewendet. Wenn Sie die angepassten Einstellungen in einer späteren Installation von Istio nicht wiederverwenden möchten, löschen Sie die Konfigurationszuordnung.

    kubectl delete cm -n ibm-operators managed-istio-custom
    
  2. Für Version 1.23 und früher löschen Sie die benutzerdefinierten Istio operator (IOP) Ressourcen und den IOP.

    a. Löschen Sie alle angepassten Istio (IOP)-Ressourcen, die Sie erstellt haben, z. B. für ein angepasstes Ingress-Gateway. Wenn Sie diesen Befehl ausführen, entfernt der Istio-Operator automatisch alle Ressourcen, die von der IOP-Ressource erstellt wurden (z. B. Bereitstellungen oder Services).

    kubectl delete IstioOperator <resource_name> -n <namespace>
    

    b. Löschen Sie die managed-istio IOP.

    kubectl delete iop -n ibm-operators managed-istio
    
  3. Für die Versionen 1.24 und später speichern und löschen Sie das Gateway addon-istio ConfigMaps,, entfernen Sie die benutzerdefinierten Gateways und löschen Sie die Steuerungsebene Istio.

    a. Speichern Sie das addon-istio gateway ConfigMaps.

    kubectl get cm -n ibm-operators managed-istio-ingressgateway-values -o json | jq -r .data.\"values.yaml\" > ingress-gateway.values
    kubectl get cm -n ibm-operators managed-istio-egressgateway-values -o json | jq -r .data.\"values.yaml\" > egress-gateway.values
    

    b. Löschen Sie den addon-istio gateway ConfigMaps.

    kubectl delete cm -n ibm-operators managed-istio-egressgateway-values
    kubectl delete cm -n ibm-operators managed-istio-ingressgateway-values
    

    c. Entfernen Sie die benutzerdefinierten Gateways.

    d. Löschen Sie die Steuerungsebene Istio.

    istioctl uninstall -y --purge
    

    Ausgabe:

    All Istio resources will be pruned from the cluster
    Removed apps/v1, Kind=Deployment/istiod.istio-system.
    Removed /v1, Kind=Service/istiod.istio-system.
    Removed /v1, Kind=ConfigMap/istio.istio-system.
    Removed /v1, Kind=ConfigMap/istio-sidecar-injector.istio-system.
    Removed /v1, Kind=Pod/istiod-7f59b54bfd-p5f4d.istio-system.
    Removed /v1, Kind=Pod/istiod-7f59b54bfd-zckw6.istio-system.
    Removed policy/v1, Kind=PodDisruptionBudget/istiod.istio-system.
    Removed autoscaling/v2, Kind=HorizontalPodAutoscaler/istiod.istio-system.
    Removed admissionregistration.k8s.io/v1, Kind=MutatingWebhookConfiguration/istio-sidecar-injector..
    ✔ Uninstall complete
    
  4. Warten Sie 10 Minuten, bevor Sie mit dem nächsten Schritt fortfahren.

Schritt 4: Entfernen Sie den Operator Istio

Für die Version 1.23 und frühere Versionen können Sie den Operator Istio entfernen, nachdem Sie das Add-on vollständig deinstalliert haben.

Löschen Sie die Bereitstellung des Istio-Operators, das Servicekonto, die Clusterrollenbindung und die Clusterrolle.

kubectl delete deployment -n ibm-operators addon-istio-operator --ignore-not-found=true
kubectl delete serviceaccount -n ibm-operators addon-istio-operator --ignore-not-found=true
kubectl delete clusterrolebinding addon-istio-operator --ignore-not-found=true
kubectl delete clusterrole addon-istio-operator --ignore-not-found=true