Riferimento API Cloud Run
Questa pagina fornisce un riferimento per le API utilizzate per configurare Cloud Service Mesh per i carichi di lavoro Cloud Run.
API Cloud Run
API v1
Cloud Service Mesh è abilitato utilizzando un'annotazione a livello di revisione. Il valore di questa annotazione è il nome del mesh di supporto del cluster Cloud Service Mesh Istio.
Annotazione | Valore |
---|---|
run.googleapis.com/mesh | projects/PROJECT/locations/global/meshes/MESH |
API v2
Cloud Service Mesh è abilitato utilizzando il campo serviceMesh
nella
risorsa Service
API Cloud Service Mesh Istio
VirtualService API
Nome campo | Tipo | Descrizione campo |
---|---|---|
gateway | Stringa [] | Se i gateway includono "external-mesh", il servizio virtuale si applica solo ai carichi di lavoro non GKE. Se "mesh" è specificato insieme a "external-mesh", il servizio virtuale verrà applicato sia ai carichi di lavoro non GKE che a quelli GKE. |
exportTo | string | Considerando che i workload non GKE non hanno il concetto di spazio dei nomi, i servizi virtuali "external-mesh" ignorano il campo exportTo. Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i carichi di lavoro GKE. |
httpRoute.HTTPMatchRequest.SourceLabels | map<string, string=""></string,> | Verrà ignorato per i servizi virtuali "external-mesh". Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i carichi di lavoro GKE. |
httpRoute.HTTPMatchRequest.SourceNamespace | string | Verrà ignorato per i servizi virtuali "external-mesh". Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i carichi di lavoro GKE. |
httpRoute.HTTPMatchRequest.Gateways | string[] | Verrà ignorato per i servizi virtuali "external-mesh". Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i carichi di lavoro GKE. |
tls | tlsRoute[] | Verrà ignorato per i servizi virtuali "external-mesh". Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i carichi di lavoro GKE. |
tcp | tcpRoute[] | Verrà ignorato per il servizio virtuale external-mesh. Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i carichi di lavoro GKE. |
Istio Auto MTLS e denominazione sicura
Al momento, Cloud Service Mesh supporta Istio MutualTLS automatico e Secure Naming per le richieste tra i servizi GKE.
Per l'anteprima, i carichi di lavoro non GKE che comunicano con i servizi/carichi di lavoro GKE non utilizzeranno Istio Auto MTLS né la denominazione sicura. Il traffico sarà in testo normale. Assicurati che i servizi GKE abbiano una policy MTLS permissiva (che è l'impostazione predefinita dell'API Istio) che accetta il traffico MTLS dai workload GKE e il testo normale dai workload non GKE.
Utilizza il seguente comando per verificare se PeerAuthentication è in modalità permissiva:
# 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
MeshConfig Telemetry
Cloud Service Mesh supporta l'API di telemetria MeshConfig per abilitare e disabilitare Cloud Logging e Cloud Monitoring per i carichi di lavoro GKE. Funziona in modo simile anche per i carichi di lavoro non GKE.
Regola di destinazione
Per l'anteprima, il targeting DestinationRule
dei servizi virtuali "external-mesh"
sarà supportato, ad eccezione dei seguenti campi: trafficPolicy.tls
API Sidecar
L'API Sidecar non sarà applicabile ai workload non GKE. I carichi di lavoro non GKE potranno visualizzare tutti i servizi virtuali con ambito "external-mesh" senza essere filtrati da alcuna regola di visibilità di Sidecar.
API Security - Authorization Policy, Request Authentication Policy
Queste non si applicheranno ai workload non GKE che fungono da client che inviano traffico in uscita. Continueranno ad applicare i workload GKE che ricevono traffico in entrata.
API GCPBackend
Nome campo | Tipo | Field Description |
---|---|---|
GCPBackend | struct | Schema per la risorsa GCPBackend. |
TypeMeta | metav1.TypeMeta | Struct incorporato per l'archiviazione di informazioni sui metadati come tipo e versione dell'API. |
ObjectMeta | metav1.ObjectMeta | Struttura incorporata per l'archiviazione di informazioni sui metadati come nome, spazio dei nomi, etichette, annotazioni e così via. |
Spec | GCPBackendSpec | Specifica della risorsa GCPBackend, che ne definisce lo stato desiderato. |
GCPBackendSpec | struct | Definisce lo stato desiderato di GRPCRoute. |
BackendService | *BackendServiceBackend | Definisce un servizio di backend. (facoltativo). |
BackendServiceBackend | struct | Identifica un servizio di backend. |
Nome | string | Nome di BackendService. Deve essere compreso tra 1 e 49 caratteri, seguire un pattern specifico e contenere solo lettere minuscole, trattini e numeri. |
Località | Località | Posizione di BackendService. Deve essere globale per il CSM. (regionale/globale per il bilanciamento del carico gestito). Il valore predefinito è la stessa località del cluster. |
Progetto | string | ID progetto di BackendService. Per impostazione predefinita, è lo stesso progetto del cluster GKE. Deve essere compreso tra 6 e 30 caratteri e seguire un pattern specifico. Al momento, BackendService e il cluster GKE devono trovarsi nello stesso progetto. |
GCPBackendList | struct | Contiene un elenco di GCPBackend. |
Elementi | []*GCPBackend | Array di puntatori GCPBackend che rappresentano l'elenco delle risorse GCPBackend. |
ListMeta | metav1.ListMeta | Struttura incorporata per l'archiviazione di informazioni sui metadati degli elenchi, come la versione della risorsa e il token di continuazione per la paginazione. |