Bersiap untuk menyiapkan Traffic Director dengan layanan gRPC tanpa proxy
Menyiapkan Traffic Director mencakup beberapa tahap. Dokumen ini menjelaskan fase pertama: petunjuk untuk mempersiapkan konfigurasi Traffic Director dengan aplikasi gRPC tanpa proxy. Dokumen ini berlaku, baik Anda menggunakan API lama maupun API pemilihan rute layanan baru, yang masih dalam versi pratinjau. Fase lainnya akan dibahas dalam panduan khusus platform yang tercantum dalam Melanjutkan proses penyiapan nanti dalam dokumen ini.
Sebelum membaca panduan ini, pahami dokumen berikut, yang memberikan ringkasan tentang penggunaan Traffic Director dengan aplikasi gRPC tanpa proxy:
- Ringkasan Traffic Director
- Ringkasan Traffic Director dengan layanan gRPC tanpa proxy
- Ringkasan API pemilihan rute layanan baru Traffic Director
Prasyarat
Siapkan lingkungan Anda dengan menyelesaikan tugas-tugas berikut:
- Aktifkan penagihan.
- Berikan izin yang diperlukan.
- Aktifkan Traffic Director API untuk project Anda.
- Pastikan akun layanan 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.
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 tepat.
Jika tidak, Anda harus memiliki semua peran IAM yang ditampilkan 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 ) |
Membuat dan memodifikasi cluster GKE, jika menggunakan Pod. | Admin Cluster
( roles/container.clusterAdmin ) |
Mengizinkan akses ke akun layanan. | Pengguna Akun Layanan
( roles/iam.serviceAccountUser |
VM Compute Engine harus memiliki cakupan https://www.googleapis.com/auth/cloud-platform
. Untuk informasi selengkapnya, lihat
Memecahkan masalah deployment yang menggunakan gRPC tanpa proxy.
Dengan xDS v3, berikan peran roles/trafficdirector.client
ke akun layanan yang digunakan oleh klien Traffic Director gRPC.
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 akun layanan untuk mengakses Traffic Director API
Saat Anda menyiapkan bidang data dan menghubungkannya ke Traffic Director, klien xDS akan 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.
Anda memerlukan izin berikut, bergantung pada versi protokol xDS yang digunakan aplikasi gRPC Anda. Versi protokol xDS ditentukan dalam file bootstrap. Kami sangat menyarankan agar Anda mengonfigurasi aplikasi dengan xDS v3, atau bermigrasi ke xDS v3 jika Anda memiliki deployment yang sudah ada yang menggunakan xDS v2.
Saat Anda menggunakan xDS v3, akun layanan yang digunakan oleh aplikasi gRPC 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 aplikasi gRPC 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
Selanjutnya, ikuti keseluruhan prosedur berikut untuk menyiapkan aplikasi gRPC tanpa proxy di mesh layanan:
- Update klien gRPC Anda ke gRPC versi terbaru, dengan patch terbaru.
- Perbarui skema resolver nama gRPC klien Anda saat membuat saluran dan menentukan file bootstrap Traffic Director.
- Mengonfigurasi resource Traffic Director dan Cloud Load Balancing.
Dokumen ini memberikan informasi untuk menyelesaikan dua langkah pertama. Proses konfigurasi yang Anda gunakan untuk langkah 3 bergantung pada apakah deployment Anda menggunakan VM Compute Engine atau Grup endpoint jaringan (NEG) GKE.
Versi dan bahasa gRPC yang didukung
gRPC adalah project open source dan dukungan rilisnya dijelaskan di FAQ gRPC. Sebaiknya gunakan gRPC versi terbaru untuk memastikan kerentanan keamanan yang diketahui telah dimitigasi. Hal ini juga memastikan bahwa aplikasi Anda memiliki akses ke fitur terbaru yang didukung oleh Traffic Director. Fitur mesh layanan yang didukung dalam berbagai implementasi dan versi gRPC tercantum di GitHub. Untuk daftar bahasa dan fitur gRPC yang didukung dengan Traffic Director dan layanan gRPC tanpa proxy, lihat Fitur Traffic Director.
Traffic Director mempertahankan kompatibilitas dengan versi gRPC saat ini dan yang didukung, serta berupaya agar kompatibel dengan versi gRPC yang berusia kurang dari satu tahun, sesuai dengan Persyaratan Layanan Google Cloud Platform.
Mengupdate klien gRPC Anda
Update library gRPC di aplikasi Anda ke versi yang mendukung fitur yang Anda perlukan. Untuk mengetahui detailnya, lihat bagian sebelumnya.
Tambahkan name-resolver xDS sebagai dependensi ke aplikasi gRPC Anda. Persyaratan per bahasa untuk Java dan Go ditampilkan di bagian berikut. Bahasa lainnya tidak memiliki persyaratan tambahan.
Persyaratan Java
Di Java, jika Anda menggunakan Gradle, tambahkan dependensi grpc-xds
ke
file build.gradle
Anda. Ganti LATEST_GRPC_VERSION
dengan gRPC versi terbaru.
dependencies { runtimeOnly 'io.grpc:grpc-xds:LATEST_GRPC_VERSION' }
Jika Anda menggunakan Maven, tambahkan kode berikut ke bagian <dependencies>
di pom.xml. Ganti LATEST_GRPC_VERSION
dengan gRPC versi terbaru.
<dependency> <groupId>io.grpc</groupId> <artifactId>grpc-xds</artifactId> <version>LATEST_GRPC_VERSION</version> <scope>runtime</scope> </dependency>
Persyaratan Go
Jika Anda menggunakan Go, impor paket xds Go.
Menetapkan resolver nama gRPC untuk menggunakan xds
Tetapkan atau ubah aplikasi gRPC Anda untuk menggunakan skema resolusi nama xds
di
URI target, bukan DNS atau skema resolver lainnya. Anda melakukannya dengan
menggunakan awalan xds:///
pada nama target saat membuat saluran gRPC.
Load balancing untuk klien gRPC per saluran.
Sertakan nama layanan yang digunakan dalam URI target dalam
konfigurasi Traffic Director. Misalnya, pada Java, Anda membuat
saluran menggunakan struktur ini, yang nama layanannya adalah helloworld
:
ManagedChannelBuilder.forTarget("xds:///helloworld[:PORT_NUMBER]")
Membuat dan mengonfigurasi file bootstrap
Skema resolver xds
memberi tahu aplikasi gRPC untuk terhubung ke
Traffic Director guna mendapatkan informasi konfigurasi untuk layanan
target. Oleh karena itu, lakukan hal berikut:
- Buat file bootstrap, seperti yang ditunjukkan dalam contoh berikut. File ini memberi tahu gRPC untuk terhubung ke server xDS (Traffic Director) guna mendapatkan konfigurasi untuk layanan tertentu.
- Tentukan variabel lingkungan bernama
GRPC_XDS_BOOTSTRAP
, dengan nama file bootstrap sebagai nilai variabel lingkungan.
Petunjuk penyiapan memiliki contoh yang menunjukkan cara membuat file bootstrap. Untuk memudahkan, Anda dapat menggunakan generator bootstrap Traffic Director gRPC versi terbaru.
File bootstrap yang berisi informasi yang diperlukan untuk terhubung ke Traffic Director harus disertakan bersama aplikasi. Contoh file bootstrap terlihat seperti ini:
{ "xds_servers": [ { "server_uri": "trafficdirector.googleapis.com:443", "channel_creds": [ { "type": "google_default" } ], "server_features": ["xds_v3"] } ], "node": { "id": "projects/123456789012/networks/default/nodes/b7f9c818-fb46-43ca-8662-d3bdbcf7ec18", "metadata": { "TRAFFICDIRECTOR_NETWORK_NAME": "default" }, "locality": { "zone": "us-central1-a" } } }
Tabel berikut menjelaskan kolom dalam file bootstrap.
Kolom | Nilai dan deskripsi |
---|---|
xds_servers |
Daftar server xDS. gRPC hanya menggunakan server pertama dalam daftar. |
server_uri |
Tentukan setidaknya satu. gRPC akan mencoba terhubung hanya ke server xDS
pertama dalam daftar xds_servers . Nilai defaultnya adalah
trafficdirector.googleapis.com:443 . |
channel_creds |
Kredensial untuk digunakan dengan server xDS. |
type |
Gunakan nilai google_default . Untuk informasi selengkapnya tentang
cara memperoleh kredensial, lihat
Mulai menggunakan autentikasi. |
server_features |
Daftar fitur yang didukung oleh server, seperti dukungan xDS v3. Nilai defaultnya kosong. |
node |
Informasi tentang klien yang terhubung ke server xDS. |
id |
projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID Berikan string unik sebagai nilai |
metadata |
Informasi khusus untuk server xDS. |
TRAFFICDIRECTOR_NETWORK_NAME |
Jika kolom kosong atau tidak ditentukan, nilai akan ditetapkan ke
default . |
locality |
Zona Google Cloud tempat klien gRPC berjalan. |
Melanjutkan proses penyiapan
Setelah Anda menyelesaikan prasyarat yang dijelaskan dalam dokumen ini, lanjutkan dengan salah satu dokumen berikut:
- 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.