API bidang kontrol xDS
Cloud Service Mesh dan kliennya (proxy Envoy atau library gRPC tanpa proxy) menggunakan API xDS open source untuk bertukar informasi. Saat Anda mengonfigurasi Cloud Service Mesh—misalnya, dengan menggunakan resource seperti aturan penerusan dan layanan backend—Cloud Service Mesh akan mengonversi resource ini menjadi konfigurasi xDS, yang dibagikan kepada kliennya.
Dukungan versi xDS
Cloud Service Mesh hanya mendukung xDS v3.
Untuk menentukan versi Envoy dan gRPC yang mendukung xDS v3, lihat dokumentasi Envoy dan gRPC.
Jika Anda masih menggunakan xDS v2, gunakan petunjuk berikut untuk bermigrasi ke xDS v3.
Bermigrasi dari xDS v2 ke xDS v3
Ada dua langkah dalam proses migrasi:
- Perbarui izin Identity and Access Management (IAM) yang diberikan ke akun layanan yang digunakan klien Anda (proxy Envoy atau library gRPC tanpa proxy) saat terhubung ke Cloud Service Mesh.
- Update dan deploy ulang aplikasi Anda. Langkah-langkah spesifiknya bervariasi bergantung pada deployment Anda dan dijelaskan di bagian berikut.
Memperbarui izin IAM akun layanan
Pastikan akun layanan yang digunakan oleh klien Cloud Service Mesh Anda (Envoy, gRPC tanpa proxy) memiliki izin trafficdirector.networks.reportMetrics
dan trafficdirector.networks.getConfigs
. Izin ini
disertakan dalam peran Klien Cloud Service Mesh
(roles/trafficdirector.client
) IAM.
Jika menggunakan peran IAM kustom, Anda dapat menambahkan izin ini
ke peran kustom. Setelah menambahkan izin, Anda dapat menghapus peran Compute Network Viewer (roles/compute.networkViewer
), peran Compute Network Admin (roles/compute.networkAdmin
), atau keduanya dari akun layanan.
Sebaiknya gunakan peran Cloud Service Mesh Client, bukan
peran Compute Network Viewer (roles/compute.networkViewer
) atau peran Compute
Network Admin (roles/compute.networkAdmin
). Penggunaan
peran Cloud Service Mesh Client akan membatasi izin yang diberikan ke
akun layanan dan menghindari pemberian izin yang terlalu luas.
Mengupdate aplikasi
Setelah Anda memperbarui izin IAM di akun layanan, update aplikasi Anda.
Envoy di Compute Engine
Untuk mengupdate aplikasi di Envoy dengan Compute Engine, lakukan penggantian atau mulai ulang secara bertahap grup instance terkelola. Versi Envoy yang mendukung xDS v3 otomatis ditambahkan ke instance virtual machine (VM) Anda.
Envoy di GKE
Jika Anda menggunakan injeksi Envoy otomatis dengan Google Kubernetes Engine (GKE), instal ulang injector sidecar di cluster GKE yang Anda gunakan dengan Cloud Service Mesh. Saat Pod baru dibuat, proxy sidecar Envoy yang mendukung xDS v3 akan otomatis dimasukkan bersama Pod workload Anda.
Jika Anda menggunakan injeksi sidecar manual di GKE, deploy ulang proxy sidecar di setiap cluster GKE.
Ada dua langkah dalam proses migrasi:
Pastikan versi gRPC yang Anda gunakan mendukung xDS v3. Untuk informasi selengkapnya, lihat fitur xDS di gRPC.
Update konfigurasi bootstrap menggunakan langkah-langkah berikut:
- Di kolom
"xds_servers"
, tambahkan"server_features": ["xds_v3"]
seperti yang ditunjukkan dalam contoh file bootstrap ini. ID node harus dalam format berikut seperti yang ditunjukkan dalam contoh sebelumnya:
"projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
- Di kolom
Setelah Anda membuat perubahan sebelumnya pada aplikasi, build dan deploy ulang aplikasi.
Perubahan sebelumnya pada konfigurasi bootstrap tidak memengaruhi versi gRPC yang tidak mendukung xDS v3. Selain itu, jika perubahan sebelumnya tidak ada dalam konfigurasi bootstrap, versi gRPC yang mendukung xDS v3 akan menggunakan xDS v2.
Untuk memudahkan Anda, Anda dapat menggunakan generator bootstrap gRPC Cloud Service Mesh versi 0.16.0 atau yang lebih baru untuk membuat konfigurasi bootstrap yang kompatibel dengan xDS v3.
Memverifikasi bahwa klien Cloud Service Mesh menggunakan xDS v3
Untuk memeriksa konfigurasi yang dihasilkan Cloud Service Mesh untuk kliennya, Anda dapat menggunakan alat status klien. Alat ini menyatakan apakah konfigurasinya adalah xDS v2 atau xDS v3.
Langkah selanjutnya
- Untuk menemukan informasi pemecahan masalah Cloud Service Mesh umum, lihat Memecahkan masalah deployment Envoy.
- Untuk mengatasi masalah konfigurasi saat men-deploy layanan gRPC tanpa proxy, lihat Memecahkan masalah deployment gRPC tanpa proxy.