Halaman ini memberikan informasi untuk membantu Anda merencanakan upgrade Anthos Service Mesh. Sebaiknya tinjau juga catatan upgrade Istio.
Tentang upgrade canary
Sebaiknya upgrade Anthos Service Mesh dengan menjalankan deployment canary di bidang kontrol baru terlebih dahulu. Dengan upgrade canary, asmcli
menginstal
revisi baru pada bidang
kontrol bersama dengan bidang kontrol lama. Bidang kontrol lama dan baru
diberi label dengan label revision
, yang berfungsi sebagai ID untuk
bidang kontrol.
Kemudian, migrasikan workload ke bidang kontrol baru dengan menetapkan label
revision
yang sama pada namespace Anda dan lakukan mulai ulang berkelanjutan. Proses mulai ulang memasukkan ulang proxy file bantuan di Pod sehingga proxy tersebut menggunakan bidang kontrol baru. Dengan pendekatan ini, Anda dapat memantau efek upgrade pada sebagian kecil beban kerja Anda. Setelah menguji aplikasi, Anda dapat memigrasikan semua traffic ke bidang kontrol baru atau melakukan rollback ke bidang kontrol lama. Pendekatan ini jauh lebih aman daripada melakukan upgrade langsung
dengan bidang kontrol baru menggantikan bidang kontrol lama.
Untuk pratinjau awal ini, asmcli
akan menginstal istio-ingressgateway
dengan
label revisi secara default. Hal ini memungkinkan Anda melakukan upgrade canary
istio-ingressgateway
serta bidang kontrol.
Menyesuaikan bidang kontrol
Jika Anda menyesuaikan penginstalan sebelumnya, Anda memerlukan penyesuaian yang sama saat mengupgrade Anthos Service Mesh. Jika menyesuaikan penginstalan dengan menambahkan flag --set values
ke istioctl install
, Anda harus menambahkan setelan tersebut ke file YAML IstioOperator
, yang disebut sebagai file overlay. Tentukan file overlay menggunakan opsi --custom_overlay
dengan nama file saat menjalankan skrip.
Paket
anthos-service-mesh
di GitHub berisi banyak file overlay. File ini berisi penyesuaian umum
pada konfigurasi default. Anda dapat menggunakan file ini sebagaimana adanya, atau membuat perubahan tambahan sesuai kebutuhan. Beberapa file diperlukan untuk mengaktifkan fitur Anthos Service Mesh opsional.
Paket anthos-service-mesh
didownload saat Anda menjalankan asmcli
untuk
memvalidasi project dan cluster.
Saat menginstal Anthos Service Mesh menggunakan asmcli install
, Anda dapat menentukan satu atau beberapa file overlay dengan --option
atau --custom_overlay
.
Jika tidak perlu melakukan 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
.
Pilih certificate authority
Jika penginstalan Anthos Service Mesh Anda saat ini menggunakan certificate authority (Mesh CA) Anthos Service Mesh sebagai certificate authority (CA) untuk menerbitkan sertifikat mutual TLS (mTLS), sebaiknya terus gunakan Mesh CA karena alasan berikut:
- Mesh CA adalah layanan yang sangat andal dan skalabel yang dioptimalkan untuk workload yang diskalakan secara dinamis di Google Cloud.
- Dengan Mesh CA, Google mengelola keamanan dan ketersediaan backend CA.
- Mesh CA memungkinkan Anda mengandalkan satu root kepercayaan di seluruh cluster.
Jika penginstalan Anthos Service Mesh Anda saat ini menggunakan Istio CA (sebelumnya disebut "Citadel"), Anda dapat beralih ke Mesh CA saat melakukan upgrade, tetapi Anda harus menjadwalkan periode nonaktif. Selama upgrade, traffic mTLS terganggu hingga semua workload dialihkan untuk menggunakan bidang kontrol baru dengan Mesh CA.
Sertifikat dari Mesh CA mencakup data berikut tentang layanan aplikasi Anda:
- Project ID Google Cloud
- Namespace GKE
- Nama akun layanan GKE
Mengidentifikasi CA Anda
Saat menjalankan asmcli install
untuk melakukan upgrade, tentukan CA yang harus diaktifkan asmcli
di bidang kontrol baru.
Dengan mengubah CA, periode nonaktif akan terjadi saat workload Anda di-deploy ke bidang kontrol yang baru. Jika Anda tidak dapat menjadwalkan periode nonaktif, pastikan untuk menentukan CA yang sama untuk bidang kontrol baru yang digunakan bidang kontrol lama. Jika Anda tidak yakin CA mana yang diaktifkan di mesh Anda, jalankan perintah berikut:
Dapatkan daftar Pod dari salah satu namespace Anda:
kubectl get pods -n NAMESPACE
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 Mesh CA diaktifkan di namespace, Anda akan melihat output berikut:
- name: CA_ADDR value: meshca.googleapis.com:443
Menyiapkan konfigurasi gateway
Anthos Service Mesh memberi Anda opsi untuk men-deploy dan mengelola gateway sebagai bagian dari mesh layanan. 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.
Secara default, asmcli
tidak menginstal istio-ingressgateway
. Sebaiknya
deploy dan kelola bidang kontrol dan gateway secara terpisah.
Untuk mengetahui informasi selengkapnya, lihat
Menginstal dan mengupgrade gateway. Jika Anda perlu
menginstal istio-ingressgateway
default dengan bidang kontrol dalam cluster,
sertakan argumen --option legacy-default-ingressgateway
.