Menyiapkan referensi lintas project
Dokumen ini hanya berlaku untuk Cloud Service Mesh dengan API pemilihan rute layanan Google Cloud. Jangan gunakan dokumen ini jika Anda mengonfigurasi Cloud Service Mesh dengan Istio API.
Dalam beberapa skenario, konfigurasi mesh layanan mencakup layanan yang berada di project yang berbeda. Misalnya, dalam deployment VPC Bersama atau VPC peer, setiap pemilik project dapat menentukan kumpulan layanannya sendiri untuk menyediakan layanan ini bagi semua project lainnya.
Konfigurasi ini disebut konfigurasi lintas project karena beberapa resource yang ditentukan dalam project yang berbeda digabungkan untuk membentuk satu konfigurasi yang dapat ditayangkan ke proxy Envoy atau klien gRPC tanpa proxy.
Petunjuk berikut menggunakan resource Mesh
dan HTTPRoute
, tetapi
dapat diterapkan ke resource Gateway
dan ke
resource 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 konfigurasi
rute yang terpasang 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 rute mereka 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 seharusnya dapat melampirkan informasi layanannya 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 izinnetworkservices.meshes.use
yang diberikan kepada mereka dapat menambahkan aturan pemilihan rute ke resource
Mesh
ini.
Menyiapkan pemilihan rute di project layanan
Setiap pemilik layanan perlu membuat satu atau beberapa layanan backend dan resource Route
dalam project mereka, mirip dengan contoh dalam
panduan konfigurasi proxy sidecar.
Satu-satunya perbedaan adalah setiap resource HTTPRoute
, GRPCRoute
, atau TCPRoute
harus memiliki URI resource Mesh
project host di kolom meshes
.
Gunakan kode berikut untuk mengisi kolom
meshes
. Anda dapat menggunakan project ID 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 di project layanan
Saat Anda mengonfigurasi klien Cloud Service Mesh yang berada di project layanan, konfigurasi bootstrap harus menentukan nomor project tempat resource Mesh
berada dan nama Mesh
. Persyaratan ini berlaku untuk
proxy Envoy 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 resource
Mesh
atauGateway
, lihat Mencantumkan resourceRoute
. Fitur ini masih dalam Pratinjau.