VPC Service Controls für Managed Anthos Service Mesh

Managed Anthos Service Mesh unterstützt VPC Service Controls (VPC-SC) als allgemein verfügbares Feature im Rapid Channel für GKE-Cluster mit einem Release ab 1.22.1-gke.100.

Hinweise

Die VPC-SC-Organisationsrichtlinie und der Dienstperimeter werden auf Organisationsebene konfiguriert. Prüfen Sie, ob Ihnen die entsprechenden Rollen für die Verwaltung von VPC-SC erteilt wurden.

VPC-SC-Dienstperimeter einrichten

Erstellen oder aktualisieren Sie Ihren Dienstperimeter:

  1. Fügen Sie dem Dienstperimeter Ihre Projekte und Ihr Flottenprojekt hinzu. Ein Service Mesh, das auf mehrere VPC-SC-Perimeter verteilt ist, wird nicht unterstützt.

  2. Fügen Sie dem Dienstperimeter eingeschränkte Dienste hinzu.

    Sie müssen bestimmte Dienste zu den Listen der zulässigen und eingeschränkten Dienste im Dienstperimeter hinzufügen, damit Ihr Anthos Service Mesh-Cluster darauf zugreifen kann. Der Zugriff auf diese Dienste wird auch über das VPC-Netzwerk (Virtual Private Cloud) Ihres Clusters eingeschränkt.

    Wenn diese Dienste nicht hinzugefügt werden, kann die Installation von Anthos Service Mesh fehlschlagen oder nicht ordnungsgemäß funktionieren. Wenn Sie beispielsweise die Mesh Configuration API nicht dem Dienstperimeter hinzufügen, schlägt die Installation fehl und die Arbeitslasten empfangen ihre Envoy-Konfiguration nicht von der verwalteten Steuerungsebene.

    Console

    1. Zum Bearbeiten des Perimeters befolgen Sie die Schritte unter Dienstperimeter aktualisieren.
    2. Klicken Sie auf die Seite VPC-Dienstperimeter bearbeiten.
    3. Klicken Sie unter Eingeschränkte Dienste, zu schützende Dienste auf Dienste hinzufügen.
    4. Klicken Sie im Dialogfeld Geben Sie Dienste an, die eingeschränkt werden sollen auf Filter-Dienste und geben Sie Mesh Configuration API ein.
    5. Klicken Sie das Kästchen des Dienstes an.
    6. Klicken Sie auf Add Mesh Configuration API.
    7. Wiederholen Sie die Schritte c bis f, um Folgendes hinzuzufügen:
      • Cloud Service Mesh Certificate Authority API
      • GKE Hub API
      • Cloud IAM API
      • Cloud Monitoring API
      • Cloud Trace API
      • Cloud Monitoring API
      • Google Cloud Resource Manager API
      • Cloud Run API
      • Google Compute Engine API
      • Google Container Registry API
      • Artifact Registry API
      • Google Cloud Storage API
    8. Klicken Sie auf Speichern.

    gcloud

    Verwenden Sie zum Aktualisieren der Liste der eingeschränkten Dienste den Befehl update und geben Sie die hinzuzufügenden Dienste als durch Kommas getrennte Liste an:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
      --add-restricted-services=meshconfig.googleapis.com,meshca.googleapis.com,gkehub.googleapis.com,iam.googleapis.com,monitoring.googleapis.com,cloudtrace.googleapis.com,monitoring.googleapis.com,cloudresourcemanager.googleapis.com,run.googleapis.com,compute.googleapis.com,containerregistry.googleapis.com,artifactregistry.googleapis.com,storage.googleapis.com \
      --policy=POLICY_NAME

    Wobei:

    • PERIMETER_NAME ist der Name des Dienstperimeters, den Sie aktualisieren möchten.

    • POLICY_NAME ist der numerische Name der Zugriffsrichtlinie Ihrer Organisation. Beispiel: 330193482019.

  3. Klicken Sie auf Über VPC zugängliche Dienste und legen Sie sie auf "Alle eingeschränkten Dienste" fest, sodass in dem obigen Schritt eingeschränkte Dienste weiterhin innerhalb des VPC-SC-Perimeters zugänglich sind.

  4. Wenn Sie Anthos Service Mesh nicht aus einem perimeterinternen Netzwerk installieren, fügen Sie eine Regel für eingehenden Traffic hinzu, damit die Identität, die den Befehl asmcli ausführt, Zugriff auf den Dienstperimeter hat.

    Weitere Informationen finden Sie unter Dienstperimeter aktualisieren.

Verwaltetes Anthos Service Mesh in einem VPC-SC-Perimeter installieren

Führen Sie die Schritte auf der Seite Verwaltetes Anthos Service Mesh konfigurieren aus. Prüfen Sie, ob die Steuerungsebene erfolgreich bereitgestellt wurde und VPC-SC-bezogene Fehler vorliegen.

Fehlerbehebung

Cluster kann nicht mit dem neuesten GKE-Image 1.22 erstellt werden

Es gibt ein bekanntes Problem, das die Erstellung eines Clusters mit dem neuesten 1.22-Image in einer VPC-SC-Umgebung verhindert. Sie können dieses Problem umgehen, indem Sie diesen Cluster zuerst mit dem Standard-GKE Channel-Image erstellen und dann das Image aktualisieren:

gcloud container clusters create CLUSTER \
  --region REGION \
  --release-channel=rapid \
  --workload-pool=PROJECT_ID.svc.id.goog \
  --project PROJECT_ID
gcloud container clusters upgrade CLUSTER \
  --region REGION \
  --master --cluster-version 1.22 \
  --project PROJECT_ID

Container können ihre Images nicht herunterladen.

Das kann passieren, wenn sich die Images außerhalb des Dienstperimeters befinden. Verschieben Sie die Images entweder in einen Bucket innerhalb des Perimeters oder aktualisieren Sie den Perimeter, um eine Regel für ausgehenden Traffic hinzuzufügen. Typischerweise kann die Regel für ausgehenden Traffic ausgewählten Identitäten Zugriff auf die Container Registry API, Artifact Registry API und Cloud Storage API gewähren.

Im Feld "Status" der ControlPlaneRevision-CRD werden VPC-SC-Fehler angezeigt.

Führen Sie diesen Befehl aus, um weitere Informationen zum Fehler zu erhalten:

gcloud logging read --project=PROJECT_ID \
'protoPayload.metadata.@type=type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata'

Wobei:

  • PROJECT_ID ist die Projekt-ID des Projekts, in dem Fehler auftreten.