Ausgehenden Traffic von Arbeitslasten verwalten

Auf dieser Seite werden die Aktionen zur Konfiguration der Konnektivität für ausgehenden Traffic beschrieben, die Sie für eine VM oder einen Pod in einem Projekt ausführen müssen, damit Arbeitslasten die Organisation verlassen können. In der Anleitung wird gezeigt, wie Sie Deployments ein erforderliches Label hinzufügen, um ausgehenden Traffic explizit zu aktivieren und Arbeitslasten die Kommunikation außerhalb der Organisation zu ermöglichen.

Standardmäßig verhindert Google Distributed Cloud (GDC) air-gapped, dass Arbeitslasten in einem Projekt die Organisation verlassen. Arbeitslasten können die Organisation verlassen, wenn Ihr Plattformadministrator den Schutz vor Datenexfiltration für das Projekt deaktiviert hat. Zusätzlich zum Deaktivieren des Schutzes vor Datenexfiltration muss der Anwendungsoperator das Label egress.networking.gke.io/enabled: true zur Pod-Arbeitslast hinzufügen, um die Konnektivität für ausgehenden Traffic für diesen Pod zu aktivieren. Wenn Sie eine bekannte IP-Adresse für das Projekt zuweisen und verwenden, wird eine Quellnetzwerkadressübersetzung (NAT) für den ausgehenden Traffic aus der Organisation durchgeführt.

Sie können die Konnektivität für ausgehenden Traffic von Arbeitslasten in einem Pod oder einer VM verwalten.

Ausgehenden Traffic von Arbeitslasten in einem Pod verwalten

Wenn Sie Arbeitslasten in einem Pod für die Konnektivität für ausgehenden Traffic konfigurieren möchten, müssen Sie zuerst sicherstellen, dass der Schutz vor Datenexfiltration für das Projekt deaktiviert ist. Achten Sie dann darauf, dass das Label egress.networking.gke.io/enabled: true zum Pod hinzugefügt wird. Wenn Sie ein Konstrukt höherer Ebene wie Deployment oder Daemonset verwenden, um Gruppen von Pods zu verwalten, müssen Sie das Pod-Label in diesen Spezifikationen konfigurieren.

Im folgenden Beispiel wird gezeigt, wie Sie ein Deployment aus der Manifestdatei erstellen. Die Beispieldatei enthält den Wert egress.networking.gke.io/enabled: true im Feld labels, um ausgehenden Traffic aus dem Projekt explizit zu aktivieren. Dieses Label wird jedem Pod im Deployment hinzugefügt und ermöglicht es Arbeitslasten in den Pods, die Organisation zu verlassen.

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG \
    apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: DEPLOYMENT_NAME
spec:
  replicas: NUMBER_OF_REPLICAS
  selector:
    matchLabels:
      run: APP_NAME
  template:
    metadata:
      labels: # The labels given to each pod in the deployment, which are used
              # to manage all pods in the deployment.
        run: APP_NAME
        egress.networking.gke.io/enabled: true
    spec: # The pod specification, which defines how each pod runs in the deployment.
      containers:
      - name: CONTAINER_NAME
        image: CONTAINER_IMAGE
EOF

Ersetzen Sie Folgendes:

  • USER_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Nutzercluster, in dem Sie Containerarbeitslasten bereitstellen.

  • DEPLOYMENT_NAME: Die kubeconfig-Datei für den Nutzercluster, in dem Sie Containerarbeitslasten bereitstellen.

  • APP_NAME: Der Name der Anwendung, die im Deployment ausgeführt werden soll.

  • NUMBER_OF_REPLICAS: Die Anzahl der replizierten Pod-Objekte, die vom Deployment verwaltet werden.

  • CONTAINER_NAME: Der Name des Containers.

  • CONTAINER_IMAGE: Der Name des Container-Images. Sie müssen den Container Registry-Pfad und die Version des Images angeben, z. B. REGISTRY_PATH/hello-app:1.0.

Beispiel:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      run: my-app
  template:
    metadata:
      labels:
        run: my-app
        egress.networking.gke.io/enabled: true
    spec:
      containers:
      - name: hello-app
        image: REGISTRY_PATH/hello-app:1.0

Ausgehenden Traffic von Arbeitslasten in einer VM verwalten

Wenn Sie Arbeitslasten in einer VM für die Konnektivität für ausgehenden Traffic konfigurieren möchten, können Sie die GDC Console für die VM-Konfiguration verwenden oder eine VirtualMachineExternalAccess-Ressource erstellen. Informationen zum Aktivieren einer VM mit externem Zugriff für die Datenübertragung finden Sie unter Externen Zugriff aktivieren im Abschnitt Verbindung zu VMs herstellen.