Auf dieser Seite erfahren Sie, wie Sie ein globales Subnetz in Google Distributed Cloud (GDC) mit Air Gap erstellen und dieses Subnetz für einen externen Load Balancer (ELB) verwenden.
Mit globalen Subnetzen können Sie Subnetze konfigurieren, die externe Load-Balancing-Vorgänge in mehreren Zonen Ihrer GDC-Organisation verwenden können. Load Balancing bietet die Vorteile einer verbesserten Leistung, Zuverlässigkeit und Verfügbarkeit von Anwendungen und Diensten, da der Netzwerkverkehr auf mehrere Server verteilt wird. Weitere Informationen zu globalen Subnetzen für das Load Balancing finden Sie unter Subnetze für das Load Balancing.
Diese Seite richtet sich an Entwickler in der Gruppe der Anwendungsoperatoren, die das Load Balancing für ihre Organisation verwalten möchten. Weitere Informationen finden Sie unter Zielgruppen für die Dokumentation zu GDC mit Air Gap.
Hinweis
Zum Erstellen eines globalen Subnetzes und zum Konfigurieren für ELBs benötigen Sie Folgendes:
- Sie müssen Inhaber des Projekts sein, für das Sie den Load Balancer konfigurieren. Weitere Informationen finden Sie unter Projekt erstellen.
Die erforderlichen Identitäts- und Zugriffsrollen:
- Bitten Sie Ihren IAM-Admin der Organisation, Ihnen die Rolle „Load Balancer-Administrator“ (
load-balancer-admin) zuzuweisen. - Bitten Sie Ihren IAM-Admin der Organisation, Ihnen die Rolle „Global Load Balancer Admin“ (
global-load-balancer-admin) zuzuweisen. - Bitten Sie Ihren IAM-Admin der Organisation, Ihnen die Rolle „Subnet Organization Admin“ (
subnet-org-admin) zuzuweisen. - Bitten Sie Ihren IAM-Admin der Organisation, Ihnen die Rolle „Subnetz-Projektadministrator“ (
subnet-project-admin) zuzuweisen.
Weitere Informationen finden Sie unter Beschreibungen vordefinierter Rollen.
- Bitten Sie Ihren IAM-Admin der Organisation, Ihnen die Rolle „Load Balancer-Administrator“ (
Übergeordnetes globales Subnetz erstellen
Das übergeordnete globale Subnetz, das Sie in diesem Abschnitt erstellen, dient als IP-Adresspool, aus dem Ihre ELB-IP-Adressen stammen. Das Subnetz muss das Label ipam.gdc.goog/network-segment: data enthalten. Sie können das übergeordnete Subnetz mit dem Feld spec.parentReference.name angeben.
Sie haben zwei Möglichkeiten, den CIDR-Block für dieses übergeordnete Subnetz zu konfigurieren:
- Subnetz mit einer statischen CIDR-Konfiguration erstellen
- Subnetz mit einer dynamischen CIDR-Konfiguration erstellen
Weitere Informationen zum Unterschied zwischen statischen und dynamischen CIDR-Konfigurationen finden Sie unter Statische und dynamische CIDR-Konfiguration.
Subnetz mit einer statischen CIDR-Konfiguration erstellen
Verwenden Sie eine statische CIDR-Konfiguration, wenn Sie eine genaue Kontrolle über Ihren IP-Adressbereich benötigen.
Dieses Subnetz hat den Typ Branch. Weitere Informationen zu den Subnetztypen „Stamm“, „Zweig“ und „Blatt“ finden Sie unter Subnetzhierarchie.
Wenn Sie ein globales übergeordnetes Subnetz mit einer statischen CIDR-Konfiguration erstellen möchten, fügen Sie den gewünschten CIDR-Block dem Feld spec.ipv4Request.cidr hinzu:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/network-segment: data
name: ELB_PARENT_SUBNET_NAME
namespace: platform
spec:
ipv4Request:
cidr: STATIC_CIDR
parentReference:
name: PARENT_NAME
namespace: platform
propagationStrategy: None
type: Branch
EOF
Ersetzen Sie Folgendes:
GLOBAL_API_SERVER: der kubeconfig-Pfad des globalen Verwaltungs-API-Servers. Weitere Informationen finden Sie unter Globale und zonale API-Server. Wenn Sie noch keine kubeconfig-Datei für den API-Server generiert haben, finden Sie weitere Informationen unter Anmelden.ELB_PARENT_SUBNET_NAME: der ausgewählte Name für das globale übergeordnete Subnetz für den ELB.STATIC_CIDR: der spezifische CIDR-Block, den Sie diesem übergeordneten Subnetz zuweisen möchten, z. B.10.0.10.0/27.PARENT_NAME: der Name des vorhandenen übergeordneten Subnetzes, aus dem dieses neue Subnetz erstellt wird.
Wenn Sie dieses Subnetz für die Verwendung mit ELBs konfigurieren möchten, müssen Sie ein Blatt-Subnetz für den ELB erstellen.
Subnetz mit einer dynamischen CIDR-Konfiguration erstellen
Bei der dynamischen CIDR-Konfiguration wird automatisch ein verfügbarer CIDR-Block einer bestimmten Größe aus dem übergeordneten Subnetz zugewiesen. Dies vereinfacht die Verwaltung von IP-Adressen, insbesondere in größeren Umgebungen.
Dieses Subnetz hat den Typ Branch. Weitere Informationen zu den Subnetztypen „Stamm“, „Zweig“ und „Blatt“ finden Sie unter Subnetzhierarchie.
Wenn Sie ein globales übergeordnetes Subnetz mit einer dynamischen CIDR erstellen möchten, konfigurieren Sie das Feld spec.ipv4Request.prefixLength mit der ausgewählten Präfixlänge:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
piVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/network-segment: data
name: ELB_PARENT_SUBNET_NAME
namespace: platform
spec:
ipv4Request:
prefixLength: PREFIX_LENGTH
parentReference:
name: PARENT_NAME
namespace: platform
propagationStrategy: None
type: Branch
EOF
Ersetzen Sie Folgendes:
ELB_PARENT_SUBNET_NAME: der von Ihnen gewählte Name für das übergeordnete ELB-Subnetz, z. B.lb-global-lancer-elb-subnet.STATIC_CIDR: der spezifische CIDR-Block, den Sie verwenden möchten, z. B.10.0.10.0/27. Diese Variable gilt nur für die statische CIDR-Konfiguration.PARENT_NAME: der Name des vorhandenen übergeordneten Subnetzes, aus dem dieses neue Subnetz erstellt wird, z. B.default-vpc-workload-cidr.PREFIX_LENGTH: die ausgewählte Präfixlänge für die dynamisch zugewiesene CIDR, z. B.27. Diese Variable gilt nur für die dynamische CIDR-Konfiguration.
Wenn Sie dieses Subnetz für die Verwendung mit ELBs konfigurieren möchten, müssen Sie ein Blatt-Subnetz für den ELB erstellen.
Blatt-Subnetz für den ELB erstellen
Nachdem Sie das globale übergeordnete Subnetz eingerichtet haben, müssen Sie ein Blattsubnetz erstellen, um dem globalen ELB-Dienst eine einzelne IP-Adresse zuzuweisen. Dieses Blattsubnetz muss den type-Feldwert Leaf haben und sich im selben Projekt-Namespace wie Ihre Load-Balancer-Ressourcen befinden, z. B. ForwardingRule, BackendService und Backend.
So erstellen Sie das Leaf-Subnetz und verknüpfen es mit dem ELB:
Erstellen Sie ein Blattsubnetz mit dem
prefixLength-Wert32, da es eine einzelne IP-Adresse zuweisen soll. Der WertparentReferenceverweist auf das zuvor erstellte übergeordnete globale Subnetz:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/allocation-preference: default ipam.gdc.goog/network-segment: data name: ELB_IP_SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_REF namespace: platform type: Leaf EOFErsetzen Sie Folgendes:
ELB_IP_SUBNET_NAME: der von Ihnen gewählte Name für das Leaf-Subnetz, z. B.lb-project-elb-ip.PROJECT_NAMESPACE: der Kubernetes-Namespace, der Ihrem Projekt entspricht, in dem sich Ihre ELB-Objekte befinden, z. B.lb-project.PARENT_REF: der Name des übergeordneten Subnetzes, aus dem dieses Blattsubnetz seine IP-Adresse bezieht, z. B. das übergeordnete globale Subnetz, das Sie zuvor erstellt haben.
Verbinden Sie das neu erstellte Blattsubnetz, das die zugewiesene IP-Adresse enthält, mit der
ForwardingRuleExternal-Ressource Ihres ELB. Aktualisieren Sie in IhrerForwardingRuleExternal-Ressource das Feldspec.cidrRef.name, um auf den Namen des Blatt-Subnetzes zu verweisen, das Sie im vorherigen Schritt erstellt haben:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ForwardingRuleExternal metadata: name: FRI_NAME namespace: PROJECT_NAMESPACE spec: ports: - port: PORT protocol: PROTOCOL backendServiceRef: name: BES_NAME cidrRef: name: LEAF_SUBNET_NAME EOFErsetzen Sie Folgendes:
FRI_NAME: der von Ihnen gewählte Name für dasForwardingRuleExternal-Objekt, z. B.nginx-elb-static-fr.PORT: die Portnummer, auf der Ihr ELB auf eingehenden Traffic wie80wartet.PROTOCOL: das Netzwerkprotokoll, das Ihr ELB verwendet, z. B.TCPoderUDP.BES_NAME: der Name derBackendService, die mit dieserForwardingRuleExternal-Ressource verknüpft ist, z. B.nginx-bes.LEAF_SUBNET_NAME: Der Name des Blatt-Subnetzes, das Sie im vorherigen Schritt erstellt haben, z. B.lb-project-elb-ip.