Auf dieser Seite wird beschrieben, wie VPC-native Cluster in Google Kubernetes Engine (GKE) konfiguriert werden.
Weitere Informationen zu den Vorteilen und Anforderungen von VPC-nativen Clustern finden Sie in der Übersicht für VPC-native Cluster.
Für GKE Autopilot-Cluster sind VPC-native Netzwerke standardmäßig aktiviert und können nicht überschrieben werden.
Hinweise
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem Befehl
gcloud components update
ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
Beschränkungen
Sie können einen VPC-nativer Cluster nicht in einen routenbasierten Cluster konvertieren und umgekehrt auch keinen routenbasierten Cluster in einen VPC-nativer Cluster konvertieren.
Für VPC-native Cluster sind VPC-Netzwerke erforderlich. Alte Netzwerke werden nicht unterstützt.
Wie bei allen GKE-Clustern sind Dienstadressen (ClusterIP) nur innerhalb des Clusters verfügbar. Wenn Sie von VM-Instanzen außerhalb des Clusters, aber innerhalb des VPC-Netzwerks und der Region des Clusters auf einen Kubernetes-Dienst zugreifen müssen, erstellen Sie einen internen Passthrough-Network-Load-Balancer.
Wenn Sie alle Pod-IP-Adressen in einem Subnetz verwenden, können Sie den sekundären IP-Adressbereich des Subnetzes nicht ersetzen, ohne den Cluster in einen instabilen Zustand zu versetzen. Sie können jedoch zusätzliche Pod-IP-Adressbereiche erstellen, indem Sie nicht zusammenhängende CIDRs mit mehreren Pods verwenden.
Cluster erstellen
In diesem Abschnitt wird beschrieben, wie Sie die folgenden Aufgaben beim Erstellen eines Clusters ausführen:
- Cluster und Subnetz gleichzeitig erstellen
- Erstellen Sie einen Cluster in einem vorhandenen Subnetz.
- Erstellen Sie einen Cluster und wählen Sie den IP-Adressbereich der Steuerungsebene aus.
- Erstellen Sie einen Cluster mit Dual-Stack-Netzwerk in einem neuen Subnetz (verfügbar in Autopilot-Clustern ab Version 1.25 und Standardclustern ab Version 1.24).
- Erstellen Sie gleichzeitig einen Dual-Stack-Cluster und ein Dual-Stack-Subnetz (verfügbar in Autopilot-Clustern ab Version 1.25 und Standardclustern ab Version 1.24).
Sie können auch einen Cluster erstellen und die automatische IP-Adressverwaltung in Ihrem Cluster aktivieren (Vorschau). In diesem Fall erstellt GKE automatisch Subnetze und verwaltet IP-Adressen für Sie. Weitere Informationen finden Sie unter Automatische IP-Adressverwaltung verwenden.
Nachdem Sie den Cluster erstellt haben, können Sie den Zugriff auf die Steuerungsebene des Clusters ändern. Weitere Informationen finden Sie unter Netzwerkisolation in GKE anpassen.
Cluster und Subnetz gleichzeitig erstellen
In der folgenden Anleitung erfahren Sie, wie Sie einen VPC-nativen GKE-Cluster und ein Subnetz gleichzeitig erstellen. Die Zuweisungsmethode für sekundäre Bereiche lautet "Von GKE verwaltet", wenn Sie diese beiden Schritte mit einem einzigen Befehl ausführen.
Wenn Sie eine freigegebene VPC verwenden, können Sie den Cluster und das Subnetz nicht gleichzeitig erstellen. Stattdessen muss ein Netzwerkadministrator im freigegebene VPC-Hostprojekt zuerst das Subnetz erstellen. Dann können Sie den Cluster in einem vorhandenen Subnetz mit der Zuweisungsmethode für sekundäre Bereiche "Vom Nutzer verwaltet" erstellen.
gcloud
Führen Sie den folgenden Befehl aus, um einen VPC-nativer Cluster und ein Subnetz gleichzeitig zu erstellen:
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--enable-ip-alias \
--create-subnetwork name=SUBNET_NAME,range=NODE_IP_RANGE \
--cluster-ipv4-cidr=POD_IP_RANGE \
--services-ipv4-cidr=SERVICES_IP_RANGE
Ersetzen Sie Folgendes:
CLUSTER_NAME
ist der Name des GKE-Clusters.COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster.SUBNET_NAME
: Der Name des zu erstellenden Subnetzes. Die Region des Subnetzes entspricht der Region des Clusters (oder der Region, die den zonalen Cluster enthält). Verwenden Sie einen leeren String (name=""
), wenn GKE einen Namen für Sie erzeugen soll.NODE_IP_RANGE
: Ein IP-Adressbereich in CIDR-Notation, z. B.10.5.0.0/20
, oder die Größe der Subnetzmaske eines CIDR-Blocks, z. B./20
. Dies wird verwendet, um den primären IP-Adressbereich des Subnetzes für Knoten zu erstellen. Wenn keine Angabe gemacht wird, wählt GKE einen verfügbaren IP-Bereich in der VPC mit der Größe/20
aus.POD_IP_RANGE
: Ein IP-Adressbereich in CIDR-Notation, z. B.10.0.0.0/14
, oder die Größe der Subnetzmaske eines CIDR-Blocks, z. B./14
. Damit wird der sekundäre IP-Adressbereich des Subnetzes für Pods erstellt. Wenn keine Angabe gemacht wird, verwendet GKE einen zufällig ausgewählten/14
-Bereich mit 218 Adressen. Der automatisch ausgewählte Bereich wird nach dem Zufallsprinzip aus10.0.0.0/8
(einem Bereich mit 224 Adressen) ausgewählt und enthält keine IP-Adressbereiche, die VMs zugewiesen sind, keine vorhandenen Routen und keine Bereiche, die anderen Clustern zugewiesen sind. Der automatisch ausgewählte Bereich kann einen Konflikt mit reservierten IP-Adressen, dynamischen Routen oder Routen in VPCs auslösen, die eine Peering-Verbindung zu diesem Cluster haben. Wenn Sie einen dieser Fälle verwenden, sollten Sie--cluster-ipv4-cidr
angeben, um Konflikte zu vermeiden.SERVICES_IP_RANGE
: Ein IP-Adressbereich in CIDR-Notation, z. B.10.4.0.0/19
, oder die Größe der Subnetzmaske eines CIDR-Blocks, z. B./19
. Damit wird der sekundäre IP-Adressbereich des Subnetzes für Services erstellt. Wenn keine Angabe gemacht wird, verwendet GKE/20
, die Standardgröße für Service-IP-Adressbereiche.
Console
Sie können mit derGoogle Cloud -Konsole einen Cluster und ein Subnetz nicht gleichzeitig erstellen. Erstellen Sie stattdessen zuerst ein Subnetz und dann den Cluster in einem vorhandenen Subnetz.
API
Definieren Sie zum Erstellen eines VPC-nativen Clusters ein IPAllocationPolicy-Objekt in Ihrer Clusterressource:
{
"name": CLUSTER_NAME,
"description": DESCRIPTION,
...
"ipAllocationPolicy": {
"useIpAliases": true,
"createSubnetwork": true,
"subnetworkName": SUBNET_NAME
},
...
}
Im Feld createSubnetwork
wird automatisch ein Subnetzwerk für den Cluster erstellt und bereitgestellt. Das Feld subnetworkName
ist optional. Wird kein Name angegeben, wird der Name für das Subnetzwerk automatisch ausgewählt.
Nachdem Sie den Cluster erstellt haben, können Sie den Zugriff auf die Steuerungsebene des Clusters ändern. Weitere Informationen finden Sie unter Netzwerkisolation in GKE anpassen.
Cluster in einem vorhandenen Subnetz erstellen
In der folgenden Anleitung wird gezeigt, wie Sie einen VPC-nativen GKE-Cluster in einem vorhandenen Subnetz mit der gewünschten Zuweisungsmethode für sekundäre Bereiche erstellen.
gcloud
So verwenden Sie die Zuweisungsmethode für sekundäre Bereiche Von GKE verwaltet:
gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-ip-alias \ --subnetwork=SUBNET_NAME \ --cluster-ipv4-cidr=POD_IP_RANGE \ --services-ipv4-cidr=SERVICES_IP_RANGE
Wenn Sie die Zuweisungsmethode für sekundäre Bereiche Vom Nutzer verwaltet verwenden möchten, führen Sie den folgenden Befehl aus:
gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-ip-alias \ --subnetwork=SUBNET_NAME \ --cluster-secondary-range-name=SECONDARY_RANGE_PODS \ --services-secondary-range-name=SECONDARY_RANGE_SERVICES
Ersetzen Sie Folgendes:
CLUSTER_NAME
ist der Name des GKE-Clusters.COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster.SUBNET_NAME
: Der Name eines vorhandenen Subnetzes. Der primäre IP-Adressbereich des Subnetzes wird für Knoten verwendet. Das Subnetz muss sich in derselben Region befinden wie der Cluster. Wenn keine Angabe gemacht wird, versucht GKE, ein Subnetz im VPC-Netzwerkdefault
in der Region des Clusters zu verwenden.- Wenn die Zuweisungsmethode für sekundäre Bereiche Von GKE verwaltet lautet:
POD_IP_RANGE
: Ein IP-Adressbereich in CIDR-Notation, z. B.10.0.0.0/14
, oder die Größe der Subnetzmaske eines CIDR-Blocks, z. B./14
. Damit wird der sekundäre IP-Adressbereich des Subnetzes für Pods erstellt. Wenn Sie die Option--cluster-ipv4-cidr
weglassen, wählt GKE automatisch einen/14
-Bereich (218 Adressen) aus. Der automatisch ausgewählte Bereich wird nach dem Zufallsprinzip aus10.0.0.0/8
(einem Bereich von 224 Adressen) ausgewählt und enthält keine IP-Adressbereiche, die VMs zugewiesen sind, keine vorhandenen Routen und keine Bereiche, die anderen Clustern zugewiesen sind. Der automatisch ausgewählte Bereich kann einen Konflikt mit reservierten IP-Adressen, dynamischen Routen oder Routen in VPCs auslösen, die eine Peering-Verbindung zu diesem Cluster haben. Wenn Sie einen dieser Fälle verwenden, sollten Sie--cluster-ipv4-cidr
angeben, um Konflikte zu vermeiden.SERVICES_IP_RANGE
: ein IP-Adressbereich in CIDR-Notation (z. B.10.4.0.0/19
) oder die Größe der Subnetzmaske eines CIDR-Blocks (z. B./19
). Damit wird der sekundäre IP-Adressbereich des Subnetzes für Services erstellt.
- Wenn die Zuweisungsmethode für sekundäre Bereiche Vom Nutzer verwaltet lautet:
SECONDARY_RANGE_PODS
: der Name eines vorhandenen sekundären IP-Adressbereichs im angegebenen SubnetzSUBNET_NAME
. GKE verwendet den gesamten sekundären IP-Adressbereich des Subnetzes für die Pods des Clusters.SECONDARY_RANGE_SERVICES
: der Name eines vorhandenen sekundären IP-Adressbereichs imSUBNET_NAME
.
Console
-
Rufen Sie in der Google Cloud Console die Seite Autopilot-Cluster erstellen auf.
Zur Seite „Autopilot-Cluster erstellen“
Sie können diese Aufgabe auch erledigen, indem Sie einen Standardcluster erstellen.
- Klicken Sie im Navigationsbereich unter Cluster auf Netzwerk.
- Konfigurieren Sie unter Zugriff auf die Steuerungsebene den Zugriff auf die Endpunkte der Steuerungsebene.
- Wählen Sie im Bereich Clusternetzwerk in der Drop-down-Liste Netzwerk eine VPC aus.
- Wählen Sie in der Drop-down-Liste Knotensubnetz ein Subnetz für den Cluster aus.
- Achten Sie darauf, dass das Kästchen neben VPC-natives Traffic-Routing aktivieren (verwendet Alias-IP-Adresse) aktiviert ist.
- Klicken Sie das Kästchen Sekundäre Bereiche automatisch erstellen an, wenn die Zuweisungsmethode für sekundäre Bereiche von GKE verwaltet werden soll. Deaktivieren Sie dieses Kästchen, wenn Sie bereits sekundäre Bereiche für das ausgewählte Subnetz erstellt haben und die Zuweisungsmethode für sekundäre Bereiche vom Nutzer verwaltet werden soll.
- Geben Sie im Feld Pod-Adressbereich einen Pod-Bereich wie
10.0.0.0/14
ein. - Geben Sie im Feld Dienstadressbereich einen Dienstbereich ein, z. B.
10.4.0.0/19
. - Konfigurieren Sie den Cluster.
- Klicken Sie auf Erstellen.
Terraform
Mit einem Terraform-Modul können Sie einen VPC-nativen Cluster mit Terraform erstellen.
Sie können Ihrer Terraform-Konfiguration beispielsweise den folgenden Block hinzufügen:
module "gke" {
source = "terraform-google-modules/kubernetes-engine/google"
version = "~> 12.0"
project_id = "PROJECT_ID"
name = "CLUSTER_NAME"
region = "COMPUTE_LOCATION"
network = "NETWORK_NAME"
subnetwork = "SUBNET_NAME"
ip_range_pods = "SECONDARY_RANGE_PODS"
ip_range_services = "SECONDARY_RANGE_SERVICES"
}
Ersetzen Sie Folgendes:
PROJECT_ID
: Ihre Projekt-ID.CLUSTER_NAME
ist der Name des GKE-Clusters.COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster. Bei Terraform die Compute Engine-Region.NETWORK_NAME
: Der Name eines vorhandenen Netzwerks.SUBNET_NAME
: Der Name eines vorhandenen Subnetzes. Der primäre IP-Adressbereich des Subnetzes wird für Knoten verwendet. Das Subnetz muss sich in derselben Region befinden wie der Cluster.SECONDARY_RANGE_PODS
: der Name eines vorhandenen sekundären IP-Adressbereichs inSUBNET_NAME
.SECONDARY_RANGE_SERVICES
: der Name eines vorhandenen sekundären IP-Adressbereichs inSUBNET_NAME
.
API
Definieren Sie beim Erstellen eines VPC-nativen Clusters ein IPAllocationPolicy-Objekt. Sie können auf vorhandene sekundäre Subnetz-IP-Adressbereiche verweisen oder CIDR-Blöcke angeben. Verweisen Sie auf vorhandene sekundäre Subnetz-IP-Adressbereiche, um einen Cluster zu erstellen, dessen Zuweisungsmethode für sekundäre Bereiche "Vom Nutzer verwaltet" lautet. Geben Sie CIDR-Blöcke an, wenn die Zuweisungsmethode für Bereiche "Von GKE verwaltet" sein soll.
{
"name": CLUSTER_NAME,
"description": DESCRIPTION,
...
"ipAllocationPolicy": {
"useIpAliases": true,
"clusterIpv4CidrBlock" : string,
"servicesIpv4CidrBlock" : string,
"clusterSecondaryRangeName" : string,
"servicesSecondaryRangeName": string,
},
...
}
Dieser Befehl enthält die folgenden Werte:
"clusterIpv4CidrBlock"
: Der CIDR-Bereich für Pods. Damit wird die Größe des sekundären Bereichs für Pods bestimmt. Sie kann in CIDR-Notation wie10.0.0.0/14
angegeben werden. Ein leerer Bereich mit der angegebenen Größe wird aus dem verfügbaren Bereich in Ihrer VPC ausgewählt. Wird dieses Feld leer gelassen, wird ein gültiger Bereich gefunden und mit einer Standardgröße erstellt."servicesIpv4CidrBlock"
: der CIDR-Bereich für Dienste. Siehe Beschreibung von"clusterIpv4CidrBlock"
."clusterSecondaryRangeName"
: der Name des sekundären Bereichs für Pods. Der sekundäre Bereich muss bereits vorhanden sein und zu dem Subnetzwerk gehören, das dem Cluster zugeordnet ist."serviceSecondaryRangeName"
: Der Name des sekundären Bereichs für Services. Der sekundäre Bereich muss bereits vorhanden sein und zu dem Subnetzwerk gehören, das dem Cluster zugeordnet ist.
Nachdem Sie den Cluster erstellt haben, können Sie den Zugriff auf die Steuerungsebene des Clusters ändern. Weitere Informationen finden Sie unter Netzwerkisolation in GKE anpassen.
Cluster erstellen und IP-Adressbereich der Steuerungsebene auswählen
Standardmäßig verwenden Cluster in Version 1.29 oder höher den primären Subnetzbereich, um die interne IP-Adresse bereitzustellen, die dem Endpunkt der Steuerungsebene zugewiesen ist. Sie können diese Standardeinstellung nur bei der Clustererstellung überschreiben, indem Sie einen anderen Subnetzbereich auswählen.
In den folgenden Abschnitten wird gezeigt, wie Sie einen Cluster erstellen und den Subnetzbereich überschreiben.
gcloud
gcloud container clusters create CLUSTER_NAME \
--enable-private-nodes \
--private-endpoint-subnetwork=SUBNET_NAME \
--location=COMPUTE_LOCATION
Wobei:
- Das Flag
enable-private-nodes
ist optional und weist GKE an, den Cluster mit privaten Knoten zu erstellen. - Mit dem Flag
private-endpoint-subnetwork
wird der IP-Adressbereich des internen Endpunkts der Steuerungsebene definiert. Sie können das Flagmaster-ipv4-cidr
anstelle des Flagsprivate-endpoint-subnetwork
verwenden, um die interne IP-Adresse für die Steuerungsebene bereitzustellen. Berücksichtigen Sie bei der Auswahl des zu verwendenden Flags die folgenden Konfigurationen:- Wenn Sie einen Cluster mit dem Flag
enable-private-nodes
erstellen, sind die Flagsmaster-ipv4-cidr
undprivate-endpoint-subnetwork
optional. - Wenn Sie das Flag
private-endpoint-subnetwork
verwenden, stellt GKE den internen Endpunkt der Steuerungsebene mit einer IP-Adresse aus dem von Ihnen definierten Bereich bereit. - Wenn Sie das Flag
master-ipv4-cidr
verwenden, erstellt GKE ein neues Subnetz aus den von Ihnen angegebenen Werten. GKE stellt den internen Endpunkt der Steuerungsebene mit einer IP-Adresse aus diesem neuen Bereich bereit. - Wenn Sie die Flags
private-endpoint-subnetwork
undmaster-ipv4-cidr
weglassen, stellt GKE den internen Endpunkt der Steuerungsebene mit einer IP-Adresse aus dem sekundären Cluster-Subnetzwerk bereit.
- Wenn Sie einen Cluster mit dem Flag
Ersetzen Sie Folgendes:
CLUSTER_NAME
ist der Name des GKE-Clusters.SUBNET_NAME
: Der Name eines vorhandenen Subnetzes, in dem die interne IP-Adresse bereitgestellt werden soll.COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster.
GKE erstellt einen Cluster mit Private Service Connect. Nachdem Sie den Cluster erstellt haben, können Sie den Zugriff auf die Steuerungsebene des Clusters ändern. Weitere Informationen finden Sie unter Netzwerkisolation in GKE anpassen.
Console
Um der Steuerungsebene eines neuen Clusters ein Subnetz zuzuweisen, müssen Sie zuerst ein Subnetz hinzufügen. Führen Sie diese Schritte aus:
-
Rufen Sie in der Google Cloud Console die Seite Autopilot-Cluster erstellen auf.
Zur Seite „Autopilot-Cluster erstellen“
Sie können diese Aufgabe auch erledigen, indem Sie einen Standardcluster erstellen.
- Klicken Sie unter „Standard“ oder „Autopilot“ auf Konfigurieren.
- Geben Sie unter Name den Clusternamen ein.
- Klicken Sie im Navigationsbereich unter Cluster auf Netzwerk.
- Konfigurieren Sie unter Zugriff auf die Steuerungsebene den Zugriff auf die Endpunkte der Steuerungsebene.
- Klicken Sie im Bereich Clusternetzwerk das Kästchen Standardsubnetz des privaten Endpunkts der Steuerungsebene überschreiben an.
- Wählen Sie in der Liste Subnetz des privaten Endpunkts das erstellte Subnetz aus.
- Klicken Sie auf Fertig. Fügen Sie bei Bedarf weitere autorisierte Netzwerke hinzu.
Projektmetadaten für sekundäre IP-Adressbereiche
Wenn Sie einen GKE-Cluster erstellen oder aktualisieren, fügt GKE automatisch Metadateneinträge auf Projektebene wie google_compute_project_metadata
hinzu, um die Nutzung sekundärer IP-Adressbereiche zu verfolgen, auch in freigegebene VPC-Umgebungen. Diese Metadaten bestätigen, dass GKE IP-Adressen für Pods und Dienste korrekt zuweist, was Konflikte verhindert.
GKE verwaltet diese Metadaten automatisch.
Die Metadaten haben das folgende Format:
key: gke-REGION-CLUSTER_NAME-GKE_UID-secondary-ranges
value: pods:SHARED_VPC_NETWORK:SHARED_VPC_SUBNETWORK:CLUSTER_PODS_SECONDARY_RANGE_NAME
Dabei gilt:
REGION
: Die Google Cloud Region, in der sich der Cluster befindet.CLUSTER_NAME
ist der Name des GKE-Clusters.GKE_UID
: Eine eindeutige Kennung für den GKE-Cluster.VPC_NETWORK
: der Name des VPC-Netzwerks, das vom Cluster verwendet wird.VPC_SUBNETWORK
: der Name des Subnetzwerks im VPC-Netzwerk, das vom Cluster verwendet wird.CLUSTER_PODS_SECONDARY_RANGE_NAME
: der Name des sekundären IP-Adressbereichs, der für die Pods des Clusters verwendet wird.
Cluster mit Dual-Stack-Netzwerk erstellen
Sie können einen Cluster mit IPv4/IPv6-Dual-Stack-Netzwerk in einem neuen oder vorhandenen Dual-Stack-Subnetz erstellen. Dual-Stack-Subnetze sind in Autopilot-Clustern ab Version 1.25 und Standardclustern ab Version 1.24 verfügbar. Dual-Stack-Subnetze werden in Windows Server-Knotenpools nicht unterstützt.
Bevor Sie Dual-Stack-Cluster einrichten, empfehlen wir Ihnen, Folgendes zu tun:
- Weitere Informationen zu den Vorteilen und Anforderungen von GKE-Clustern mit Dual-Stack-Netzwerk.
- Weitere Informationen finden Sie unter Limits und Einschränkungen von Dual-Stack-Netzwerken.
In diesem Abschnitt erstellen Sie zuerst ein Dual-Stack-Subnetz und verwenden es dann, um einen Cluster zu erstellen.
Führen Sie den folgenden Befehl aus, um ein Dual-Stack-Subnetz zu erstellen:
gcloud compute networks subnets create SUBNET_NAME \ --stack-type=ipv4-ipv6 \ --ipv6-access-type=ACCESS_TYPE \ --network=NETWORK_NAME \ --range=PRIMARY_RANGE \ --region=COMPUTE_REGION
Ersetzen Sie Folgendes:
SUBNET_NAME
: der Name des ausgewählten Subnetzes.ACCESS_TYPE
: die Routbarkeit des öffentlichen Internets. Verwenden SieINTERNAL
für interne IPv6-Adressen oderEXTERNAL
für externe IPv6-Adressen. Wenn--ipv6-access-type
nicht angegeben ist, ist der StandardzugriffstypEXTERNAL
.NETWORK_NAME
: der Name des Netzwerks mit dem neuen Subnetz. Dieses Netzwerk muss die folgenden Bedingungen erfüllen:- Es muss sich um ein VPC-Netzwerk im benutzerdefinierten Modus handeln. Weitere Informationen finden Sie unter VPC-Netzwerk vom automatischen Modus in den benutzerdefinierten Modus versetzen.
- Wenn Sie den
ACCESS_TYPE
mitINTERNAL
ersetzen, muss das Netzwerk eindeutige lokale IPv6-Unicast-Adressen (ULA) verwenden.
PRIMARY_RANGE
: der primäre IPv4-IP-Adressbereich für das neue Subnetz in CIDR-Notation. Weitere Informationen finden Sie unter Subnetzbereiche.COMPUTE_REGION
. die Compute-Region für den Cluster.
Zum Erstellen eines Clusters mit einem Dual-Stack-Subnetz können Sie entweder die
gcloud CLI
oder die Google Cloud -Konsole verwenden:
gcloud
Führen Sie für Autopilot-Cluster den folgenden Befehl aus:
gcloud container clusters create-auto CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --network=NETWORK_NAME \ --subnetwork=SUBNET_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name Ihres neuen Autopilot-Clusters.COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster.NETWORK_NAME
: der Name eines VPC-Netzwerks, das das Subnetz enthält. Dieses VPC-Netzwerk muss ein VPC-Netzwerk im benutzerdefinierten Modus sein. Weitere Informationen finden Sie unter VPC-Netzwerk vom automatischen Modus in den benutzerdefinierten Modus versetzen.SUBNET_NAME
: der Name des Dual-Stack-Subnetzes.GKE Autopilot-Cluster verwenden standardmäßig einen Dual-Stack-Cluster, wenn Sie ein Dual-Stack-Subnetz verwenden. Nach der Clustererstellung können Sie den Autopilot-Cluster auf reines IPv4 aktualisieren.
Führen Sie für Standardcluster den folgenden Befehl aus:
gcloud container clusters create CLUSTER_NAME \ --enable-ip-alias \ --enable-dataplane-v2 \ --stack-type=ipv4-ipv6 \ --network=NETWORK_NAME \ --subnetwork=SUBNET_NAME \ --location=COMPUTE_LOCATION
Ersetzen Sie Folgendes:
CLUSTER_NAME
ist der Name des neuen Clusters.NETWORK_NAME
: der Name eines VPC-Netzwerks, das das Subnetz enthält. Dieses VPC-Netzwerk muss ein VPC-Netzwerk im benutzerdefinierten Modus sein, das eindeutige lokale IPv6-Unicast-Adressen (ULA) verwendet. Weitere Informationen finden Sie unter VPC-Netzwerk vom automatischen Modus in den benutzerdefinierten Modus versetzen.SUBNET_NAME
: der Name des Subnetzes.COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster.
Console
-
Rufen Sie in der Google Cloud Console die Seite Autopilot-Cluster erstellen auf.
Zur Seite „Autopilot-Cluster erstellen“
Sie können diese Aufgabe auch erledigen, indem Sie einen Standardcluster erstellen.
- Klicken Sie unter „Standard“ oder „Autopilot“ auf Konfigurieren.
- Konfigurieren Sie den Cluster nach Bedarf.
- Klicken Sie im Navigationsbereich unter Cluster auf Netzwerk.
- Konfigurieren Sie unter Zugriff auf die Steuerungsebene den Zugriff auf die Endpunkte der Steuerungsebene.
- Wählen Sie im Abschnitt Cluster-Netzwerk in der Liste Netzwerk den Namen Ihres Netzwerks aus.
- Wählen Sie in der Liste Knotensubnetz den Namen Ihres Dual-Stack-Subnetzes aus.
Wählen Sie für Standardcluster das Optionsfeld IPv4 und IPv6 (Dual Stack) aus. Diese Option ist nur verfügbar, wenn Sie ein Dual-Stack-Subnetz ausgewählt haben.
Autopilot-Cluster verwenden standardmäßig einen Dual-Stack-Cluster, wenn Sie ein Dual-Stack-Subnetz verwenden.
Klicken Sie auf Erstellen.
Dual-Stack-Cluster und Subnetz gleichzeitig erstellen
Sie können ein Subnetz und einen Dual-Stack-Cluster gleichzeitig erstellen. GKE erstellt ein IPv6-Subnetz und weist dem Subnetz einen externen IPv6-Primärbereich zu.
Wenn Sie eine freigegebene VPC verwenden, können Sie den Cluster und das Subnetz nicht gleichzeitig erstellen. Stattdessen muss ein Netzwerkadministrator im freigegebene VPC-Hostprojekt zuerst das Dual-Stack-Subnetz erstellen.
Führen Sie für Autopilot-Cluster den folgenden Befehl aus:
gcloud container clusters create-auto CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --network=NETWORK_NAME \ --create-subnetwork name=SUBNET_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name Ihres neuen Autopilot-Clusters.COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster.NETWORK_NAME
: der Name eines VPC-Netzwerks, das das Subnetz enthält. Dieses VPC-Netzwerk muss ein VPC-Netzwerk im benutzerdefinierten Modus sein, das eindeutige lokale IPv6-Unicast-Adressen (ULA) verwendet. Weitere Informationen finden Sie unter VPC-Netzwerk vom automatischen Modus in den benutzerdefinierten Modus versetzen.SUBNET_NAME
: der Name des neuen Subnetzes. GKE kann das Subnetz basierend auf Ihren Organisationsrichtlinien erstellen:- Wenn Ihre Organisationsrichtlinien Dual-Stack zulassen und das Netzwerk im benutzerdefinierten Modus ist, erstellt GKE ein Dual-Stack-Subnetz und weist dem Subnetz einen externen IPv6-Primärbereich zu.
- Wenn Ihre Organisationsrichtlinien das Dual-Stack nicht zulassen oder wenn sich das Netzwerk im automatischen Modus befindet, erstellt GKE ein Single-Stack-Subnetz (IPv4).
Führen Sie für Standardcluster den folgenden Befehl aus:
gcloud container clusters create CLUSTER_NAME \ --enable-ip-alias \ --stack-type=ipv4-ipv6 \ --ipv6-access-type=ACCESS_TYPE \ --network=NETWORK_NAME \ --create-subnetwork name=SUBNET_NAME,range=PRIMARY_RANGE \ --location=COMPUTE_LOCATION
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des neuen Clusters, den Sie auswählen.ACCESS_TYPE
: Die Routbarkeit des öffentlichen Internets. Verwenden SieINTERNAL
für interne IPv6-Adressen oderEXTERNAL
für externe IPv6-Adressen. Wenn--ipv6-access-type
nicht angegeben ist, ist der StandardzugriffstypEXTERNAL
.NETWORK_NAME
: der Name des Netzwerks mit dem neuen Subnetz. Dieses Netzwerk muss die folgenden Bedingungen erfüllen:- Es muss sich um ein VPC-Netzwerk im benutzerdefinierten Modus handeln. Weitere Informationen finden Sie unter VPC-Netzwerk vom automatischen Modus in den benutzerdefinierten Modus versetzen.
- Wenn Sie den
ACCESS_TYPE
durchINTERNAL
ersetzen, muss das Netzwerk eindeutige lokale IPv6-Unicast-Adressen (ULA) verwenden.
SUBNET_NAME
: der Name des neuen Subnetzes, das Sie auswählen.PRIMARY_RANGE
: der primäre IPv4-Adressbereich für das neue Subnetz in CIDR-Notation. Weitere Informationen finden Sie unter Subnetzbereiche.COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster.
Stacktyp aktualisieren
Sie können den Stacktyp eines vorhandenen Clusters ändern oder ein vorhandenes Subnetz in ein Dual-Stack-Subnetz aktualisieren.
Stacktyp in einem vorhandenen Cluster aktualisieren
Bevor Sie den Stacktyp in einem vorhandenen Cluster ändern, beachten Sie die folgenden Einschränkungen:
Das Ändern des Stack-Typs wird in neuen GKE-Clustern mit Version 1.25 oder höher unterstützt. Bei GKE-Clustern, die von Version 1.24 auf Version 1.25 oder 1.26 aktualisiert wurden, können Validierungsfehler auftreten, wenn Sie ein Dual-Stack-Netzwerk aktivieren. Wenden Sie sich bei Fehlern an das Google Cloud Supportteam.
Das Ändern des Stack-Typs ist ein störender Vorgang, da GKE sowohl Komponenten auf der Steuerungsebene als auch auf Knoten neu startet.
GKE berücksichtigt beim Neuerstellen von Knoten die konfigurierten Wartungsfenster. Dies bedeutet, dass der Cluster-Stack-Typ bis zum nächsten Wartungsfenster nicht im Cluster verfügbar ist. Wenn Sie nicht warten möchten, können Sie den Knotenpool auch manuell aktualisieren. Dazu geben Sie für das Flag
--cluster-version
die GKE-Version an, die bereits auf der Steuerungsebene ausgeführt wird. Wenn Sie diese Problemumgehung verwenden, müssen Sie die gcloud CLI verwenden. Weitere Informationen finden Sie unter Hinweise für Wartungsfenster.Durch das Ändern des Stack-Typs wird die IP-Familie vorhandener Services nicht automatisch geändert. Dabei gelten folgende Bedingungen:
- Wenn Sie einen einzelnen Stack in Dual-Stack ändern, bleiben die vorhandenen Services im Status eines einzelnen Stacks erhalten.
- Wenn Sie einen Dual-Stack in einen einzelnen Stack ändern, werden die vorhandenen Services mit IPv6-Adressen in einen Fehlerzustand versetzt. Löschen Sie den Dienst und erstellen Sie einen Dienst mit den richtigen
ipFamilies
. Weitere Informationen finden Sie in einem Beispiel für die Einrichtung eines Deployments.
Zum Aktualisieren eines vorhandenen VPC-nativer Cluster können Sie die gcloud CLI oder die Google Cloud Console verwenden:
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container clusters update CLUSTER_NAME \
--stack-type=STACK_TYPE \
--location=COMPUTE_LOCATION
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des Clusters, den Sie aktualisieren möchten.STACK_TYPE
: der Stack-Typ. Ersetzen Sie ihn durch einen der folgenden Werte:ipv4
: zum Aktualisieren eines Dual-Stack-Clusters auf einen reinen IPv4-Cluster. GKE verwendet den primären IPv4-Adressbereich des Subnetzes des Clusters.ipv4-ipv6
: zum Aktualisieren eines vorhandenen IPv4-Clusters auf Dual-Stack. Sie können einen Cluster nur dann in Dual-Stack ändern, wenn das zugrunde liegende Subnetz Dual-Stack unterstützt. Weitere Informationen finden Sie unter Vorhandenes Subnetz auf ein Dual-Stack-Subnetz aktualisieren.
COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster.
Console
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie neben dem Cluster, den Sie bearbeiten möchten, auf more_vert Aktionen und dann auf edit Bearbeiten.
Klicken Sie im Abschnitt Netzwerk neben Stack-Typ auf edit Bearbeiten.
Klicken Sie im Dialogfeld Stack-Typ bearbeiten das Kästchen für den Cluster-Stack-Typ an, den Sie benötigen.
Klicken Sie auf Änderungen speichern.
Aktualisieren Sie ein vorhandenes Subnetz auf ein Dual-Stack-Subnetz (verfügbar in Autopilot-Clustern ab Version 1.25 und Standardclustern ab Version 1.24).
Vorhandenes Subnetz auf ein Dual-Stack-Subnetz aktualisieren
Führen Sie den folgenden Befehl aus, um ein vorhandenes Subnetz auf ein Dual-Stack-Subnetz zu aktualisieren. Das Aktualisieren eines Subnetzes wirkt sich nicht auf vorhandene IPv4-Cluster im Subnetz aus.
gcloud compute networks subnets update SUBNET_NAME \
--stack-type=ipv4-ipv6 \
--ipv6-access-type=ACCESS_TYPE \
--region=COMPUTE_REGION
Ersetzen Sie Folgendes:
SUBNET_NAME
: der Name des Subnetzes.ACCESS_TYPE
: die Routbarkeit des öffentlichen Internets. Verwenden SieINTERNAL
für interne IPv6-Adressen oderEXTERNAL
für externe IPv6-Adressen. Wenn--ipv6-access-type
nicht angegeben ist, ist der StandardzugriffstypEXTERNAL
.COMPUTE_REGION
. die Compute-Region für den Cluster.
Stack-Typ-, Pod- und Service-IP-Adressbereiche prüfen
Nachdem Sie einen VPC-nativen Cluster erstellt haben, können Sie dessen Pod- und Dienstbereiche überprüfen.
gcloud
So überprüfen Sie den Cluster:
gcloud container clusters describe CLUSTER_NAME
Die Ausgabe hat einen ipAllocationPolicy
-Block. Das Feld stackType
beschreibt den Typ der Netzwerkdefinition. Für jeden Typ werden die folgenden Netzwerkinformationen angezeigt:
IPv4-Netzwerkinformationen:
clusterIpv4Cidr
ist der sekundäre Bereich für Pods.servicesIpv4Cidr
ist der sekundäre Bereich für Services.
IPv6-Netzwerkinformationen (wenn ein Cluster ein Dual-Stack-Netzwerk hat):
ipv6AccessType
: Die Routbarkeit des öffentlichen Internets.INTERNAL
für interne IPv6-Adressen undEXTERNAL
für externe IPv6-Adressen.subnetIpv6CidrBlock
: Der sekundäre IPv6-Adressbereich für das neue Subnetz.servicesIpv6CidrBlock
: Der Adressbereich, der den IPv6-Diensten im Dual-Stack-Cluster zugewiesen ist.
Console
So überprüfen Sie den Cluster:
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie inspizieren möchten.
Die sekundären Bereiche werden im Bereich Netzwerk angezeigt:
- Pod-Adressbereich ist der sekundäre Bereich für Pods.
- Dienstadressbereich ist der sekundäre Bereich für Dienste.
Cluster löschen
Folgen Sie der Anleitung unter Cluster löschen, um Ihren Cluster zu löschen.
GKE versucht, das erstellte Subnetzwerk zu bereinigen, wenn der Cluster gelöscht wird. Wenn das Subnetzwerk jedoch von anderen Ressourcen verwendet wird, löscht GKE das Subnetzwerk nicht und Sie müssen die Lebensdauer des Subnetzwerks selbst verwalten.
Erweiterte Konfiguration für interne IP-Adressen
In den folgenden Abschnitten wird beschrieben, wie Sie private IP-Adressbereiche außerhalb von RFC 1918 verwenden und wie Sie privat verwendete öffentliche IP-Adressbereiche aktivieren.
IP-Adressbereiche außerhalb von RFC 1918 verwenden
GKE-Cluster können private IP-Adressbereiche außerhalb des RFC 1918-Bereichs für Knoten, Pods und Services verwenden. Unter Gültige Bereiche in der Dokumentation zu VPC-Netzwerken finden Sie eine Liste von privaten Bereichen außerhalb von RFC 1918, die als interne IP-Adressen für Subnetzbereiche verwendet werden können.
Diese Funktion wird von Windows Server-Knotenpools nicht unterstützt.
Private Bereiche außerhalb von RFC 1918 sind Subnetzbereiche. Sie können sie ausschließlich oder in Verbindung mit RFC 1918-Subnetzbereichen verwenden. Knoten, Pods und Services verwenden weiterhin Subnetzbereiche, wie unter IP-Bereiche für VPC-native Cluster beschrieben. Wenn Sie andere Bereiche als RFC 1918 verwenden, müssen Sie Folgendes beachten:
Subnetzbereiche müssen manuell oder über GKE zugewiesen werden, bevor die Knoten des Clusters erstellt werden, auch wenn Bereiche außerhalb von RFC 1918 verwendet werden. Der Wechsel zu oder das Beenden der Nutzung von Subnetzbereichen außerhalb von RFC 1918 für Knoten- oder Dienst-IP-Adressen in einem vorhandenen Cluster ist nur dann möglich, wenn Sie den Cluster ersetzen. Sie können einem vorhandenen VPC-nativer Cluster jedoch zusätzliche Pod-CIDR-Bereiche hinzufügen, einschließlich Nicht-RFC 1918-Bereichen. Weitere Informationen zum Hinzufügen zusätzlicher Pod-CIDR-Bereiche finden Sie unter IP-Adressbereiche eines GKE-Clusters erweitern.
Interne Passthrough-Network-Load-Balancer verwenden nur IP-Adressen aus dem primären IP-Adressbereich des Subnetzes. Der primäre IP-Adressbereich Ihres Subnetzes darf nicht RFC 1918 sein, wenn Sie einen internen Passthrough-Network-Load-Balancer mit einer Adresse außerhalb von RFC 1918 erstellen möchten.
Bei Zielen außerhalb des Clusters treten möglicherweise Probleme beim Empfang von Traffic aus privaten Bereichen außerhalb von RFC 1918 auf. Beispielsweise werden private RFC 1112-Bereiche (Klasse E) üblicherweise als Multicast-Adressen verwendet. Wenn ein Ziel außerhalb Ihres Clusters keine Pakete verarbeiten kann, deren Quellen private IP-Adressen außerhalb des RFC 1918-Bereichs sind, können Sie so vorgehen:
Verwenden Sie einen RFC 1918-Bereich für den primären IP-Adressbereich des Subnetzes. Auf diese Weise verwenden Knoten im Cluster RFC 1918-Adressen.
Achten Sie darauf, dass in Ihrem Cluster der IP-Masquerade-Agent ausgeführt wird und dass die Ziele nicht in der Liste
nonMasqueradeCIDRs
enthalten sind. Auf diese Weise werden die Ziele der von Pods gesendeten Pakete in Knotenadressen geändert (SNAT), die sich in RFC 1918 befinden.
Privat verwendete externe IP-Adressbereiche aktivieren
Für GKE-Cluster können bestimmte externe IP-Adressbereiche als interne Subnetz-IP-Adressbereiche genutzt werden. Sie können jede externe IP-Adresse privat verwenden, mit Ausnahme bestimmter eingeschränkter Bereiche, die in der VPC-Netzwerkdokumentation beschrieben werden. Diese Funktion wird von Windows Server-Knotenpools nicht unterstützt.
Der Cluster muss ein VPC-nativer Cluster sein, um privat verwendete externe IP-Adressbereiche nutzen zu können. Routenbasierte Cluster werden nicht unterstützt.
Privat verwendete externe Bereiche sind Subnetzbereiche. Sie können sie ausschließlich oder in Verbindung mit anderen Subnetzbereichen mit privaten Adressen verwenden. Knoten, Pods und Services verwenden weiterhin Subnetzbereiche, wie unter IP-Bereiche für VPC-native Cluster beschrieben. Beachten Sie Folgendes, wenn Sie externe IP-Adressen privat wiederverwenden:
Wenn Sie einen externen IP-Adressbereich als Subnetzbereich verwenden, kann Ihr Cluster nicht mehr mit Systemen im Internet kommunizieren, die diesen externen Bereich verwenden. Der Bereich wird zu einem internen IP-Adressbereich im VPC-Netzwerk des Clusters.
Subnetzbereiche müssen manuell oder über GKE zugewiesen werden, bevor die Knoten des Clusters erstellt werden, auch wenn externe IP-Adressbereiche privat verwendet werden. Der Wechsel zu oder das Beenden der Nutzung von Subnetzbereichen außerhalb von RFC 1918 für Knoten- oder Dienst-IP-Adressen in einem vorhandenen Cluster ist nur dann möglich, wenn Sie den Cluster ersetzen. Sie können einem vorhandenen VPC-nativer Cluster jedoch zusätzliche Pod-CIDR-Bereiche hinzufügen, einschließlich Bereiche, die nicht RFC 1918 entsprechen. Weitere Informationen zum Hinzufügen zusätzlicher Pod-CIDR-Bereiche finden Sie unter IP-Adressbereiche eines GKE-Clusters erweitern.
GKE implementiert SNAT standardmäßig auf den Knoten in externen IP-Zielen. Wenn Sie den Pod-CIDR für die Verwendung externer IP-Adressen konfiguriert haben, werden die SNAT-Regeln auf den Pod-zu-Pod-Traffic angewendet. Um dies zu vermeiden, haben Sie zwei Möglichkeiten:
- Erstellen Sie Ihren Cluster mit dem Flag
--disable-default-snat
. Weitere Informationen zu diesem Flag finden Sie unter IP-Maskierung in GKE. - Konfigurieren Sie die configMap
ip-masq-agent
so, dass in der ListenonMasqueradeCIDRs
mindestens die Pod-CIDR, die Service-CIDR und das Subnetz des Knotens enthalten sind.
Bei Standardclustern mit Clusterversion 1.14 oder höher funktionieren beide Optionen. Wenn Ihre Clusterversion älter als 1.14 ist, können Sie nur die zweite Option verwenden (ip-masq-agent
konfigurieren).
Nächste Schritte
- GKE-Netzwerkübersicht
- Informationen zum internen Load-Balancing
- Autorisierte Netzwerke für Masterzugriff erstellen
- Cluster-Netzwerkrichtlinien erstellen