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 control plane baru terlebih dahulu. Dengan upgrade canary, asmcli
akan menginstal revisi baru dari panel kontrol bersama dengan panel kontrol lama. Bidang kontrol lama dan baru
diberi label dengan label revision
, yang berfungsi sebagai ID untuk
bidang kontrol.
Untuk memigrasikan workload ke bidang kontrol baru:
Tetapkan label
revision
panel kontrol baru di salah satu namespace Anda.Lakukan mulai ulang berkelanjutan. Mulai ulang akan memasukkan kembali proxy sidecar di Pod sehingga proxy menggunakan bidang kontrol baru.
Pantau efek upgrade pada beban kerja. Jika diperlukan untuk menguji aplikasi, ulangi langkah-langkah sebelumnya.
Setelah menguji aplikasi, Anda dapat memigrasikan semua traffic ke panel kontrol baru atau melakukan rollback ke panel kontrol lama.
Upgrade canary jauh lebih aman daripada melakukan upgrade in-place saat control plane baru menggantikan control plane 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
tanda --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
menjalankan asmcli
.
Paket
anthos-service-mesh
di GitHub berisi banyak file overlay. File ini berisi penyesuaian umum
pada konfigurasi default. Anda dapat menggunakan file ini apa 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.
Saat menginstal Cloud Service Mesh menggunakan asmcli install
, Anda
dapat menentukan satu atau beberapa file overlay dengan --option
atau --custom_overlay
.
Jika tidak perlu membuat perubahan pada file di repositori anthos-service-mesh
, Anda dapat menggunakan --option
, dan skrip akan mengambil file dari GitHub
untuk Anda. Jika tidak, Anda dapat membuat perubahan pada file overlay, lalu menggunakan
opsi --custom_overlay
untuk meneruskannya ke asmcli
.
Memilih certificate authority
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 otoritas sertifikat 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 sertifikasi Cloud Service Mesh saat mengupgrade, tetapi Anda perlu menjadwalkan periode nonaktif. Selama upgrade, traffic mTLS akan terganggu hingga semua beban kerja dialihkan untuk menggunakan bidang kontrol baru dengan otoritas sertifikasi Cloud Service Mesh.
Sertifikat dari Certificate Authority Cloud Service Mesh menyertakan data berikut tentang layanan aplikasi Anda:
- ID project Google Cloud
- Namespace GKE
- Nama akun layanan GKE
Mengidentifikasi CA Anda
Saat menjalankan asmcli install
untuk mengupgrade, Anda menentukan CA yang harus diaktifkan oleh asmcli
di panel kontrol baru.
Mengubah CA akan menyebabkan periode nonaktif saat Anda men-deploy workload ke panel kontrol baru. Jika Anda tidak dapat menjadwalkan periode nonaktif, pastikan untuk menentukan CA yang sama untuk panel kontrol baru yang digunakan panel kontrol lama. Jika Anda tidak yakin CA mana yang diaktifkan di mesh, jalankan perintah berikut:
Mendapatkan daftar Pod dari salah satu namespace Anda:
kubectl get pods -n NAMESPACE
Ganti
POD_NAME
dengan nama salah satu Pod Anda dalam 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 tepi 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 diperlukan, upgrade ke versi yang didukung Cloud Service Mesh terbaru.