Langkah-langkah ini dikhususkan untuk versi paket Istio yang disertakan secara default dengan Knative yang menyajikan "add-on GKE".
Karena versi paket Istio di-uninstal saat Anda melakukan proses meng-uninstal "add-on GKE" yang menyalurkan Knative, langkah-langkah di halaman ini akan menginstal Cloud Service Mesh di cluster Anda, kemudian mengonfigurasi gateway masuk Anda.
Sebelum memulai
Anda harus terlebih dahulu meninjau dan memastikan bahwa Anda memenuhi persyaratan untuk melakukan upgrade.
Perintah di halaman ini menggunakan variabel lingkungan dan skrip migrasi dari langkah persiapan upgrade.
Anda harus melakukan setiap langkah proses ini dalam urutan yang ditentukan.
Ringkasan
Secara umum, proses untuk menginstal Cloud Service Mesh saat bermigrasi dari Istio versi paket, merupakan proses yang sama dengan melakukan penginstalan Cloud Service Mesh yang bersih. Dalam proses ini, Cloud Service Mesh versi 1.18 diinstal dengan bidang kontrol dalam cluster.
Instal Cloud Service Mesh versi 1.18
Anda dapat menggunakan dokumentasi penginstalan Cloud Service Mesh untuk menginstal Cloud Service Mesh.
Sebelum memulai:
Untuk migrasi, gateway masuk harus diinstal secara terpisah selama langkah-langkah konfigurasi berikutnya. Skrip penginstalan tidak akan menginstal gateway masuk secara default.
Opsional: Jika menggunakan certificate authority Cloud Service Mesh (Mesh CA), Anda juga harus menyertakan tanda
--ca mesh_ca
dengan skrip penginstalan Cloud Service Mesh.
Untuk menginstal Cloud Service Mesh:
Ikuti langkah-langkah dalam dokumentasi Cloud Service Mesh: Menginstal Cloud Service Mesh versi 1.18
- Contoh
Berikut adalah contoh perintah default yang menyertakan flag yang diperlukan:
./asmcli install \ --project_id ${PROJECT_ID} \ --cluster_name ${CLUSTER_NAME} \ --cluster_location ${CLUSTER_LOCATION} \ --ca mesh_ca \ --output_dir DIR_PATH \ --enable_all
Mengonfigurasi traffic masuk Cloud Service Mesh
Di bagian ini, skrip migrasi digunakan untuk
membuat gateway masuk Cloud Service Mesh dalam namespace gke-system
.
Untuk migrasi, namespace gke-system
digunakan sehingga gateway masuk ditempatkan dalam namespace yang sama dengan yang digunakan oleh " Istio yang dipaketkan"
yang baru dihapus. Oleh karena itu, pod ingress Cloud Service Mesh dapat mengambil alih traffic dengan lancar tanpa perubahan konfigurasi yang diperlukan pada layanan masuk. Misalnya, Anda tidak perlu mengonfigurasi alamat IP eksternal baru.
Untuk membuat gateway masuk dalam namespace
gke-system
, jalankan perintah berikut untuk memulai skrip migrasi:./migration-addon.sh --command set-up-asm-ingress
Output terminal selama proses terlihat mirip dengan berikut ini:
Setting up Cloud Service Mesh ingress. Note that the Cloud Service Mesh ingress is not serving traffic at this step. namespace/gke-system labeled deployment.apps/istio-ingressgateway created horizontalpodautoscaler.autoscaling/istio-ingressgateway created role.rbac.authorization.k8s.io/istio-ingressgateway-sds created rolebinding.rbac.authorization.k8s.io/istio-ingressgateway-sds created Cloud Service Mesh ingress is successfully installed.
Pastikan gateway masuk
istio-ingrerssgateway
berjalan di namespacegke-system
dengan menjalankan perintah berikut:kubectl get deployment istio-ingressgateway -n gke-system
Perlu diperhatikan bahwa jumlah pod
istio-ingressgateway
sengaja0
. Setelah menginstal komponen fleet penyaluran Knative, ada langkah berikutnya untuk memigrasikan semua traffic ke ingress Cloud Service Mesh.
Langkah selanjutnya
Rollback
Jika perlu melakukan rollback perubahan yang dibuat melalui langkah sebelumnya, Anda dapat menggunakan skrip migrasi untuk:
- Hapus gateway masuk Cloud Service Mesh.
- Uninstal Cloud Service Mesh.
Untuk melakukan rollback konfigurasi dan penginstalan Cloud Service Mesh:
Jalankan perintah berikut untuk memulai rollback.
./migration-addon.sh --command rollback-set-up-asm-ingress
Output terminal selama proses terlihat mirip dengan berikut ini:
Deleting Cloud Service Mesh ingress deployment.apps "istio-ingressgateway" deleted horizontalpodautoscaler.autoscaling "istio-ingressgateway" deleted role.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted rolebinding.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted Cloud Service Mesh ingress is successfully deleted.
Untuk memverifikasi bahwa gateway masuk Cloud Service Mesh telah dihapus, periksa apakah layanan
istio-ingressgateway
sudah tidak ada di namespacegke-system
:kubectl get deployment istio-ingressgateway -n gke-system
Untuk terus melakukan roll back semua perubahan ke status asli penginstalan Anda, rollback Knative yang menyajikan "add-on GKE".