Referensi Cloud Run API
Halaman ini memberikan referensi untuk API yang digunakan untuk mengonfigurasi Service Mesh untuk workload Cloud Run.
Cloud Run V1 API (google.cloud.run.v1)
Service mesh diaktifkan menggunakan anotasi sistem 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> |
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. |