Riferimento API Cloud Run

Questa pagina fornisce un riferimento per le API utilizzate per configurare Cloud Service Mesh per i workload 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 backup del cluster Istio di Cloud Service Mesh.

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 Istio di Cloud Service Mesh

API VirtualService

Nome campo Tipo Descrizione campo
gateways String [] Se i gateway includono un "mesh esterno", il servizio virtuale si applica solo ai workload non GKE.

Se viene specificato "mesh" insieme a "mesh esterno", il servizio virtuale si applicherà sia ai workload non GKE sia a quelli GKE.
exportTo string Considerando che i workload non GKE non hanno il concetto di spazio dei nomi, i servizi virtuali "mesh esterno" ignoreranno il campo exportTo.

Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i workload GKE.
httpRoute.HTTPMatchRequest.SourceLabels map<string, string=""></string,> Verranno ignorati per i servizi virtuali "mesh esterno".
Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i workload GKE.
httpRoute.HTTPMatchRequest.SourceNamespace string Verranno ignorati per i servizi virtuali "mesh esterno".

Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i workload GKE.
httpRoute.HTTPMatchRequest.Gateways string[] Verranno ignorati per i servizi virtuali "mesh esterno".

Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i workload GKE.
tls tlsRoute[] Verranno ignorati per i servizi virtuali "mesh esterno".

Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i workload GKE.
tcp tcpRoute[] Verranno ignorati per il servizio virtuale mesh esterno.

Tuttavia, continueranno a funzionare per i servizi virtuali che hanno "mesh" o i gateway continueranno a funzionare come previsto per i workload GKE.

Istio Auto MTLS e denominazione sicura

Al momento, Cloud Service Mesh supporta Istio MutualTLS automatico e la denominazione sicura per le richieste tra i servizi GKE.

Per l'anteprima, i workload non GKE che comunicano con i workload/servizi GKE non utilizzeranno Istio Auto MTLS né la denominazione sicura. Il traffico sarà in testo normale. Assicurati che i servizi GKE abbiano un criterio MTLS permissivo (che è il valore predefinito 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

Telemetria MeshConfig

Cloud Service Mesh supporta l'API di telemetria MeshConfig per abilitare e disabilitare Cloud Logging e Cloud Monitoring per i workload GKE. Funzionerà in modo simile anche per i workload non GKE.

Regola di destinazione

Per l'anteprima, DestinationRule che ha come target i servizi virtuali "mesh esterno" sarà supportato, ad eccezione dei seguenti campi: trafficPolicy.tls

API Sidecar

L'API Sidecar non sarà applicabile ai workload non GKE. I workload non GKE potranno visualizzare tutti i servizi virtuali con ambito "mesh esterno" senza essere filtrati da alcuna regola di visibilità Sidecar.

API di sicurezza: criteri di autorizzazione, criteri di autenticazione delle richieste

Questi non si applicheranno ai workload non GKE che fungono da client che inviano traffico in uscita. Continueranno ad applicarsi ai workload GKE che ricevono traffico in entrata.

API GCPBackend

Nome campo Tipo Descrizione campo
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 Struct incorporato per l'archiviazione di informazioni sui metadati come nome, spazio dei nomi, etichette, annotazioni e così via.
Spec GCPBackendSpec Specifica per la 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.
Name string Nome BackendService. Deve essere compreso tra 1 e 49 caratteri, seguire un pattern specifico e contenere solo lettere minuscole, trattini e numeri.
Location Location Località di BackendService. Deve essere globale per CSM. (regionale/globale per il bilanciamento del carico gestito). Per impostazione predefinita è la stessa località del cluster.
Project 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.
Items []*GCPBackend Array di puntatori GCPBackend che rappresentano l'elenco delle risorse GCPBackend.
ListMeta metav1.ListMeta Struct incorporato per l'archiviazione di informazioni sui metadati dell'elenco, come la versione della risorsa e il token di continuazione per la paginazione.