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 internen Load-Balancer (ILB) verwenden.
Mit globalen Subnetzen können Sie interne Load-Balancing-Vorgänge in mehreren Zonen Ihrer GDC-Organisation konfigurieren. Load-Balancing bietet die Vorteile einer verbesserten Leistung, Zuverlässigkeit und Verfügbarkeit von Anwendungen und Diensten, indem 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 GDC-Dokumentation mit Air Gap.
Hinweis
Zum Erstellen eines globalen Subnetzes und zum Konfigurieren für ILBs 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-Administrator der Organisation, Ihnen die Rolle „Load Balancer Admin“ (
load-balancer-admin) zuzuweisen. - Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „Global Load Balancer Admin“ (
global-load-balancer-admin) zuzuweisen. - Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „Subnet Organization Admin“ (
subnet-org-admin) zuzuweisen. Dies ist eine Rolle des Plattformadministrators für die Organisation. - Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „Subnet Project Admin“ (
subnet-project-admin) zuzuweisen. Dies ist eine Application Operator-Rolle für das Projekt.
Weitere Informationen finden Sie unter Beschreibungen vordefinierter Rollen.
- Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „Load Balancer Admin“ (
Übergeordnetes globales Subnetz erstellen
Das übergeordnete globale Subnetz, das Sie in diesem Abschnitt erstellen, dient als IP-Adresspool, aus dem die IP-Adressen Ihres ILB stammen. Sie geben übergeordnete Subnetze mit dem Feld spec.parentReference.name an.
Sie haben zwei Möglichkeiten, das CIDR 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 genaue Kontrolle über Ihren IP-Adressraum benötigen.
Dieses Subnetz hat den Typ Branch. Weitere Informationen zu den Subnetztypen „Root“, „Branch“,
„und Leaf“ finden Sie unter Subnet
hierarchy.
Fügen Sie den ausgewählten CIDR-Block dem Feld spec.ipv4Request.cidr hinzu, um ein globales übergeordnetes Subnetz mit einer statischen CIDR-Konfiguration zu erstellen:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/vpc: default-vpc
name: ILB_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 Management-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.ILB_PARENT_SUBNET_NAME: der ausgewählte Name für Ihr globales übergeordnetes Subnetz für den ILB.STATIC_CIDR: der spezifische CIDR-Block, den Sie für dieses übergeordnete 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.
Damit dieses Subnetz mit ILBs verwendet werden kann, müssen Sie ein Leaf-Subnetz für den ILB 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 IP-Adressverwaltung, insbesondere in großen Umgebungen.
Dieses Subnetz hat den Typ Branch. Weitere Informationen zu den Subnetztypen „Root“, „Branch“,
„und Leaf“ finden Sie unter Subnet
hierarchy.
Konfigurieren Sie das Feld spec.ipv4Request.prefixLength mit der ausgewählten Präfixlänge, um ein globales übergeordnetes Subnetz mit einem dynamischen CIDR zu erstellen:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/vpc: default-vpc
name: ILB_PARENT_SUBNET_NAME
namespace: platform
spec:
ipv4Request:
prefixLength: PREFIX_LENGTH
parentReference:
name: PARENT_NAME
namespace: platform
propagationStrategy: None
type: Branch
EOF
Ersetzen Sie Folgendes:
ILB_PARENT_SUBNET_NAME: der ausgewählte Name für das übergeordnete ILB-Subnetz, z. B.lb-global-lancer-ilb-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 das dynamisch zugewiesene CIDR, z. B.27. Diese Variable gilt nur für die dynamische CIDR-Konfiguration.
Damit dieses Subnetz mit ILBs verwendet werden kann, müssen Sie ein Leaf-Subnetz für den ILB erstellen.
Leaf-Subnetz für den ILB erstellen
Nachdem Sie das globale übergeordnete Subnetz eingerichtet haben, müssen Sie ein Leaf-Subnetz erstellen, um eine einzelne IP-Adresse für den globalen ILB-Dienst zuzuweisen. Dieses Leaf-Subnetz muss
den Wert Leaf für das Feld type haben und sich im selben Projektnamespace
wie Ihre Load-Balancer-Ressourcen befinden, z. B. ForwardingRule,
BackendService und Backend.
So erstellen Sie das Leaf-Subnetz und verknüpfen es mit dem ILB:
Erstellen Sie ein Leaf-Subnetz mit dem Wert
32fürprefixLength, da eine einzelne IP-Adresse zugewiesen werden 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/vpc: default-vpc name: ILB_IP_SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_REF namespace: platform type: Leaf EOFErsetzen Sie Folgendes:
ILB_IP_SUBNET_NAME: der ausgewählte Name für das Leaf-Subnetz, z. B.lb-project-ilb-ip.PROJECT_NAMESPACE: der Kubernetes-Namespace, der Ihrem Projekt entspricht, in dem sich Ihre ILB-Objekte befinden, z. B.lb-project.PARENT_REF: der Name des übergeordneten Subnetzes, aus dem dieses Leaf-Subnetz seine IP-Adresse bezieht, z. B. das zuvor erstellte übergeordnete globale Subnetz.
Verbinden Sie das neu erstellte Leaf-Subnetz, das die zugewiesene IP-Adresse enthält, mit der Ressource
ForwardingRuleInternalIhres ILB. Aktualisieren Sie in der RessourceForwardingRuleInternaldas Feldspec.cidrRef.name, um auf den Namen des Leaf-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: ForwardingRuleInternal 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 ausgewählte Name für das ObjektForwardingRuleInternal, z. B.nginx-ilb-static-fr.PORT: die Portnummer, an der Ihr ILB auf eingehenden Traffic wartet, z. B.80.PROTOCOL: das Netzwerkprotokoll, das Ihr ILB verwendet, z. B.TCPoderUDP.BES_NAME: der Name desBackendService, der mit dieser RessourceForwardingRuleInternalverknüpft ist, z. B.nginx-bes.LEAF_SUBNET_NAME: der Name des Leaf-Subnetzes, das Sie im vorherigen Schritt erstellt haben, z. B.lb-project-ilb-ip.