In diesem Abschnitt wird beschrieben, wie Sie die VM für eingehenden Traffic in Google Distributed Cloud mit Air Gap mithilfe eines externen Load-Balancers öffnen.
VM mit Load-Balancer-Dienst freigeben
Eingehender Traffic wird über einen Dienst vom Typ LoadBalancer an die Linux-VM in Ihrem GDC-Cluster weitergeleitet. Dieser Dienst leitet Traffic von bestimmten Ports an Ihre VM weiter.
Wenn Sie eingehenden Traffic für Ihre Linux-VM aktivieren möchten, fügen Sie in der YAML-Datei, mit der Sie die VM erstellen, das Label ingress.virtualmachines.gpc.gke.io: true hinzu. Dann wird beim Erstellen der VM-Instanz ein LoadBalancer-Dienst für eingehenden Traffic erstellt. Der Dienst wird im selben Namespace wie die VM mit dem Namen VM_NAME-default-ingress erstellt.
VM-Port für eingehenden Traffic öffnen
Sie müssen explizit einen Port auf Ihrer VM öffnen, um eingehenden Traffic zu akzeptieren. Beispiel:
kubectl patch svc VM_NAME-default-ingress -n NAMESPACE_NAME -p \
'{"spec":{"ports":[{"protocol":"TCP","port":PORT, "name": "NAME"}]}}'
Ersetzen Sie die folgenden Platzhalter:
- VM_NAME durch den Namen der VM.
- NAMESPACE_NAME durch den Namespace für den Dienst.
- PORT durch den Port, den Sie auf der VM öffnen möchten.
- NAME durch den Portnamen.
Ausgehender Traffic
Eine VM-Arbeitslast in einem Projekt kann das externe Netzwerk erreichen oder für Dienste in anderen Flotten freigegeben werden.
Ausgehenden Traffic aktivieren (mit EgressNAT)
Aktivieren Sie ein NAT-Gateway für ausgehenden Traffic, um mit vordefinierten IP-Adressen ein nichtflüchtiges deterministisches Routing für ausgehenden Traffic zu ermöglichen. So können Sie spezifischere Firewall- und Routingregeln erstellen.
NetworkPolicy
Sie können die Netzwerkrichtlinie für Containerarbeitslasten auf Projektebene festlegen. Ein Projekt kann sich über mehrere Bare-Metal-Standardnutzercluster erstrecken.
Über SSH eine Verbindung zu einer Linux-VM herstellen
Verwenden Sie die IP-Adresse des Load-Balancer-Dienstes, um über SSH eine Verbindung zu einer Linux-VM herzustellen. Der SSH-Port 22 ist standardmäßig für die VM geöffnet.
IP-Adresse des Load-Balancer-Dienstes abrufen
Die folgende Beispielausgabe zeigt, dass der Load-Balancer-Dienst bereit ist, SSH-Traffic über den TCP-Port 22 weiterzuleiten, wenn die IP-Adresse 10.200.0.102 ist:
kubectl get services VM_NAME-default-ingress -n NAMESPACE_NAME
TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
LoadBalancer 10.106.6.18 10.200.0.102 22:32443/TCP 11s
Verbindung zur VM herstellen
Verwenden Sie die IP-Adresse des Load-Balancer-Dienstes und Ihren SSH-Schlüssel, um eine Verbindung zu Ihrer VM herzustellen. Sie können beispielsweise von Ihrem Bootstrap-Computer aus eine Verbindung herstellen.
ssh -i /path/to/KEY_NAME ubuntu@10.200.0.102
Dateien an eine VM oder von einer VM übertragen
Für die Übertragung von Dateien an Distributed Cloud-VM-Instanzen stehen je nach Betriebssystem Ihrer Workstation und Betriebssystem der Zielinstanz verschiedene Optionen zur Verfügung.
Dateien auf Linux-VMs übertragen
Stellen Sie eine SSH-Verbindung zu einer VM her und verwenden Sie diese Verbindung, um Dateien auf die VM zu übertragen.
Datei von einer VM übertragen
Sie können auch Dateien und Verzeichnisse von einer VM auf Ihre lokale Workstation kopieren.
Verwenden Sie den folgenden Befehl (TBD), um ein Verzeichnis rekursiv von Ihrer VM (Quelle) auf Ihre lokale Workstation (Ziel) zu kopieren.