Riferimento API Cloud Run

Questa pagina fornisce un riferimento per le API utilizzate per configurare Service Mesh per i workload Cloud Run.

API Cloud Run V1 (google.cloud.run.v1)

Il mesh di servizi è abilitato utilizzando un'annotazione di sistema 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 Istio di Cloud Service Mesh

API VirtualService

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

Se viene specificato "mesh" insieme a "external-mesh", 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 "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 workload GKE.
httpRoute.HTTPMatchRequest.SourceLabels map<string, string=""></string,> Verranno ignorati 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 workload GKE.
httpRoute.HTTPMatchRequest.SourceNamespace string Verranno ignorati 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 workload GKE.
httpRoute.HTTPMatchRequest.Gateways string[] Verranno ignorati 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 workload GKE.
tls tlsRoute[] Verranno ignorati 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 workload GKE.
tcp tcpRoute[] Verranno ignorati 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 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 attivare e disattivare 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 "external-mesh" 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 "external-mesh" 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.
CloudRun *CloudRunBackend Definisce un backend in esecuzione in Cloud Run (facoltativo).
CloudRunBackend struct Identifica un servizio in esecuzione su Cloud Run.
Service string Nome servizio Cloud Run. Deve contenere da 1 a 49 caratteri, seguire un pattern specifico e contenere solo lettere minuscole, trattini e numeri.
Regions []Region Regioni del servizio Cloud Run. Deve essere fornita esattamente una regione.
Project string ID progetto del servizio Cloud Run. Per impostazione predefinita, è lo stesso progetto del cluster GKE. Deve contenere da 6 a 30 caratteri e seguire un pattern specifico. Al momento, il servizio Cloud Run 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.