Referensi Cloud Run API

Halaman ini memberikan referensi untuk API yang digunakan untuk mengonfigurasi Cloud Service Mesh untuk beban kerja Cloud Run.

Cloud Run API

v1 API

Cloud Service Mesh diaktifkan menggunakan Anotasi tingkat revisi. Nilai anotasi ini adalah nama mesh pendukung cluster Istio Cloud Service Mesh.

Anotasi Nilai
run.googleapis.com/mesh projects/PROJECT/locations/global/meshes/MESH

v2 API

Cloud Service Mesh diaktifkan menggunakan kolom serviceMesh di resource Service

Cloud Service Mesh Istio API

VirtualService API

Nama Kolom Jenis Deskripsi Kolom
gateway String [] Jika gateway menyertakan "external-mesh", layanan virtual hanya berlaku untuk workload non-GKE.

Jika "mesh" ditentukan bersama dengan "external-mesh", layanan virtual akan berlaku untuk workload non-GKE dan GKE.
exportTo string Mengingat bahwa beban kerja non-GKE tidak memiliki konsep namespace, layanan virtual "external-mesh" akan mengabaikan kolom exportTo.

Namun, layanan ini akan terus berfungsi untuk layanan virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk workload GKE.
httpRoute.HTTPMatchRequest.SourceLabels map<string, string=""></string,> Akan diabaikan untuk layanan virtual "external-mesh".
Namun, layanan ini akan terus berfungsi untuk layanan virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk workload GKE.
httpRoute.HTTPMatchRequest.SourceNamespace string Akan diabaikan untuk layanan virtual "external-mesh".

Namun, layanan ini akan terus berfungsi untuk layanan virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk workload GKE.
httpRoute.HTTPMatchRequest.Gateways string[] Akan diabaikan untuk layanan virtual "external-mesh".

Namun, layanan ini akan terus berfungsi untuk layanan virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk workload GKE.
tls tlsRoute[] Akan diabaikan untuk layanan virtual "external-mesh".

Namun, layanan ini akan terus berfungsi untuk layanan virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk workload GKE.
tcp tcpRoute[] Akan diabaikan untuk layanan virtual mesh eksternal.

Namun, layanan ini akan terus berfungsi untuk layanan virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk workload GKE.

MTLS Otomatis Istio dan Penamaan Aman

Saat ini, Cloud Service Mesh mendukung Mutual TLS Istio Otomatis dan Penamaan Aman untuk permintaan antara Layanan GKE.

Untuk Pratinjau, workload non-GKE yang berkomunikasi dengan workload/layanan GKE tidak akan menggunakan mTLS Otomatis Istio maupun Penamaan Aman. Traffic akan berupa teks biasa. Pastikan Layanan GKE memiliki kebijakan MTLS yang permisif (yang merupakan default Istio API) yang menerima traffic MTLS dari workload GKE dan teks biasa dari workload non-GKE.

Gunakan perintah berikut untuk memeriksa apakah PeerAuthentication dalam mode permisif:

# list PeerAuthentication resources in a namespace
# If no PeerAuthentication resource exists in the namespace, 
# then it's PERMISSIVE mode (Istio API default)
kubectl get PeerAuthentication -n $NAMESPACE

# for each of the above run the following command
kubectl get PeerAuthentication $PEER-AUTHN -n $NAMESPACE

# Expected Output is as follows:
# MTLS Mode must be PERMISSIVE.
# If the output says STRICT, then please update the policy to PERMISSIVE.
apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
  name: $PEER-AUTHN
  namespace: $NAMESPACE
spec:
  mtls:
    mode: PERMISSIVE

Telemetri MeshConfig

Cloud Service Mesh mendukung API telemetri MeshConfig untuk mengaktifkan dan menonaktifkan Cloud Logging dan Cloud Monitoring untuk workload GKE. Cara kerjanya juga akan serupa untuk workload non-GKE.

Aturan Tujuan

Untuk Pratinjau, penargetan DestinationRule layanan virtual "external-mesh" akan didukung, kecuali kolom berikut: trafficPolicy.tls

Sidecar API

Sidecar API tidak akan berlaku untuk workload non-GKE. Workload non-GKE akan dapat melihat semua layanan virtual yang dicakup ke "external-mesh" tanpa difilter oleh aturan visibilitas Sidecar.

Security API - Authorization Policy, Request Authentication Policy

Kebijakan ini tidak akan berlaku untuk beban kerja non-GKE yang bertindak sebagai Klien yang mengirim traffic keluar. Kebijakan ini akan terus diterapkan pada workload GKE yang menerima traffic masuk.

GCPBackend API

Nama Kolom Jenis Deskripsi Kolom
GCPBackend struct Skema untuk resource GCPBackend.
TypeMeta metav1.TypeMeta Struct sematan untuk menyimpan informasi metadata seperti jenis dan versi API.
ObjectMeta metav1.ObjectMeta Struktur sematan untuk menyimpan informasi metadata seperti nama, namespace, label, anotasi, dll.
Spek GCPBackendSpec Spesifikasi untuk resource GCPBackend, yang menentukan status yang diinginkan.
GCPBackendSpec struct Mendefinisikan status GRPCRoute yang diinginkan.
CloudRun *CloudRunBackend Menentukan backend yang berjalan di CloudRun (opsional).
CloudRunBackend struct Mengidentifikasi layanan yang berjalan di Cloud Run.
Layanan string Nama layanan Cloud Run. Harus terdiri dari 1 hingga 49 karakter, mengikuti pola tertentu, dan hanya terdiri dari huruf kecil, tanda hubung, dan angka.
Region []Wilayah Region layanan CloudRun. Tepatnya satu wilayah harus diberikan.
Project string Project ID layanan CloudRun. Secara default, project yang sama dengan cluster GKE. Harus terdiri dari 6 hingga 30 karakter dan mengikuti pola tertentu. Saat ini, Layanan Cloud Run dan Cluster GKE harus berada dalam project yang sama.
GCPBackendList struct Berisi daftar GCPBackend.
Item []*GCPBackend Array pointer GCPBackend yang merepresentasikan daftar resource GCPBackend.
ListMeta metav1.ListMeta Struktur sematan untuk menyimpan informasi metadata daftar seperti versi resource dan token lanjutan untuk penomoran halaman.