Bersiap untuk menyiapkan Cloud Service Mesh dengan Envoy

Menyiapkan Cloud Service Mesh mencakup fase berikut:

  1. Memberikan izin, mengaktifkan Traffic Director API, dan—jika Anda menggunakan Compute Engine—mengonfigurasi Cloud DNS.
  2. Men-deploy aplikasi Anda dengan proxy Envoy.
  3. Membuat layanan dan aturan perutean yang menentukan cara traffic berpindah melalui mesh layanan Anda.

Dokumen ini menjelaskan fase pertama, dan berlaku saat Anda menggunakan API lama. Fase kedua dan ketiga dibahas dalam panduan khusus platform yang tercantum dalam Melanjutkan proses penyiapan nanti dalam dokumen ini.

Sebelum membaca panduan ini, pahami ringkasan Cloud Service Mesh. Jika Anda menggunakan API perutean layanan, tinjau ringkasan API perutean layanan.

Prasyarat

Baik Anda berencana menggunakan Cloud Service Mesh untuk mengonfigurasi proxy Envoy yang berjalan bersama aplikasi pada instance virtual machine (VM), container, maupun campuran keduanya, Anda harus menyelesaikan tugas berikut terlebih dahulu:

  1. Aktifkan penagihan.
  2. Tentukan cara menginstal Envoy.
  3. Berikan izin yang diperlukan.
  4. Aktifkan Traffic Director API untuk project Anda.
  5. Jika Anda menggunakan Compute Engine, aktifkan Cloud DNS API dan konfigurasikan Cloud DNS.
  6. Pastikan akun layanan yang digunakan oleh proxy Envoy memiliki izin yang memadai untuk mengakses Traffic Director API.

Bagian berikut ini menyediakan petunjuk untuk setiap tugas.

Aktifkan penagihan

Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan, menonaktifkan, atau mengubah penagihan untuk sebuah project.

Tentukan cara menginstal Envoy

Cloud Service Mesh dapat Anda gunakan untuk menginstal proxy Envoy dan mengelola lapisan infrastruktur ini:

  • Di Compute Engine, Anda dapat otomatis menambahkan Envoy ke aplikasi yang berjalan di VM. Anda menggunakan template VM yang menginstal Envoy, menghubungkannya ke Cloud Service Mesh, dan mengonfigurasi jaringan VM Anda.

  • Di Google Kubernetes Engine (GKE), Anda dapat secara otomatis menambahkan proxy file bantuan Envoy ke Pod layanan Anda. Anda menginstal injektor file bantuan Envoy ke cluster, yang menambahkan proxy file bantuan Envoy, menghubungkannya ke Cloud Service Mesh, dan mengonfigurasi jaringan container Anda.

Terakhir, Anda juga dapat menggunakan solusi deployment Envoy dari penyedia pihak ketiga dengan Cloud Service Mesh. Salah satu contoh penawaran ini adalah GetEnvoy, yang menyediakan pendekatan berbasis pengelola paket untuk menginstal dan mengupdate proxy Envoy Anda.

Tentang pembuatan versi Envoy

Envoy harus versi 1.9.1 atau yang lebih baru agar dapat berfungsi dengan Cloud Service Mesh. Sebaiknya selalu gunakan versi Envoy terbaru untuk memastikan kerentanan keamanan yang diketahui dapat dimitigasi.

Jika Anda memutuskan untuk men-deploy Envoy dengan menggunakan salah satu metode otomatis kami, kami akan menangani tugas ini untuk Anda sebagai berikut:

  • Saat Anda menggunakan deployment Envoy otomatis dengan VM Compute Engine, versi Envoy yang diinstal adalah versi yang telah kami validasi untuk berfungsi dengan Cloud Service Mesh. Saat VM baru dibuat menggunakan template instance, VM tersebut akan menerima versi terbaru yang telah divalidasi. Jika memiliki VM yang berjalan lama, Anda dapat menggunakan update berkelanjutan untuk mengganti VM yang ada dan memilih versi terbaru.

  • Saat Anda menggunakan injektor file bantuan Envoy dengan GKE, injektor akan dikonfigurasi untuk menggunakan Envoy versi terbaru yang telah kami validasi agar dapat berfungsi dengan Cloud Service Mesh. Saat file bantuan dimasukkan bersama Pod workload Anda, file bantuan akan menerima versi Envoy ini. Jika Anda ingin menggunakan envoy versi terbaru, update injektor sespan Envoy.

Untuk informasi tentang versi Envoy tertentu, lihat Histori versi. Untuk mengetahui informasi tentang kerentanan keamanan, lihat Saran Keamanan.

Memberikan izin IAM yang diperlukan

Anda harus memiliki izin Identity and Access Management (IAM) yang memadai untuk membuat instance VM dan mengubah jaringan untuk mengonfigurasi Cloud Service Mesh. Jika Anda memiliki peran Owner atau Editor project (roles/owner atau roles/editor) di project tempat Anda mengaktifkan Cloud Service Mesh, berarti Anda otomatis memiliki izin yang benar.

Jika tidak, Anda harus memiliki semua peran IAM Compute Engine yang ditampilkan dalam tabel berikut. Jika memiliki peran ini, Anda juga memiliki izin terkait, seperti yang dijelaskan dalam dokumentasi IAM Compute Engine.

Tugas Peran yang diperlukan
Menetapkan kebijakan IAM untuk akun layanan. Admin Akun Layanan
(roles/iam.serviceAccountAdmin)
Aktifkan Cloud Service Mesh. Admin Penggunaan Layanan
(roles/serviceusage.serviceUsageAdmin)
Membuat jaringan, subnet, dan komponen load balancer. Admin Jaringan Compute
(roles/compute.networkAdmin)
Menambahkan dan menghapus aturan firewall. Admin Keamanan Compute
(roles/compute.securityAdmin)
Membuat instance. Admin Instance Compute
(roles/compute.instanceAdmin)

