Meng-uninstal Cloud Service Mesh dalam cluster
Halaman ini menjelaskan cara meng-uninstal Cloud Service Mesh dalam cluster jika Anda menggunakan Istio API. Jika Anda menggunakan Compute Engine API, tidak ada langkah-langkah yang diperlukan. Lihat Ringkasan Cloud Service Mesh untuk memahami perbedaannya.
Mengikuti petunjuk ini untuk meng-uninstal Cloud Service Mesh dalam cluster akan menghapus semua konfigurasi.
Jika Anda meng-uninstal Cloud Service Mesh terkelola, ikuti panduan uninstal terkelola .
Jika Anda bermigrasi dari dalam cluster ke terkelola, ikuti Panduan migrasi sebagai gantinya.
Meng-uninstal Cloud Service Mesh
Gunakan perintah berikut untuk meng-uninstal semua komponen Cloud Service Mesh.
Untuk mencegah gangguan pada traffic aplikasi:
- Turunkan versi kebijakan mTLS STRICT ke PERMISSIVE.
- Hapus AuthorizationPolicy yang dapat memblokir traffic.
Nonaktifkan 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 injeksi otomatis tidak diaktifkan di namespace.Mulai ulang workload Anda yang memiliki sidecar yang diinjeksi untuk menghapus proxy.
Hapus
validatingwebhooksconfigurationdanmutatingwebhookconfigurationdari cluster Anda, jika ada:kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot,istio.io/owned-by!=mesh.googleapis.comSetelah semua workload muncul dan tidak ada proxy yang diamati, Anda dapat menghapus bidang kontrol dalam cluster dengan aman untuk menghentikan penagihan.
Untuk menghapus bidang kontrol dalam cluster, jalankan perintah berikut:
istioctl 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. Tindakan ini menghindari penghapusan resource bersama, seperti CRD.Secara opsional, Hapus CR Istio, CRD Istio, configmap istio-(revisi), configmap asm-options, namespace
istio-system, danasm-systemuntuk menghapus mesh layanan dari cluster atau menggunakannya di mesh layanan yang kompatibel dengan Istio API lainnya.Hapus CR Istio:
kubectl delete gateways,virtualservices,destinationrules,serviceentries,envoyfilters,sidecars,peerauthentications,requestauthentications,authorizationpolicies,telemetries,wasmplugins,proxyconfigs --all --all-namespacesHapus CRD Istio:
kubectl get crds -o name | grep --color=never 'istio.io' | xargs kubectl deleteHapus configmap istio-(revisi). Anda dapat melewati langkah ini jika menghapus namespace
istio-system.kubectl delete configmap istio-RELEASE_CHANNEL -n istio-systemGanti RELEASE_CHANNEL dengan saluran rilis Anda
Hapus namespace
istio-system:kubectl delete namespace istio-system --ignore-not-found=trueHapus namespace
asm-system:kubectl delete namespace asm-system --ignore-not-found=truePeriksa apakah penghapusan berhasil:
kubectl get ns ``` The output should indicate a `Terminating` state and return as shown, otherwise you might have to manually delete any remaining resources in the namespaces and try again. ```sh NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m ```
Jika Anda akan menghapus cluster, atau telah menghapusnya, pastikan setiap cluster dibatalkan pendaftarannya dari fleet Anda.
Jika Anda berencana berhenti menggunakan Cloud Service Mesh di tingkat fleet, nonaktifkan fitur mesh layanan untuk project host fleet Anda.
gcloud container hub mesh disable --project FLEET_PROJECT_IDDengan FLEET_PROJECT_ID adalah ID project Host Fleet Anda.
Setelah Anda menyelesaikan langkah-langkah ini, 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 akan diberi izin yang diperlukan untuk membuat resource mesh layanan dalam cluster. Petunjuk uninstal ini tidak mencabut izin ini, sehingga memungkinkan aktivasi ulang Cloud Service Mesh yang lancar di masa mendatang.