Cloud Run API-Referenz

Auf dieser Seite finden Sie eine Referenz für die APIs, die zum Konfigurieren von Service Mesh für Cloud Run-Arbeitslasten verwendet werden.

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

Service Mesh wird mit einer Systemanmerkung auf Revisionsebene aktiviert. Der Wert dieser Anmerkung ist der Name des zugrunde liegenden Mesh des Cloud Service Mesh Istio-Clusters.

Anmerkung Wert
run.googleapis.com/mesh projects/PROJECT>/locations/global/meshes/MESH>

Cloud Service Mesh Istio API

VirtualService API

Feldname Typ Feldbeschreibung
Gateways String [] Wenn die Gateways „external-mesh“ enthalten, gilt der virtuelle Dienst nur für Nicht-GKE-Arbeitslasten.

Wenn „mesh“ zusammen mit „external-mesh“ angegeben wird, gilt der virtuelle Dienst sowohl für Nicht-GKE- als auch für GKE-Arbeitslasten.
exportTo String Da es für Nicht-GKE-Arbeitslasten kein Konzept für einen Namespace gibt, wird das Feld „exportTo“ für virtuelle Dienste vom Typ „external-mesh“ ignoriert.

Sie funktionieren jedoch weiterhin für virtuelle Dienste mit „mesh“ oder Gateways funktionieren wie erwartet für GKE-Arbeitslasten.
httpRoute.HTTPMatchRequest.SourceLabels map<string, string=""></string,> Wird für virtuelle Dienste vom Typ „external-mesh“ ignoriert.
Sie funktionieren jedoch weiterhin für virtuelle Dienste mit „mesh“ oder Gateways funktionieren wie erwartet für GKE-Arbeitslasten.
httpRoute.HTTPMatchRequest.SourceNamespace String Wird für virtuelle Dienste vom Typ „external-mesh“ ignoriert.

Sie funktionieren jedoch weiterhin für virtuelle Dienste mit „mesh“ oder Gateways funktionieren wie erwartet für GKE-Arbeitslasten.
httpRoute.HTTPMatchRequest.Gateways String[] Wird für virtuelle Dienste vom Typ „external-mesh“ ignoriert.

Sie funktionieren jedoch weiterhin für virtuelle Dienste mit „mesh“ oder Gateways funktionieren wie erwartet für GKE-Arbeitslasten.
TLS tlsRoute[] Wird für virtuelle Dienste vom Typ „external-mesh“ ignoriert.

Sie funktionieren jedoch weiterhin für virtuelle Dienste mit „mesh“ oder Gateways funktionieren wie erwartet für GKE-Arbeitslasten.
tcp tcpRoute[] Wird für virtuelle Dienste vom Typ „external-mesh“ ignoriert.

Sie funktionieren jedoch weiterhin für virtuelle Dienste mit „mesh“ oder Gateways funktionieren wie erwartet für GKE-Arbeitslasten.

Automatische gegenseitige TLS-Authentifizierung und sichere Benennung in Istio

Derzeit unterstützt Cloud Service Mesh die automatische gegenseitige TLS-Authentifizierung und sichere Benennung in Istio für Anfragen zwischen GKE-Diensten.

In der Vorschau verwenden Nicht-GKE-Arbeitslasten, die mit GKE-Arbeitslasten/‑Diensten kommunizieren, weder die automatische gegenseitige TLS-Authentifizierung noch die sichere Benennung in Istio. Der Traffic wird im Nur-Text-Format übertragen. Achten Sie darauf, dass GKE-Dienste eine permissive MTLS-Richtlinie haben (die Istio API-Standardeinstellung), die MTLS-Traffic von GKE-Arbeitslasten und Nur-Text von Nicht-GKE-Arbeitslasten akzeptiert.

Verwenden Sie den folgenden Befehl, um zu prüfen, ob die PeerAuthentication im permissiven Modus ist:

# 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-Telemetrie

Cloud Service Mesh unterstützt die MeshConfig-Telemetrie-API, um Cloud Logging und Cloud Monitoring für GKE-Arbeitslasten zu aktivieren und zu deaktivieren. Dies funktioniert auch für Nicht-GKE-Arbeitslasten.

Zielregel

In der Vorschau wird DestinationRule unterstützt, die auf die virtuellen Dienste vom Typ „external-mesh“ ausgerichtet ist, mit Ausnahme der folgenden Felder: trafficPolicy.tls

Sidecar API

Die Sidecar API ist nicht auf Nicht-GKE-Arbeitslasten anwendbar. Nicht-GKE-Arbeitslasten können alle virtuellen Dienste sehen, die auf „external-mesh“ beschränkt sind, ohne dass sie durch Sidecar-Sichtbarkeitsregeln gefiltert werden.

Security API – Autorisierungsrichtlinie, Richtlinie zur Anfragenauthentifizierung

Diese gelten nicht für Nicht-GKE-Arbeitslasten, die als Clients fungieren, die ausgehenden Traffic senden. Sie gelten weiterhin für GKE-Arbeitslasten, die eingehenden Traffic empfangen.

GCPBackend API

Feldname Typ Feldbeschreibung
GCPBackend Struktur (in Code: struct) Schema für die GCPBackend-Ressource.
TypeMeta metav1.TypeMeta Eingebettete Struktur zum Speichern von Metadaten wie Art und API-Version.
ObjectMeta metav1.ObjectMeta Eingebettete Struktur zum Speichern von Metadaten wie Name, Namespace, Labels, Anmerkungen usw.
Spezifikation GCPBackendSpec Spezifikation für die GCPBackend-Ressource, die den gewünschten Zustand definiert.
GCPBackendSpec Struktur (in Code: struct) Definiert den gewünschten Zustand der GRPCRoute.
CloudRun *CloudRunBackend Definiert ein in Cloud Run ausgeführten Backend (optional).
CloudRunBackend Struktur (in Code: struct) Identifiziert einen Dienst, der in Cloud Run ausgeführt wird.
Dienst String Name des Cloud Run-Dienstes. Muss zwischen 1 und 49 Zeichen lang sein, einem bestimmten Muster folgen und nur Kleinbuchstaben, Bindestriche und Zahlen enthalten.
Regionen []Region Regionen des Cloud Run-Dienstes. Es muss genau eine Region angegeben werden.
Projekt String Projekt-ID des Cloud Run-Dienstes. Standardmäßig dasselbe Projekt wie der GKE-Cluster. Muss zwischen 6 und 30 Zeichen lang sein und einem bestimmten Muster folgen. Derzeit müssen sich der Cloud Run-Dienst und der GKE-Cluster im selben Projekt befinden.
GCPBackendList Struktur (in Code: struct) Enthält eine Liste von GCPBackends.
Elemente []*GCPBackend Array von GCPBackend-Zeigern, die die Liste der GCPBackend-Ressourcen darstellen.
ListMeta metav1.ListMeta Eingebettete Struktur zum Speichern von Metadaten wie Ressourcenversion und Fortsetzungstoken für die Paginierung.