Projektübergreifende Traffic-Netzwerkrichtlinien erstellen

Auf dieser Seite finden Sie eine Anleitung zum Konfigurieren von Netzwerkrichtlinien für projektübergreifenden Traffic in einer Google Distributed Cloud (GDC) Air Gap-Appliance.

Projektübergreifender Traffic bezieht sich auf die Kommunikation zwischen Diensten und Arbeitslasten aus verschiedenen Projektnamespaces, aber innerhalb derselben Organisation.

Dienste und Arbeitslasten in einem Projekt sind standardmäßig von externen Diensten und Arbeitslasten isoliert. Dienste und Arbeitslasten aus verschiedenen Projektnamespaces innerhalb derselben Organisation können jedoch miteinander kommunizieren, indem Sie Netzwerkrichtlinien für projektübergreifenden Traffic anwenden.

Hinweise

Zum Konfigurieren von Netzwerkrichtlinien für Intra-Projekt-Traffic benötigen Sie Folgendes:

Projektübergreifende Traffic-Richtlinie erstellen

Sie können richtlinienübergreifende Traffic-Richtlinien für eingehenden oder ausgehenden Traffic definieren, um die Kommunikation zwischen Projekten zu verwalten.

Firewallregel für eingehenden Traffic für projektübergreifenden Traffic erstellen

Damit Projekt-Workloads oder -Dienste Verbindungen von anderen Workloads in einem anderen Projekt zulassen, müssen Sie eine Firewallregel für eingehenden Traffic konfigurieren, um den eingehenden Traffic anderer Projekt-Workloads zuzulassen.

Führen Sie die folgenden Schritte aus, um eine neue Firewallregel zu erstellen und eingehenden Traffic von Arbeitslasten in einem anderen Projekt zuzulassen:

Console

  1. Rufen Sie in der GDC Console des Projekts, das Sie konfigurieren, im Navigationsmenü Netzwerk > Firewall auf, um die Seite Firewall zu öffnen.
  2. Klicken Sie in der Aktionsleiste auf Erstellen, um eine neue Firewallregel zu erstellen.
  3. Geben Sie auf der Seite Details zur Firewallregel die folgenden Informationen an:

    1. Geben Sie im Feld Name einen gültigen Namen für die Firewallregel ein.
    2. Wählen Sie im Bereich Trafficrichtung die Option Eingehender Traffic aus, um eingehenden Traffic von Arbeitslasten in anderen Projekten zuzulassen.
    3. Wählen Sie im Bereich Ziel eine der folgenden Optionen aus:
      • Alle Nutzerarbeitslasten:Verbindungen zu den Arbeitslasten des Projekts, das Sie konfigurieren, sind zulässig.
      • Dienst:Geben Sie an, dass diese Firewallregel auf einen bestimmten Dienst in dem Projekt ausgerichtet ist, das Sie konfigurieren.
    4. Wenn Ihr Ziel ein Projektdienst ist, wählen Sie den Namen des Dienstes aus der Liste der verfügbaren Dienste im Drop-down-Menü Dienst aus.
    5. Wählen Sie im Bereich Von eine der folgenden beiden Optionen aus:
      • Alle Projekte:Verbindungen von Arbeitslasten in allen Projekten zulassen.
      • Anderes Projekt und Alle Nutzer-Workloads:Verbindungen von Workloads in einem anderen Projekt sind zulässig.
    6. Wenn Sie Arbeitslasten nur aus einem anderen Projekt übertragen möchten, wählen Sie in der Drop-down-Liste Projekt-ID ein Projekt aus, auf das Sie zugreifen können.
    7. Wenn Ihr Ziel alle Nutzerarbeitslasten sind, wählen Sie im Bereich Protokolle und Ports eine der folgenden Optionen aus:
      • Alle zulassen:Verbindungen über ein beliebiges Protokoll oder einen beliebigen Port zulassen.
      • Angegebene Protokolle und Ports:Verbindungen sind nur über die Protokolle und Ports zulässig, die Sie in den entsprechenden Feldern für die Firewallregel für eingehenden Traffic angeben.
  4. Klicken Sie auf der Seite Details zur Firewallregel auf Erstellen.

Sie haben jetzt Verbindungen von anderen Projektarbeitslasten zugelassen. Nachdem Sie die Firewallregel erstellt haben, wird sie in einer Tabelle auf der Seite Firewall angezeigt.

API

Die folgende Richtlinie ermöglicht es Arbeitslasten im Projekt PROJECT_1, Verbindungen von Arbeitslasten im Projekt PROJECT_2 sowie den Rückgabe-Traffic für dieselben Flows zuzulassen. Wenden Sie die Richtlinie an:

kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT_1
  name: allow-inbound-traffic-from-PROJECT_2
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projectSelector:
        projects:
          matchNames:
          - PROJECT_2
EOF

Ersetzen Sie API_SERVER durch den kubeconfig-Pfad des API-Servers. Wenn Sie noch keine kubeconfig-Datei für den API-Server generiert haben, finden Sie weitere Informationen unter Anmelden.

Der vorherige Befehl erlaubt, dass PROJECT_2 zu PROJECT_1 wechselt, aber nicht, dass Verbindungen von PROJECT_1 zu PROJECT_2 initiiert werden. Für Letzteres benötigen Sie eine entsprechende Richtlinie im Projekt PROJECT_2. Wenden Sie die Richtlinie für Gegenseitigkeit an:

kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT_2
  name: allow-inbound-traffic-from-PROJECT_1
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projectSelector:
        projects:
          matchNames:
          - PROJECT_1
EOF

Verbindungen zu und von PROJECT_1 und PROJECT_2 sind jetzt zulässig.