Riferimento all'API Cloud Run

Questa pagina fornisce un riferimento per le API utilizzate per configurare Service Mesh per i carichi di lavoro 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 supporto 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
gateway Stringa [] Se i gateway includono un "external-mesh", il servizio virtuale si applica solo ai carichi di lavoro non GKE.

Se viene specificato "mesh" insieme a "external-mesh", il servizio virtuale verrà applicato sia ai carichi di lavoro non GKE che a quelli GKE.
exportTo string Poiché 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 con "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 con "mesh" o gateway e 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 con "mesh" o i gateway continueranno a funzionare come previsto per i carichi di lavoro GKE.
httpRoute.HTTPMatchRequest.Gateways stringa[] Verrà ignorato per i servizi virtuali "external-mesh".

Tuttavia, continueranno a funzionare per i servizi virtuali con "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 con "mesh" o i gateway continueranno a funzionare come previsto per i carichi di lavoro GKE.
tcp tcpRoute[] Verrà ignorato per il servizio virtuale mesh esterno.

Tuttavia, continueranno a funzionare per i servizi virtuali con "mesh" o i gateway continueranno a funzionare come previsto per i carichi di lavoro GKE.

mTLS automatico e denominazione sicura di Istio

Attualmente, Cloud Service Mesh supporta MutualTLS Istio automatico e Secure Naming per le richieste tra i servizi GKE.

Per la versione di anteprima, i carichi di lavoro non GKE che comunicano con i carichi di lavoro/servizi GKE non utilizzeranno mTLS automatico di Istio né Secure Naming. Il traffico sarà in testo normale. Assicurati che i servizi GKE abbiano un criterio MTLS permissivo (che è quello predefinito dell'API Istio) che accetti il traffico MTLS dai carichi di lavoro GKE e il testo non elaborato dai carichi di lavoro 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 di MeshConfig

Cloud Service Mesh supporta l'API di telemetria MeshConfig per abilitare e disattivare Cloud Logging e Cloud Monitoring per i carichi di lavoro GKE. Questo approccio funzionerà in modo simile anche per i carichi di lavoro non GKE.

Regola di destinazione

Per la versione di anteprima, DestinationRule il targeting 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 vedere tutti i servizi virtuali in ambito "external-mesh" senza essere filtrati da alcuna regola di visibilità sidecar.

API Security - Authorization Policy, Request Authentication Policy

Questi limiti non si applicano ai workload non GKE che agiscono come client che inviano traffico in uscita. Continueranno ad applicare i workload GKE che ricevono traffico in entrata.

API GCPBackend

Nome campo Tipo Descrizione del campo
GCPBackend struct Schema per la risorsa GCPBackend.
TypeMeta metav1.TypeMeta Struttura incorporata 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 per la risorsa GCPBackend, che ne definisce lo stato desiderato.
GCPBackendSpec struct Definisce lo stato desiderato di GRPCRoute.
CloudRun *CloudRunBackend (Facoltativo) Definisce un backend in esecuzione in Cloud Run.
CloudRunBackend struct Identifica un servizio in esecuzione su Cloud Run.
Servizio string Nome del servizio CloudRun. Deve essere compreso tra 1 e 49 caratteri, seguire uno schema specifico e essere composto solo da lettere minuscole, trattini e numeri.
Regioni []Region Regioni del servizio CloudRun. È necessario specificare esattamente una regione.
Progetto string ID progetto del servizio Cloud Run. Per impostazione predefinita è lo stesso progetto del cluster GKE. Deve avere una lunghezza compresa tra 6 e 30 caratteri e seguire uno schema specifico. Attualmente, il servizio Cloud Run 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 delle informazioni sui metadati dell'elenco, come la versione della risorsa e il token di continuazione per la paginazione.