Menyiapkan referensi lintas project
Dokumen ini hanya berlaku untuk Cloud Service Mesh dengan API perutean layanan tertentu. Jangan gunakan dokumen ini jika Anda mengonfigurasi Mesh Layanan Cloud dengan Istio API.
Dalam beberapa skenario, konfigurasi mesh layanan mencakup layanan yang berada di proyek yang berbeda. Misalnya, di VPC Bersama atau VPC yang di-peering setiap pemilik project dapat menentukan set tugasnya sendiri layanan agar layanan ini tersedia untuk semua proyek lainnya.
Konfigurasi ini disebut konfigurasi lintas-project karena beberapa sumber daya yang didefinisikan dalam proyek yang berbeda digabungkan untuk membentuk satu konfigurasi yang dapat disajikan ke proxy Envoy atau gRPC tanpa proxy dengan klien besar.
Petunjuk berikut menggunakan resource Mesh
dan HTTPRoute
, tetapi keduanya
dapat diterapkan ke resource Gateway
dan ke
GRPCRoute
, dan TCPRoute
.
Mengonfigurasi resource Mesh
Tetapkan project sebagai project host tempat Anda mengelola
Resource Mesh
. Setiap akun layanan dengan izin
untuk membuat,
memperbarui, atau menghapus resource Mesh
dalam project ini dapat mengontrol perutean
konfigurasi yang dilampirkan ke resource Mesh
dalam project ini.
Di file
shared-mesh.yaml
, buat spesifikasiMesh
.name: shared-mesh interceptionPort: 15001
Tentukan resource
Mesh
dalam project ini.gcloud network-services meshes import shared-mesh \ --source=shared-mesh.yaml \ --location=global
Tuliskan URI lengkap resource
Mesh
karena pemilik layanan memerlukan URI untuk melampirkan rutenya keMesh
ini./projects/[HOST_PROJECT_NUMBER]/locations/global/meshes/shared-mesh
Berikan izin IAM
networkservices.meshes.use
untukMesh
ini ke akun layanan lintas project yang harus dapat melampirkan informasi layanan Anda keMesh
ini.gcloud projects add-iam-policy-binding [HOST_PROJECT_NUMBER] --member='[HTTP_ROUTE_SERVICE_OWNER_ACCOUNT]' --role='roles/compute.networkAdmin'
Semua pemilik layanan yang memiliki networkservices.meshes.use
izin yang diberikan kepada mereka dapat menambahkan aturan pemilihan rute mereka ke Mesh
ini
resource Anda
Menyiapkan pemilihan rute di project layanan
Setiap pemilik layanan harus membuat satu atau beberapa layanan backend dan Route
dalam project mereka, mirip dengan contoh dalam
panduan konfigurasi proxy bantuan.
Satu-satunya perbedaan adalah setiap HTTPRoute
, GRPCRoute
, atau TCPRoute
resource harus memiliki URI resource Mesh
project host di meshes
kolom tersebut.
Gunakan hal berikut untuk mengisi kolom
meshes
. Anda dapat menggunakan ID project atau nomor project.echo "name: sharedvpc-http-route hostnames: - helloworld-gce meshes: - /projects/[HOST_PROJECT_NUMBER]/locations/global/meshes/shared-mesh rules: - action: destinations: - serviceName: \"url/of/the/service\"" | \ gcloud network-services http-routes import sharedvpc-http-route \ --source=- \ --location=global
Membuat layanan klien dalam project layanan
Saat Anda mengonfigurasi klien Cloud Service Mesh yang berada di suatu layanan
, konfigurasi bootstrap harus mencantumkan nomor proyek tempat
Resource Mesh
berada dan nama Mesh
. Persyaratan ini berlaku untuk
Envoy proxy dan
deployment gRPC tanpa proxy.
Dengan deployment Envoy, gunakan opsi --service-proxy:project-number
.
Langkah selanjutnya
- Untuk informasi tentang cara mencantumkan resource rute yang terkait dengan
Mesh
atauGateway
, lihat Mencantumkan resourceRoute
. Fitur ini sedang dalam Pratinjau.