API bidang kontrol xDS
Cloud Service Mesh dan kliennya (proxy Envoy atau gRPC tanpa proxy library) menggunakan xDS open source API untuk bertukar informasi. Saat Anda mengonfigurasi Cloud Service Mesh—misalnya, dengan menggunakan resource seperti aturan penerusan dan layanan backend—Cloud Service Mesh melakukan konversi sumber daya ini ke konfigurasi xDS, yang dibagikan dengan kliennya.
Dukungan versi xDS
Cloud Service Mesh hanya mendukung xDS v3.
Untuk mengetahui versi Envoy dan gRPC yang mendukung xDS v3, lihat Envoy dan Dokumentasi 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:
- Memperbarui izin Identity and Access Management (IAM) yang diberikan ke layanan akun 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 spesifik bervariasi tergantung pada deployment Anda dan akan dijelaskan di bagian berikut.
Memperbarui izin IAM akun layanan
Pastikan akun layanan yang digunakan oleh Cloud Service Mesh Anda
klien (Envoy, proxyless gRPC) memiliki trafficdirector.networks.reportMetrics
dan izin trafficdirector.networks.getConfigs
. Izin ini bersifat
disertakan dalam IAM
Peran Klien Cloud Service Mesh
(roles/trafficdirector.client
).
Jika menggunakan peran IAM khusus, Anda dapat menambahkan izin ini
ke peran khusus. Setelah menambahkan izin, Anda dapat menghapus
Peran Network Viewer (roles/compute.networkViewer
), Admin Jaringan Compute
peran (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 Admin Jaringan (roles/compute.networkAdmin
). Menggunakan
Peran Klien Cloud Service Mesh membatasi izin yang diberikan ke
akun layanan dan menghindari pemberian izin
yang terlalu luas.
Mengupdate aplikasi Anda
Setelah Anda memperbarui izin IAM pada akun layanan, memperbarui aplikasi Anda.
Envoy di Compute Engine
Untuk mengupdate aplikasi Anda di Envoy dengan Compute Engine, lakukan memulai ulang atau mengganti berkelanjutan dari grup instance terkelola. Versi Envoy yang mendukung xDS v3 adalah otomatis ditambahkan ke instance virtual machine (VM) Anda.
Envoy di GKE
Jika Anda menggunakan injeksi Envoy otomatis dengan Google Kubernetes Engine (GKE), menginstal ulang injektor sespan cluster GKE yang Anda gunakan dengan dan Cloud Service Mesh. Saat Pod baru dibuat, proxy file bantuan Envoy yang mendukung xDS v3 akan otomatis diinjeksi bersama Pod workload Anda.
Jika Anda menggunakan injeksi file bantuan manual di GKE, deploy ulang proxy file bantuan di setiap cluster GKE.
gRPC tanpa proxy
Ada dua langkah dalam proses migrasi:
Pastikan versi gRPC yang Anda gunakan mendukung xDS v3. Untuk selengkapnya lihat fitur xDS di gRPC.
Update konfigurasi bootstrap menggunakan langkah-langkah berikut:
- Di kolom
"xds_servers"
, tambahkan"server_features": ["xds_v3"]
sebagai yang ditampilkan di contoh file bootstrap. - ID node harus dalam format berikut seperti yang ditunjukkan pada contoh:
"projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
- Di kolom
Setelah melakukan perubahan sebelumnya pada aplikasi, bangun dan deploy ulang aplikasi tersebut.
Perubahan sebelumnya pada konfigurasi bootstrap tidak memengaruhi versi gRPC yang tidak mendukung xDS v3. Juga, jika perubahan sebelumnya tidak ada dalam konfigurasi bootstrap, maka versi gRPC yang mendukung xDS v3 menggunakan xDS v2.
Untuk memudahkan, Anda dapat menggunakan generator bootstrap Cloud Service Mesh gRPC versi 0.16.0 atau yang lebih baru untuk menghasilkan konfigurasi bootstrap yang kompatibel dengan xDS v3.
Memastikan bahwa klien Cloud Service Mesh menggunakan xDS v3
Untuk memeriksa konfigurasi yang dihasilkan Cloud Service Mesh untuk Anda dapat menggunakan alat status klien. Alat ini menyatakan apakah konfigurasinya adalah xDS v2 atau xDS v3.
Langkah selanjutnya
- Untuk menemukan informasi pemecahan masalah umum Cloud Service Mesh, lihat Memecahkan masalah deployment Envoy.
- Untuk menyelesaikan masalah konfigurasi saat Anda men-deploy layanan gRPC tanpa proxy, lihat Memecahkan masalah deployment gRPC tanpa proxy.