Bersiap untuk menyiapkan Traffic Director dengan Envoy
Menyiapkan Traffic Director mencakup fase-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 layanan dan aturan pemilihan rute yang menentukan cara traffic melewati mesh layanan Anda.
Dokumen ini menjelaskan fase pertama, dan berlaku baik Anda menggunakan API lama atau API perutean layanan baru yang masih dalam versi pratinjau. 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 Traffic Director. Jika Anda menggunakan API baru, tinjau ringkasan API pemilihan rute layanan baru.
Prasyarat
Baik Anda berencana menggunakan Traffic Director untuk mengonfigurasi proxy Envoy yang berjalan bersama aplikasi pada instance virtual machine (VM), container, atau campuran keduanya, Anda harus menyelesaikan tugas berikut terlebih dahulu:
- Aktifkan penagihan.
- Putuskan cara Anda ingin menginstal Envoy.
- Berikan izin yang diperlukan.
- Aktifkan Traffic Director API untuk project Anda.
- Jika Anda menggunakan Compute Engine, aktifkan Cloud DNS API dan konfigurasikan Cloud DNS.
- Pastikan akun layanan yang digunakan oleh proxy Envoy memiliki izin yang memadai untuk mengakses Traffic Director API.
Bagian berikut memberikan 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 project.
Menentukan cara menginstal Envoy
Traffic Director memudahkan penginstalan proxy Envoy dan mengelola lapisan infrastruktur ini:
Di Compute Engine, Anda dapat otomatis menambahkan Envoy ke aplikasi yang berjalan di VM Anda. Anda menggunakan template VM yang menginstal Envoy, menghubungkannya ke Traffic Director, dan mengonfigurasi jaringan VM Anda.
Di Google Kubernetes Engine (GKE), Anda dapat otomatis menambahkan proxy file bantuan Envoy ke Pod layanan Anda. Anda menginstal injektor file bantuan Envoy ke cluster Anda, yang menambahkan proxy file bantuan Envoy, menghubungkannya ke Traffic Director, dan mengonfigurasi jaringan container Anda.
Terakhir, Anda juga dapat menggunakan solusi deployment Envoy dari penyedia pihak ketiga dengan Traffic Director. Salah satu contoh penawaran tersebut 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 digunakan dengan Traffic Director. Sebaiknya selalu gunakan versi Envoy terbaru untuk memastikan kerentanan keamanan yang diketahui telah dimitigasi.
Jika Anda memutuskan untuk men-deploy Envoy 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 digunakan bersama Traffic Director. Saat VM baru dibuat menggunakan template instance, VM 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, injector akan dikonfigurasi untuk menggunakan Envoy versi terbaru yang telah divalidasi agar dapat digunakan dengan Traffic Director. Saat sidecar dimasukkan bersama Pod workload, versi ini akan diterima Envoy. Jika Anda ingin menggunakan Envoy versi yang lebih baru, update injektor sidecar Envoy.
Untuk mengetahui 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 Pengelolaan Akses dan Identitas (IAM) yang memadai untuk membuat instance VM dan mengubah jaringan untuk mengonfigurasi Traffic Director. Jika Anda memiliki peran Pemilik atau Editor project (roles/owner
atau roles/editor
) dalam project di mana Traffic Director diaktifkan, Anda otomatis memiliki izin yang benar.
Jika tidak, Anda harus menampilkan semua peran IAM Compute Engine dalam tabel berikut. Jika memiliki peran ini, Anda juga memiliki izin yang 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 Traffic Director. | Admin Penggunaan Layanan
( roles/serviceusage.serviceUsageAdmin ) |
Membuat komponen jaringan, subnet, dan load balancer. | Admin Jaringan Compute
( roles/compute.networkAdmin ) |
Tambahkan dan hapus 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, baca bagian Memecahkan masalah deployment yang menggunakan Envoy.
Dengan xDS v3, berikan peran roles/trafficdirector.client
ke akun layanan yang digunakan oleh klien Traffic Director Envoy.
Mengaktifkan Traffic Director API
Konsol
Di konsol Google Cloud, buka halaman API Library untuk project Anda.
Di kolom Search for APIs & Services, masukkan
Traffic Director
.Dalam daftar hasil penelusuran, klik Traffic Director API. Jika Anda tidak melihat Traffic Director API tercantum, berarti Anda tidak memiliki izin yang diperlukan 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 Traffic Director di Compute Engine. Anda harus mengaktifkan Cloud DNS API dan mengonfigurasi resolusi nama Cloud DNS untuk DNS.
Untuk informasi latar belakang tentang Traffic Director dan resolusi DNS, lihat Traffic Director dan resolusi nama DNS.
Pertama, gunakan petunjuk berikut untuk mengaktifkan Cloud DNS API.
Konsol
Di konsol Google Cloud, buka halaman API Library untuk project Anda.
Di kolom Search for APIs & Services, masukkan
DNS
.Dalam daftar hasil penelusuran, klik Cloud DNS API. Jika tidak melihat Cloud DNS API tercantum, berarti Anda tidak memiliki izin yang diperlukan 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 Membuat zona pribadi.
Mengaktifkan akun layanan untuk mengakses Traffic Director API
Saat Anda menyiapkan bidang data dan menghubungkannya ke Traffic Director, klien xDS Anda (misalnya, proxy Envoy) terhubung ke
server xDS trafficdirector.googleapis.com
. Klien xDS ini memberikan identitas
akun layanan ke server xDS untuk memastikan bahwa komunikasi antara
bidang data dan bidang kontrol telah 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 digunakan untuk mengonfigurasi Envoy. Sebaiknya 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
dantrafficdirector.networks.getConfigs
. Anda dapat menggunakan peran Traffic Director Client IAM (roles/trafficdirector.client
), yang menggabungkan kedua izin tersebut.Saat Anda menggunakan xDS v2, akun layanan yang digunakan oleh klien 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
Di Konsol Google Cloud, buka halaman IAM & Admin.
Pilih project Anda.
Identifikasi akun layanan tempat Anda ingin menambahkan 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 di daftar Anggota, akun tersebut memiliki peran yang sudah ada. Pilih akun layanan, lalu klik tab Peran.
Perluas peran. Untuk akun layanan yang ingin Anda edit, klik
Edit.Pilih peran Other > Traffic Director 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 mesh layanan.
- Lanjutkan dengan panduan penyiapan pemilihan rute layanan Traffic Director.
- Lanjutkan dengan panduan penyiapan Traffic Director GKE Kubernetes Gateway API. Perhatikan bahwa fitur Gateway API berada dalam Pratinjau.
- Opsi konfigurasi Traffic Director lanjutan.
- Mengonfigurasi atribut bootstrap Envoy.