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. |