Memigrasikan Istio yang dipaketkan ke Anthos Service Mesh

Langkah-langkah ini khusus untuk versi paket Istio yang disertakan secara default dengan Knative yang menyediakan "add-on GKE".

Karena versi paket Istio di-uninstal saat Anda melakukan proses meng-uninstal "add-on GKE" di Knative, langkah-langkah di halaman ini akan menginstal Anthos Service Mesh di cluster Anda, lalu mengonfigurasi gateway ingress Anda.

Sebelum memulai

Ringkasan

Secara umum, proses penginstalan Anthos Service Mesh saat bermigrasi dari versi paket Istio, sama dengan proses melakukan penginstalan Anthos Service Mesh yang bersih. Dalam proses ini, Anthos Service Mesh versi 1.18 diinstal dengan In-cluster control pesawat.

Instal Anthos Service Mesh versi 1.18

Gunakan dokumentasi penginstalan Anthos Service Mesh untuk menginstal Anthos Service Mesh.

Sebelum memulai:

  • Untuk migrasi, gateway masuk harus diinstal secara terpisah selama langkah konfigurasi berikutnya. Skrip penginstalan tidak akan menginstal gateway masuk secara default.

  • Opsional: Jika menggunakan certificate authority Anthos Service Mesh (Mesh CA), Anda juga harus menyertakan flag --ca mesh_ca dengan skrip penginstalan Anthos Service Mesh.

Untuk menginstal Anthos Service Mesh:

Ikuti langkah-langkah dalam dokumentasi Anthos Service Mesh: Menginstal Anthos 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 ingress Anthos Service Mesh

Di bagian ini, skrip migrasi digunakan untuk membuat gateway ingress Anthos Service Mesh dalam namespace gke-system.

Untuk migrasi, namespace gke-system digunakan sehingga gateway masuk ditempatkan di dalam namespace yang sama dengan yang digunakan oleh "paket Istio" yang baru dihapus. Oleh karena itu, pod ingress Anthos Service Mesh dapat mengambil alih traffic dengan lancar tanpa perlu mengubah konfigurasi pada layanan masuk. 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 ini terlihat mirip dengan berikut ini:

    Setting up Anthos Service Mesh ingress. Note that the Anthos 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
    Anthos 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
    

    Perhatikan bahwa jumlah pod istio-ingressgateway sengaja 0. Setelah menginstal komponen fleet penayangan Knative, ada langkah selanjutnya untuk memigrasikan semua traffic ke ingress Anthos Service Mesh.

Langkah selanjutnya

Menginstal komponen fleet

Rollback

Jika perlu melakukan rollback perubahan yang Anda buat melalui langkah sebelumnya, Anda dapat menggunakan skrip migrasi untuk:

  • Hapus gateway ingress Anthos Service Mesh.
  • Uninstal Anthos Service Mesh.

Untuk melakukan rollback konfigurasi dan penginstalan Anthos Service Mesh:

  1. Jalankan perintah berikut untuk memulai rollback.

    ./migration-addon.sh --command rollback-set-up-asm-ingress
    

    Output terminal selama proses ini terlihat mirip dengan berikut ini:

    Deleting Anthos 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
    Anthos Service Mesh ingress is successfully deleted.
    
  2. Untuk memverifikasi bahwa gateway ingress Anthos Service Mesh telah dihapus, pastikan layanan istio-ingressgateway tidak lagi ada di namespace gke-system:

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

  4. Untuk terus melakukan roll back semua perubahan ke status asli penginstalan Anda, lakukan rollback Knative yang menyediakan "add-on GKE".