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