Referensi Cloud Run API
Halaman ini menyediakan referensi untuk API yang digunakan untuk mengonfigurasi Cloud Service Mesh untuk workload Cloud Run.
Cloud Run API
v1 API
Cloud Service Mesh diaktifkan menggunakan anotasi tingkat Revisi. Nilai anotasi ini adalah nama mesh pendukung cluster Cloud Service Mesh Istio.
| Anotasi | Nilai |
|---|---|
| run.googleapis.com/mesh | projects/PROJECT/locations/global/meshes/MESH |
v2 API
Cloud Service Mesh diaktifkan menggunakan kolom serviceMesh di
Service resource
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 workload non-GKE tidak memiliki konsep namespace, layanan virtual "external-mesh" akan mengabaikan kolom exportTo. Namun, 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 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 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 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 virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk workload GKE. |
| tcp | tcpRoute[] | Akan diabaikan untuk layanan virtual external-mesh. Namun, layanan virtual yang memiliki "mesh" atau gateway akan terus berfungsi seperti yang diharapkan untuk workload GKE. |
Istio Auto MTLS dan Penamaan Aman
Saat ini, Cloud Service Mesh mendukung Istio MutualTLS Otomatis dan Penamaan Aman untuk permintaan antara Layanan GKE.
Untuk Pratinjau, workload non-GKE yang berkomunikasi dengan workload/layanan GKE tidak akan menggunakan Istio Auto MTLS maupun Penamaan Aman. Traffic akan berupa teks biasa. Pastikan Layanan GKE memiliki kebijakan MTLS 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 MeshConfig Telemetry API untuk mengaktifkan dan menonaktifkan Cloud Logging dan Cloud Monitoring untuk workload GKE. Hal ini juga akan berfungsi serupa 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 dicakup ke "external-mesh" tanpa difilter oleh aturan visibilitas Sidecar.
Security API - Kebijakan Otorisasi, Kebijakan Autentikasi Permintaan
Kebijakan ini tidak akan berlaku untuk workload non-GKE yang bertindak sebagai Klien yang mengirim traffic keluar. Kebijakan ini akan terus berlaku untuk workload GKE yang menerima traffic masuk.
GCPBackend API
| Nama Kolom | Jenis | Deskripsi Kolom |
|---|---|---|
| GCPBackend | struct | Skema untuk resource GCPBackend. |
| TypeMeta | metav1.TypeMeta | Struct tersemat untuk menyimpan informasi metadata seperti jenis dan versi API. |
| ObjectMeta | metav1.ObjectMeta | Struct 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 terdiri dari 1 hingga 49 karakter, mengikuti pola tertentu, dan hanya terdiri dari huruf kecil, tanda hubung, dan angka. |
| Region | []Region | Region layanan CloudRun. Tepatnya satu region 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 mewakili daftar resource GCPBackend. |
| ListMeta | metav1.ListMeta | Struct tersemat untuk menyimpan informasi metadata daftar seperti versi resource dan token lanjutan untuk penomoran halaman. |