Bersiap untuk menyiapkan Cloud Service Mesh dengan Envoy
Penyiapan Cloud Service Mesh mencakup fase berikut:
- Memberikan izin, mengaktifkan Traffic Director API, dan—jika Anda menggunakan Compute Engine—mengonfigurasi Cloud DNS.
- Men-deploy aplikasi Anda dengan proxy Envoy.
- Membuat aturan layanan dan {i>routing<i} yang menentukan bagaimana lalu lintas berjalan melalui jaring layanan Anda.
Dokumen ini menjelaskan tahap pertama, dan berlaku saat Anda menggunakan API lama. Fase kedua dan ketiga dibahas dalam panduan khusus platform yang tercantum di 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 pemilihan rute layanan.
Prasyarat
Apakah Anda berencana menggunakan Cloud Service Mesh untuk mengonfigurasi proxy Envoy yang berjalan bersama aplikasi pada instance virtual machine (VM), container, atau kombinasi dari keduanya, Anda harus terlebih dahulu menyelesaikan tugas-tugas berikut:
- Aktifkan penagihan.
- Tentukan cara menginstal Envoy.
- Berikan izin yang diperlukan.
- Aktifkan Traffic Director API untuk project Anda.
- Jika Anda menggunakan Compute Engine, aktifkan Cloud DNS API dan konfigurasikan yang disebut Cloud DNS.
- Pastikan akun layanan yang digunakan oleh proxy Envoy memiliki izin akses untuk mengakses Traffic Director API.
Bagian berikut memberikan petunjuk untuk setiap tugas.
Aktifkan penagihan
Pastikan penagihan diaktifkan untuk project Google Cloud Anda. Untuk selengkapnya informasi, lihat Mengaktifkan, menonaktifkan, atau mengubah penagihan untuk project.
Menentukan cara menginstal Envoy
Cloud Service Mesh memungkinkan Anda menginstal proxy Envoy dan mengelola lapisan infrastruktur ini:
Di Compute Engine, Anda dapat otomatis menambahkan Envoy ke aplikasi yang berjalan di VM Anda. Anda menggunakan {i>template<i} VM yang menginstal Envoy, menghubungkannya ke Cloud Service Mesh, serta mengonfigurasi jaringan VM Anda.
Di Google Kubernetes Engine (GKE), Anda dapat menambahkan proxy file bantuan Envoy secara otomatis ke layanan Anda Pod. Anda menginstal injektor file bantuan Envoy ke cluster Anda, yang menambahkan proxy file bantuan Envoy, menghubungkannya ke Cloud Service Mesh, dan akan mengonfigurasi jaringan container Anda.
Terakhir, Anda juga dapat menggunakan solusi deployment Envoy dari penyedia pihak ketiga dengan Cloud Service Mesh. Salah satu contoh penawaran tersebut adalah GetEnvoy, yang menyediakan pendekatan berbasis pengelola paket untuk menginstal dan memperbarui Proxy Envoy.
Tentang pembuatan versi Envoy
Envoy harus menggunakan versi 1.9.1 atau yang lebih baru agar dapat berfungsi dengan Cloud Service Mesh. Sebaiknya selalu gunakan versi Envoy terbaru untuk memastikan bahwa kerentanan keamanan dapat dimitigasi.
Jika Anda memutuskan untuk menerapkan Envoy dengan menggunakan salah satu metode otomatis kami, kami menangani tugas ini untuk Anda sebagai berikut:
Saat Anda menggunakan deployment Envoy otomatis dengan VM Compute Engine, Envoy yang diinstal adalah versi yang telah kami validasi agar berfungsi dengan Cloud Service Mesh. Saat VM baru dibuat dengan menggunakan template instance, VM menerima versi terbaru yang telah divalidasi. Jika memiliki VM yang berjalan lama, Anda dapat menggunakan update berkelanjutan untuk mengganti VM yang ada dan menggunakan versi terbaru.
Saat Anda menggunakan injektor file bantuan Envoy dengan GKE, Injector dikonfigurasi untuk menggunakan Envoy versi terbaru yang telah divalidasi untuk bekerja dengan Cloud Service Mesh. Saat file bantuan dimasukkan bersama Pod workload ini, pod akan menerima Envoy versi ini. Jika Anda ingin memilih lebih Envoy versi terbaru, update injektor file bantuan Envoy.
Untuk informasi tentang versi Envoy tertentu, lihat Histori versi. Untuk 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 VM
instance dan memodifikasi jaringan untuk
mengonfigurasi Cloud Service Mesh. Jika Anda memiliki
peran proyek
Pemilik atau Editor (roles/owner
atau
roles/editor
) dalam project tempat Anda
mengaktifkan Cloud Service Mesh, Anda otomatis memiliki izin yang tepat.
Jika tidak, Anda harus memiliki semua IAM Compute Engine peran yang ditampilkan dalam tabel berikut. Jika Anda memiliki peran tersebut, 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 ) |
Mengaktifkan Cloud Service Mesh. | Admin Penggunaan Layanan
( roles/serviceusage.serviceUsageAdmin ) |
Membuat komponen jaringan, subnet, dan 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 ) |
Node pool GKE atau VM Compute Engine harus
minta
https://www.googleapis.com/auth/cloud-platform
ruang lingkup proyek. Untuk informasi selengkapnya, lihat
Memecahkan masalah deployment yang menggunakan Envoy.
Dengan xDS v3, berikan akun layanan yang digunakan oleh klien Cloud Service Mesh Envoy
peran roles/trafficdirector.client
.
Mengaktifkan Traffic Director API
Konsol
Di konsol Google Cloud, buka halaman Library API untuk project Anda.
Di bagian Search for APIs & Services, masukkan
Traffic Director
.Di daftar hasil penelusuran, klik Traffic Director API. Jika Anda tidak melihat Traffic Director API tersedia, ini berarti Anda tidak memiliki untuk mengaktifkan Traffic Director API.
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 pada 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
Di konsol Google Cloud, buka halaman Library API untuk project Anda.
Di bagian Search for APIs & Services, masukkan
DNS
.Dalam daftar hasil penelusuran, klik Cloud DNS API. Jika Anda tidak melihat Cloud DNS API tercantum, yang berarti Anda tidak memiliki izin untuk mengaktifkan Cloud DNS API.
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 Create a private zone.
Mengaktifkan akun layanan untuk mengakses Traffic Director API
Saat menyiapkan bidang data dan menghubungkannya ke Cloud Service Mesh,
Klien xDS (misalnya, proxy Envoy) terhubung ke
trafficdirector.googleapis.com
server xDS. Klien xDS ini menyajikan layanan
identitas akun ke server xDS
untuk memastikan bahwa komunikasi antara
bidang data dan bidang kontrol telah diberi otorisasi dengan benar:
- Untuk VM Compute Engine, klien xDS menggunakan layanan akun yang ditetapkan ke VM.
- Untuk GKE, jika
Workload Identity
tidak diaktifkan, Klien xDS menggunakan akun layanan yang ditetapkan ke layanan Node GKE. - Jika
Workload Identity
diaktifkan, klien xDS akan menggunakan layanan Google akun layanan yang terikat dengan akun layanan Kubernetes yang ditetapkan untuk Pod tersebut.
Anda memerlukan izin berikut. Hanya xDS v3 yang didukung. Jika Anda menggunakan xDS v2, Anda harus bermigrasi ke xDS v3. Untuk informasi tentang cara bermigrasi, lihat Bermigrasi dari xDS v2 ke xDS v3.
Saat Anda menggunakan xDS v3, akun layanan yang digunakan oleh klien Anda harus memiliki
trafficdirector.networks.reportMetrics
dan
Izin trafficdirector.networks.getConfigs
. Anda dapat menggunakan IAM
Peran Klien Cloud Service Mesh
(roles/trafficdirector.client
), yang menggabungkan kedua izin.
Konsol
Di Konsol Google Cloud, buka IAM & Admin kami.
Pilih project Anda.
Identifikasi akun layanan yang ingin Anda tambahi peran:
- Jika akun layanan belum ada di daftar Members, akun tersebut tidak memiliki peran apa pun yang ditetapkan. Klik Add dan masukkan alamat email akun layanan.
- Jika sudah ada di daftar Members, akun layanan memiliki peran yang sudah ada. Pilih akun layanan, lalu klik Tab Roles.
Luaskan peran. Untuk akun layanan yang ingin diedit, klik
Edit.Pilih peran Other > Cloud Service Mesh Client.
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
: masukkangcloud config get-value project
SERVICE_ACCOUNT_EMAIL
: email yang terkait dengan akun layanan
Melanjutkan proses penyiapan
Setelah menyelesaikan langkah-langkah prasyarat, Anda dapat mulai menyiapkan jaringan layanan.