Memigrasikan Istio yang dipaketkan ke Cloud Service Mesh

Langkah-langkah ini dikhususkan untuk versi paket Istio yang disertakan oleh secara default dengan Knative yang menyajikan "add-on GKE".

Karena versi paket Istio di-uninstal saat Anda melakukan proses uninstal Knative yang menayangkan "add-on GKE", langkah-langkah di halaman ini menginstal Cloud Service Mesh di cluster Anda, lalu mengonfigurasi gateway masuk Anda.

Sebelum memulai

Ringkasan

Secara umum, proses untuk menginstal Cloud Service Mesh saat bermigrasi dari versi paket Istio, adalah proses yang sama dengan melakukan Penginstalan Cloud Service Mesh. Dalam proses ini, versi Cloud Service Mesh 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. Tujuan skrip instalasi tidak akan menginstal gateway masuk secara {i>default<i}.

  • Opsional: Jika menggunakan certificate authority Cloud Service Mesh (Mesh CA), Anda harus juga menyertakan flag --ca mesh_ca dengan penginstalan Cloud Service Mesh {i>script<i}.

Untuk menginstal Cloud Service Mesh:

Ikuti langkah-langkah dalam dokumentasi Cloud Service Mesh: Menginstal Cloud Service Mesh versi 1.18

Contoh

Berikut ini contoh perintah {i>default<i} yang menyertakan tanda:

./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 buat gateway masuk Cloud Service Mesh dalam namespace gke-system.

Untuk migrasi, namespace gke-system digunakan agar traffic masuk ditempatkan di dalam namespace yang sama dengan yang digunakan oleh gateway " Istio paket". Oleh karena itu, pod ingress Cloud Service Mesh dapat traffic pengambilalihan tanpa perubahan konfigurasi yang diperlukan pada traffic masuk layanan. Misalnya, Anda tidak perlu mengonfigurasi alamat IP eksternal baru.

  1. 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.
    
  2. Pastikan gateway masuk istio-ingrerssgateway berjalan di Namespace gke-system dengan menjalankan perintah berikut:

    kubectl get deployment istio-ingressgateway -n gke-system
    

    Perlu diperhatikan bahwa jumlah pod istio-ingressgateway sengaja 0. Setelah menginstal komponen fleet penyaluran Knative, proses selanjutnya adalah langkah ke memigrasikan semua traffic ke ingress Cloud Service Mesh.

Langkah selanjutnya

Menginstal komponen fleet

Rollback

Jika Anda perlu melakukan rollback perubahan yang Anda buat 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:

  1. 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.
    
  2. Untuk memverifikasi bahwa gateway masuk Cloud Service Mesh telah dihapus, periksa apakah Layanan istio-ingressgateway sudah tidak ada di gke-system ruang nama:

    kubectl get deployment istio-ingressgateway -n gke-system
    
  3. Meng-uninstal Cloud Service Mesh

  4. Untuk terus mengembalikan semua perubahan ke status awal instalasi Anda, rollback Knative yang menyajikan "add-on GKE".