Meng-uninstal Cloud Service Mesh
Halaman ini menjelaskan cara menghapus Cloud Service Mesh.
Meng-uninstal Cloud Service Mesh
Gunakan perintah berikut untuk meng-uninstal semua komponen Cloud Service Mesh. Perintah ini juga menghapus namespace istio-system dan semua definisi resource kustom (CRD), termasuk CRD yang Anda terapkan.
Untuk mencegah gangguan pada traffic aplikasi:
- Turunkan versi kebijakan mTLS STRICT ke PERMISSIVE.
- Hapus AuthorizationPolicy yang dapat memblokir traffic.
Nonaktifkan Pengelolaan Otomatis di cluster ini (baik Anda menerapkannya secara langsung atau menggunakan konfigurasi default fleet):
gcloud container fleet mesh update --management manualNonaktifkan injeksi otomatis sidecar di namespace Anda, jika diaktifkan. Jalankan perintah berikut untuk menampilkan label namespace:
kubectl get namespace YOUR_NAMESPACE --show-labelsOutputnya mirip dengan hal berikut ini:
NAME STATUS AGE LABELS demo Active 4d17h istio.io/rev=asm-181-5
Jika Anda melihat
istio.io/rev=di output pada kolomLABELS, hapus:kubectl label namespace YOUR_NAMESPACE istio.io/rev-Jika Anda melihat
istio-injectiondi output pada kolomLABELS, hapus:kubectl label namespace YOUR_NAMESPACE istio-injection-Jika Anda tidak melihat label
istio.io/revatauistio-injection, berarti penyisipan otomatis tidak diaktifkan di namespace.Mulai ulang workload yang telah disisipkan sidecar untuk menghapus proxy.
Jika Anda menggunakan Cloud Service Mesh terkelola, hapus semua resource
controlplanerevisiondi cluster:kubectl delete controlplanerevision RELEASE_CHANNEL -n istio-systemDengan RELEASE_CHANNEL adalah saluran rilis yang Anda sediakan, seperti
asm-managed,asm-managed-rapid, atauasm-managed-stable.Hapus webhook dari cluster Anda, jika ada.
Cloud Service Mesh dalam cluster
Hapus
validatingwebhooksconfigurationdanmutatingwebhookconfiguration.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=PilotManaged Cloud Service Mesh
A. Hapus
validatingwebhooksconfiguration.kubectl delete validatingwebhookconfiguration istiod-istio-system-mcpB. Hapus
mutatingwebhookconfiguration.kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNELSetelah semua workload muncul dan tidak ada proxy yang diamati, Anda dapat menghapus bidang kontrol dalam cluster dengan aman untuk menghentikan penagihan. Jika Anda men-deploy panel kontrol terkelola, panel kontrol tersebut akan otomatis dihapus dengan langkah sebelumnya.
Untuk menghapus bidang kontrol dalam cluster, jalankan perintah di bawah:
istioctl x uninstall --purgeJika tidak ada bidang kontrol lain, Anda dapat menghapus namespace
istio-systemuntuk menghapus semua resource Cloud Service Mesh. Jika tidak, hapus layanan yang sesuai dengan revisi Cloud Service Mesh. Hal ini menghindari penghapusan resource bersama, seperti CRD.Hapus namespace
istio-systemdanasm-system:kubectl delete namespace istio-system asm-system --ignore-not-found=truePeriksa apakah penghapusan berhasil:
kubectl get nsOutput harus menunjukkan status
Terminatingdan ditampilkan seperti yang ditunjukkan, jika tidak, Anda mungkin harus menghapus secara manual semua resource yang tersisa di namespace dan mencoba lagi.NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m- Jika Anda akan menghapus cluster, atau telah menghapusnya, pastikan bahwa setiap cluster dibatalkan pendaftarannya dari fleet Anda.
Jika Anda telah mengaktifkan konfigurasi default fleet Cloud Service Mesh terkelola dan ingin menonaktifkannya untuk cluster mendatang, nonaktifkan konfigurasi tersebut. Anda dapat melewati langkah ini jika hanya menghapus instalasi dari satu cluster.
gcloud container hub mesh disable --fleet-default-member-config --project FLEET_PROJECT_IDDengan FLEET_PROJECT_ID sebagai ID project Host Fleet Anda.
Jika Anda menggunakan Cloud Service Mesh terkelola, hapus deployment
mdp-controller:kubectl delete deployment mdp-controller -n kube-systemPeriksa apakah configmap
istio-cni-plugin-configada:kubectl get configmap istio-cni-plugin-config -n kube-systemJika ada, hapus configmap
istio-cni-plugin-config:kubectl delete configmap istio-cni-plugin-config -n kube-systemHapus daemonset
istio-cni-node:kubectl delete daemonset istio-cni-node -n kube-system
Setelah langkah-langkah ini selesai, semua komponen Cloud Service Mesh, termasuk proxy, otoritas sertifikat dalam cluster, serta peran dan binding RBAC, akan dihapus secara sistematis dari cluster. Selama proses penginstalan, akun layanan milik Google diberi izin yang diperlukan untuk membuat resource mesh layanan dalam cluster. Petunjuk penghapusan instalasi ini tidak mencabut izin ini, sehingga memungkinkan aktivasi ulang Cloud Service Mesh yang lancar di masa mendatang.