Referensi Cloud Run API

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

Cloud Run V1 API (google.cloud.run.v1)

Mesh layanan diaktifkan menggunakan anotasi sistem 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>

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 workload non-GKE tidak memiliki konsep namespace, layanan virtual "external-mesh" akan mengabaikan kolom exportTo.

Namun, keduanya 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, keduanya akan terus berfungsi untuk layanan virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk beban kerja GKE.
httpRoute.HTTPMatchRequest.SourceNamespace string Akan diabaikan untuk layanan virtual "external-mesh".

Namun, keduanya 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, keduanya 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, keduanya 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, keduanya akan terus berfungsi untuk layanan virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk workload GKE.

MTLS Otomatis dan Penamaan Aman Istio

Saat ini, Cloud Service Mesh mendukung MutualTLS Istio Otomatis dan Pemberian Nama Aman untuk permintaan antar-Layanan GKE.

Untuk Pratinjau, workload non-GKE yang berkomunikasi dengan workload/layanan GKE tidak akan menggunakan Istio Auto MTLS atau Secure Naming. 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. Hal ini juga akan berfungsi sama untuk workload non-GKE.

Aturan Tujuan

Untuk Pratinjau, DestinationRule yang menargetkan 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 dicakupkan ke "external-mesh" tanpa difilter oleh aturan visibilitas Sidecar.

Security API - Authorization Policy, Request Authentication Policy

Hal ini tidak akan berlaku untuk beban kerja non-GKE yang bertindak sebagai Klien yang mengirim traffic keluar. Cluster tersebut akan terus menerapkan beban kerja GKE yang menerima traffic masuk.

GCPBackend API

Nama Kolom Jenis Deskripsi Kolom
GCPBackend struct Skema untuk resource GCPBackend.
TypeMeta metav1.TypeMeta Struktur tersemat untuk menyimpan informasi metadata seperti jenis dan versi API.
ObjectMeta metav1.ObjectMeta Struktur tersemat untuk menyimpan informasi metadata seperti nama, namespace, label, anotasi, dll.
Spek GCPBackendSpec Spesifikasi untuk resource GCPBackend, yang menentukan status yang diinginkan.
GCPBackendSpec struct Menentukan 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 CloudRun. Harus antara 1 dan 49 karakter, mengikuti pola tertentu, dan hanya terdiri dari huruf kecil, tanda hubung, dan angka.
Region []Region Region layanan CloudRun. Hanya satu wilayah yang harus diberikan.
Project string Project ID layanan CloudRun. Secara default ditetapkan ke 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 GCPBackends.
Item []*GCPBackend Array pointer GCPBackend yang mewakili daftar resource GCPBackend.
ListMeta metav1.ListMeta Struktur tersemat untuk menyimpan informasi metadata daftar seperti versi resource dan token lanjutkan untuk penomoran halaman.