Auf dieser Seite werden die Maßnahmen beschrieben, die Sie für die ausgehende Konnektivität für eine VM oder einen Pod in einem Projekt ergreifen müssen, damit Arbeitslasten die Organisation verlassen können. In der Anleitung wird beschrieben, wie Sie Bereitstellungen 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-Gap, dass Arbeitslasten in einem Projekt die Organisation verlassen. Workloads können die Organisation verlassen, wenn Ihr Plattformadministrator den Schutz vor Daten-Exfiltration für das Projekt deaktiviert hat. Zusätzlich zum Deaktivieren des Schutzes vor Datenexfiltration muss der Application Operator (AO) dem Pod-Arbeitslast das Label egress.networking.gke.io/enabled: true
hinzufügen, um die Egress-Konnektivität für diesen Pod zu aktivieren. Wenn Sie eine bekannte IP-Adresse für das Projekt zuweisen und verwenden, wird eine Quell-NAT (Network Address Translation) für den ausgehenden Traffic der Organisation durchgeführt.
Sie können die ausgehende Konnektivität 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 Egress-Konnektivität konfigurieren möchten, müssen Sie zuerst dafür sorgen, dass der Schutz vor Datenexfiltration für das Projekt deaktiviert ist. Achten Sie dann darauf, dass dem Pod das Label egress.networking.gke.io/enabled: true
hinzugefügt wird. Wenn Sie ein Konstrukt auf 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 ein Deployment
aus seiner Manifestdatei erstellt wird. 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 Container-Arbeitslasten bereitstellen.DEPLOYMENT_NAME
: Die kubeconfig-Datei für den Nutzercluster, in dem Sie Containerarbeitslasten bereitstellen.APP_NAME
: Der Name der Anwendung, die in der Bereitstellung ausgeführt werden soll.NUMBER_OF_REPLICAS
: die Anzahl der repliziertenPod
-Objekte, die vom Deployment verwaltet werden.CONTAINER_NAME
: der Name des Containers.CONTAINER_IMAGE
ist 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 ausgehende Verbindungen konfigurieren möchten, können Sie die GDC-Konsole 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 im Abschnitt Mit VMs verbinden unter Externen Zugriff aktivieren.