Kumpulan node GKE atau VM Compute Engine harus memiliki cakupan https://www.googleapis.com/auth/cloud-platform. Untuk mengetahui informasi selengkapnya, lihat Memecahkan masalah deployment yang menggunakan Envoy.

Dengan xDS v3, berikan peran roles/trafficdirector.client kepada akun layanan yang digunakan oleh klien Cloud Service Mesh Envoy.

Mengaktifkan Traffic Director API

Konsol

  1. Di konsol Google Cloud, buka halaman API Library untuk project Anda.

    Buka Library API

  2. Di kolom Search for APIs & Services, masukkan Traffic Director.

  3. Di daftar hasil penelusuran, klik Traffic Director API. Jika Anda tidak melihat Traffic Director API tercantum, artinya Anda tidak memiliki izin yang diperlukan untuk mengaktifkan Traffic Director API.

  4. Di halaman Traffic Director API, klik Enable.

gcloud

Jalankan perintah berikut:

gcloud services enable trafficdirector.googleapis.com

Mengaktifkan Cloud DNS API dan mengonfigurasi Cloud DNS

Gunakan petunjuk ini jika Anda mengonfigurasi Cloud Service Mesh di Compute Engine. Anda harus mengaktifkan Cloud DNS API dan mengonfigurasi Cloud DNS untuk resolusi nama DNS.

Untuk mengetahui informasi latar belakang tentang Cloud Service Mesh dan resolusi DNS, lihat Cloud Service Mesh dan resolusi nama DNS.

Pertama, gunakan petunjuk berikut untuk mengaktifkan Cloud DNS API.

Konsol

  1. Di konsol Google Cloud, buka halaman API Library untuk project Anda.

    Buka Library API

  2. Di kolom Search for APIs & Services, masukkan DNS.

  3. Dalam daftar hasil penelusuran, klik Cloud DNS API. Jika Cloud DNS API tidak tercantum, berarti Anda tidak memiliki izin yang diperlukan untuk mengaktifkan Cloud DNS API.

  4. Di halaman Cloud DNS API, klik Enable.

gcloud

Jalankan perintah berikut:

gcloud services enable dns.googleapis.com

Selanjutnya, konfigurasikan zona pribadi terkelola Cloud DNS. Gunakan petunjuk di Membuat zona pribadi.

Mengaktifkan akun layanan untuk mengakses Traffic Director API

Saat Anda menyiapkan bidang data dan menghubungkannya ke Cloud Service Mesh, klien xDS Anda (misalnya, proxy Envoy) akan terhubung ke server xDS trafficdirector.googleapis.com. Klien xDS ini menunjukkan identitas akun layanan ke server xDS untuk memastikan bahwa komunikasi antara bidang data dan bidang kontrol diotorisasi dengan benar:

  • Untuk VM Compute Engine, klien xDS menggunakan akun layanan yang ditetapkan ke VM.
  • Untuk GKE, jika Workload Identity tidak diaktifkan, klien xDS akan menggunakan akun layanan yang ditetapkan ke node GKE yang mendasarinya.
  • Jika Workload Identity diaktifkan, klien xDS akan menggunakan akun layanan Google yang terikat dengan akun layanan Kubernetes yang ditetapkan ke Pod.

Anda memerlukan izin berikut, bergantung pada versi klien xDS yang Anda gunakan untuk mengonfigurasi Envoy. Kami sangat menyarankan Anda mengonfigurasi deployment Envoy baru dengan xDS v3, atau bermigrasi ke xDS v3 jika Anda sudah memiliki deployment yang menggunakan xDS v2.

  • Saat Anda menggunakan xDS v3, akun layanan yang digunakan oleh klien Anda harus memiliki izin trafficdirector.networks.reportMetrics dan trafficdirector.networks.getConfigs. Anda dapat menggunakan peran Klien Mesh Cloud Service IAM (roles/trafficdirector.client), yang menggabungkan kedua izin tersebut.

  • Saat Anda menggunakan xDS v2, akun layanan yang digunakan oleh klien Anda harus memiliki izin compute.globalForwardingRules.get IAM level project. Anda juga dapat memberikan izin ini dengan menetapkan peran Compute Network Viewer (roles/compute.networkViewer) ke akun layanan.

Konsol

  1. Di konsol Google Cloud, buka halaman IAM & Admin.

    Buka IAM & Admin

  2. Pilih project Anda.

  3. Identifikasi akun layanan yang ingin Anda tambahi peran:

    • Jika akun layanan belum ada dalam daftar Anggota, akun tersebut tidak memiliki peran yang ditetapkan. Klik Add, lalu masukkan alamat email akun layanan.
    • Jika akun layanan sudah ada dalam daftar Anggota, berarti akun tersebut memiliki peran yang sudah ada. Pilih akun layanan, lalu klik tab Peran.
  4. Luaskan peran. Untuk akun layanan yang ingin Anda edit, klik Edit.

  5. Pilih peran Other > Cloud Service Mesh Client.

  6. Untuk menerapkan peran ke akun layanan, klik Simpan.

gcloud

Jalankan perintah berikut:

gcloud projects add-iam-policy-binding PROJECT \
    --member serviceAccount:SERVICE_ACCOUNT_EMAIL \
    --role=roles/trafficdirector.client

Ganti kode berikut:

  • PROJECT: masukkan gcloud config get-value project
  • SERVICE_ACCOUNT_EMAIL: email yang terkait dengan akun layanan

Lanjutkan proses penyiapan

Setelah menyelesaikan langkah-langkah prasyarat, Anda dapat mulai menyiapkan mesh layanan.