Merencanakan upgrade

Halaman ini memberikan informasi untuk membantu Anda merencanakan upgrade Cloud Service Mesh. Sebaiknya Anda juga meninjau catatan upgrade Istio.

Tentang upgrade canary

Sebaiknya upgrade Cloud Service Mesh dengan menjalankan deployment canary dari control plane baru terlebih dahulu. Dengan upgrade canary, asmcli menginstal revisi baru bidang kontrol bersama bidang kontrol lama. Bidang kontrol lama dan baru diberi label revision, yang berfungsi sebagai ID untuk bidang kontrol.

Untuk memigrasikan workload ke bidang kontrol baru:

  1. Tetapkan label revision panel kontrol baru di salah satu namespace Anda.

  2. Lakukan mulai ulang berkelanjutan. Mulai ulang akan menyuntikkan ulang proxy sidecar di Pod sehingga proxy menggunakan bidang kontrol baru.

  3. Pantau efek upgrade pada workload. Jika perlu menguji aplikasi Anda, ulangi langkah-langkah sebelumnya.

  4. Setelah menguji aplikasi, Anda dapat memigrasikan semua traffic ke bidang kontrol baru atau melakukan rollback ke bidang kontrol lama.

Upgrade canary jauh lebih aman daripada melakukan upgrade di tempat saat bidang kontrol baru menggantikan bidang kontrol lama. Untuk mengetahui langkah-langkah mendetail, lihat Beralih ke bidang kontrol baru.

Menyesuaikan bidang kontrol

Jika Anda menyesuaikan penginstalan sebelumnya, Anda memerlukan penyesuaian yang sama saat mengupgrade Cloud Service Mesh. Jika Anda menyesuaikan penginstalan dengan menambahkan flag --set values ke istioctl install, Anda harus menambahkan setelan tersebut ke file YAML IstioOperator, yang disebut sebagai file overlay. Anda menentukan file overlay menggunakan opsi --custom_overlay dengan nama file saat Anda menjalankan asmcli.

Direktori asmcli di GitHub berisi banyak file overlay. File ini berisi penyesuaian umum pada konfigurasi default. Anda dapat menggunakan file ini sebagaimana adanya, atau Anda dapat melakukan perubahan tambahan pada file tersebut sesuai kebutuhan. Beberapa file diperlukan untuk mengaktifkan fitur Cloud Service Mesh opsional. Paket anthos-service-mesh didownload saat Anda menjalankan asmcli untuk memvalidasi project dan cluster Anda.

Saat menginstal Cloud Service Mesh menggunakan asmcli install, Anda dapat menentukan satu atau beberapa file overlay dengan --option atau --custom_overlay. Jika Anda tidak perlu membuat perubahan apa pun pada file di repositori anthos-service-mesh, Anda dapat menggunakan --option, dan skrip akan mengambil file dari GitHub untuk Anda. Atau, Anda dapat membuat perubahan pada file overlay, lalu menggunakan opsi --custom_overlay untuk meneruskannya ke asmcli.

Pilih otoritas sertifikasi

Jika penginstalan Cloud Service Mesh Anda saat ini menggunakan otoritas sertifikat Cloud Service Mesh sebagai otoritas sertifikat (CA) untuk menerbitkan sertifikat TLS bersama (mTLS), sebaiknya Anda terus menggunakan otoritas sertifikat Cloud Service Mesh karena alasan berikut:

  • Certificate authority Cloud Service Mesh adalah layanan yang sangat andal dan skalabel yang dioptimalkan untuk workload yang diskalakan secara dinamis.
  • Dengan certificate authority Cloud Service Mesh, Google mengelola keamanan dan ketersediaan backend CA.
  • Otoritas sertifikat Cloud Service Mesh memungkinkan Anda mengandalkan satu root of trust di seluruh cluster.

Jika penginstalan Cloud Service Mesh saat ini menggunakan Istio CA (sebelumnya disebut "Citadel"), Anda dapat beralih ke otoritas sertifikat Cloud Service Mesh saat melakukan upgrade, tetapi Anda perlu menjadwalkan periode nonaktif. Selama upgrade, traffic mTLS terganggu hingga semua workload dialihkan untuk menggunakan bidang kontrol baru dengan otoritas sertifikat Cloud Service Mesh.

Sertifikat dari otoritas sertifikat Cloud Service Mesh mencakup data berikut tentang layanan aplikasi Anda:

  • Google Cloud Project ID
  • Namespace GKE
  • Nama akun layanan GKE

Mengidentifikasi CA Anda

Saat menjalankan asmcli install untuk mengupgrade, Anda menentukan CA yang asmcli harus diaktifkan di bidang kontrol baru.

Mengubah CA menyebabkan periode nonaktif saat Anda men-deploy workload ke bidang kontrol baru. Jika Anda tidak dapat menjadwalkan periode nonaktif, pastikan untuk menentukan CA yang sama untuk bidang kontrol baru dengan yang digunakan bidang kontrol lama. Jika Anda tidak yakin CA mana yang diaktifkan di mesh Anda, jalankan perintah berikut:

  1. Dapatkan daftar Pod dari salah satu namespace Anda:

    kubectl get pods -n NAMESPACE
    
  2. Ganti POD_NAME dengan nama salah satu Pod Anda di perintah berikut:

    kubectl get pod POD_NAME -n NAMESPACE -o yaml | grep CA_ADDR -A 1
    

    Jika otoritas sertifikat Cloud Service Mesh diaktifkan di namespace, Anda akan melihat output berikut:

    - name: CA_ADDR
      value: meshca.googleapis.com:443
    

Menyiapkan konfigurasi gateway

Cloud Service Mesh memberi Anda opsi untuk men-deploy dan mengelola gateway sebagai bagian dari mesh layanan Anda. Gateway menjelaskan load balancer yang beroperasi di edge mesh yang menerima koneksi HTTP/TCP masuk atau keluar. Gateway adalah proxy Envoy yang memberi Anda kontrol terperinci atas traffic yang masuk dan keluar dari mesh.

asmcli tidak menginstal istio-ingressgateway. Sebaiknya Anda men-deploy dan mengelola bidang kontrol dan gateway secara terpisah. Untuk mengetahui informasi selengkapnya, lihat Menginstal dan mengupgrade gateway.

Mengupgrade platform Anda (opsional)

Sebagai praktik terbaik, Anda harus mengupgrade Cloud Service Mesh ke versi terbaru yang didukung yang juga mendukung platform Anda saat ini. Kemudian, upgrade lingkungan Anda agar berada dalam rentang platform dan versi Kubernetes yang didukung. Terakhir, jika perlu, upgrade ke versi yang didukung terbaru dari Cloud Service Mesh.

Apa langkah selanjutnya?