Cloud Service Mesh deinstallieren
Auf dieser Seite wird erläutert, wie Sie Cloud Service Mesh deinstallieren.
Cloud Service Mesh deinstallieren
Deinstallieren Sie mit den folgenden Befehlen alle Cloud Service Mesh-Komponenten. Mit diesen Befehlen werden auch der istio-system
-Namespace und alle benutzerdefinierten Ressourcendefinitionen (Custom Resource Definitions, CRDs) gelöscht, einschließlich aller von Ihnen angewendeten CRDs.
So verhindern Sie eine Unterbrechung des Anwendungstraffics:
- Führen Sie ein Downgrade aller STRICT mTLS-Richtlinien auf PERMISSIVE aus.
- Entfernen Sie alle AuthorizationPolicy, die den Traffic blockieren können.
Deaktivieren Sie das „Automatisch verwaltete Cloud Service Mesh“ über die Fleet API, sofern aktiviert.
Deaktivieren Sie die automatische Sidecar-Einfügung für Ihre Namespaces, sofern sie aktiviert ist. Führen Sie den folgenden Befehl aus, um Namespace-Labels aufzurufen:
kubectl get namespace YOUR_NAMESPACE --show-labels
Die Ausgabe sieht in etwa so aus:
NAME STATUS AGE LABELS demo Active 4d17h istio.io/rev=asm-181-5
Wenn in der Ausgabe unter der Spalte
LABELS
istio.io/rev=
angezeigt wird, entfernen Sie dies:kubectl label namespace YOUR_NAMESPACE istio.io/rev-
Wenn in der Ausgabe unter der Spalte
LABELS
istio-injection
angezeigt wird, entfernen Sie dies:kubectl label namespace YOUR_NAMESPACE istio-injection-
Wenn Sie weder die Labels
istio.io/rev
nochistio-injection
sehen, wurde die automatische Einfügung im Namespace nicht aktiviert.Starten Sie Ihre Arbeitslasten mit eingefügten Sidecar-Dateien neu, um die Proxys zu entfernen.
Wenn Sie verwaltetes Cloud Service Mesh verwenden, entfernen Sie alle
controlplanerevision
-Ressourcen im Cluster:kubectl delete controlplanerevision RELEASE_CHANNEL -n istio-system
Dabei ist RELEASE_CHANNEL der Release-Version die Sie bereitgestellt haben, z. B.
asm-managed
,asm-managed-rapid
oderasm-managed-stable
Löschen Sie Webhooks aus Ihrem Cluster, sofern vorhanden.
Cloud Service Mesh im Cluster
validatingwebhooksconfiguration
undmutatingwebhookconfiguration
löschen.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot
Verwaltetes Cloud Service Mesh
A. Löschen Sie die
validatingwebhooksconfiguration
:kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
B. Löschen Sie die
mutatingwebhookconfiguration
:kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNEL
Sobald alle Arbeitslasten gestartet und keine Proxys beobachtet wurden, können Sie die Steuerungsebene im Cluster sicher löschen, um die Abrechnung zu beenden. Wenn Sie eine verwaltete Steuerungsebene bereitgestellt haben, wird sie mit dem vorherigen Schritt automatisch gelöscht.
Führen Sie den folgenden Befehl aus, um die clusterinterne Steuerungsebene zu entfernen:
istioctl x uninstall --purge
Wenn keine anderen Steuerungsebenen vorhanden sind, können Sie den Namespace
istio-system
löschen, um alle Cloud Service Mesh-Ressourcen zu entfernen. Andernfalls löschen Sie die den Cloud Service Mesh-Versionen entsprechen. Dadurch werden freigegebene Ressourcen wie CRDs nicht gelöscht.Löschen Sie die Namespaces
istio-system
undasm-system
:kubectl delete namespace istio-system asm-system --ignore-not-found=true
Prüfen Sie, ob die Löschvorgänge erfolgreich waren:
kubectl get ns
Die Ausgabe sollte den Status
Terminating
anzeigen und wie angegeben zurückgegeben werden. Andernfalls müssen Sie möglicherweise alle verbleibenden Ressourcen im Namespace manuell löschen und es noch einmal versuchen.NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m
Folgen Sie der Anleitung, um Registrierung jedes Clusters aufheben aus Ihrer Flotte. Dieser Schritt ist auch dann erforderlich, wenn Sie den Cluster gelöscht haben, da gelöschte Cluster möglicherweise weiterhin bei Ihrer Flotte registriert sind.
Wenn Sie verwaltetes Cloud Service Mesh verwenden, löschen Sie die
mdp-controller
-Bereitstellung:kubectl delete deployment mdp-controller -n kube-system
Löschen Sie das Daemonset
istio-cni-node
:kubectl delete daemonset istio-cni-node -n kube-system