In diesem Dokument wird gezeigt, wie ein regionaler Standardcluster erstellt wird, um die Verfügbarkeit der Steuerungsebene und der Arbeitslasten während Clusterupgrades, automatisierter Wartungsarbeiten oder einer zonalen Unterbrechung zu erhöhen.
Autopilot-Cluster von GKE sind immer regional.
Übersicht
Wenn Sie einen regionalen Cluster statt eines zonalen Clusters erstellen, wird die Steuerungsebene des Clusters in mehreren Zonen einer bestimmten Region repliziert. Für Knotenpools in einem regionalen Cluster können Sie manuell die Zone(n) angeben, in der/denen die Knotenpools ausgeführt werden sollen, oder Sie können die Standardkonfiguration verwenden, bei der jeder Knotenpool über drei Zonen der Region der Steuerungsebene repliziert wird. Alle Zonen müssen sich in derselben Region wie die Steuerungsebene des Clusters befinden.
Regionale Cluster replizieren Ressourcen in mehreren Zonen und verbrauchen zusätzliche Kontingente.
Weitere Informationen zu den verschiedenen Clusterverfügbarkeitstypen finden Sie unter Clusterkonfigurationsoptionen.
In folgenden Abschnitten wird Folgendes beschrieben:
- Regionalen Cluster mit einem Einzelzonenknotenpool erstellen
- Regionalen Cluster mit einem Mehrzonenknotenpool erstellen.
Nachdem Sie einen regionalen Cluster erstellt haben, können Sie ihn nicht in einen zonalen Cluster umwandeln.
Die Mindestangaben, die Sie beim Erstellen eines neuen regionalen Clusters machen müssen, sind ein Name, ein Projekt (in der Regel das aktuelle Projekt) und eine Region (in der Regel der Standardspeicherort für Befehlszeilentools). Für alle anderen Werte werden die Standardeinstellungen verwendet. Es gibt jedoch weitere mögliche Konfigurationseinstellungen, von denen nur einige in dieser Anleitung beschrieben werden und einige nach dem Erstellen des Clusters nicht mehr geändert werden können. Achten Sie darauf, dass Sie wissen, welche Einstellungen nach dem Erstellen des Clusters nicht mehr geändert werden können. Wählen Sie beim Erstellen eines Clusters die richtige Einstellung aus, damit Sie ihn nicht noch einmal erstellen müssen.
Eine Übersicht über die Clusterkonfigurationsoptionen finden Sie unter Clusterkonfigurationsoptionen. Eine vollständige Liste der möglichen Optionen finden Sie in den Referenzanleitungen für gcloud container clusters create
und Terraform google_container_cluster
.
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.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen zum Erstellen von Clustern haben. Sie sollten mindestens ein Kubernetes Engine-Cluster-Administrator sein.
- Wenn Sie Ihren neuen Cluster bei einer Flotte registrieren möchten, benötigen Sie die erforderlichen APIs und Berechtigungen.
IAM-Dienstkonten für GKE einrichten
GKE verwendet IAM-Dienstkonten, die an Ihre Knoten angehängt sind, um Systemaufgaben wie Logging und Monitoring auszuführen. Diese Knoten-Dienstkonten müssen in Ihrem Projekt mindestens die Rolle Kubernetes Engine Default Node Service Account (roles/container.defaultNodeServiceAccount
) haben. Standardmäßig verwendet GKE das Compute Engine-Standarddienstkonto, das automatisch in Ihrem Projekt erstellt wird, als Knotendienstkonto.
So weisen Sie dem Compute Engine-Standarddienstkonto die Rolle roles/container.defaultNodeServiceAccount
zu:
Console
- Rufen Sie die Seite Willkommen auf:
- Klicken Sie im Feld Projektnummer auf In die Zwischenablage kopieren.
- Rufen Sie die IAM-Seite auf.
- Klicken Sie auf Zugriffsrechte erteilen.
- Geben Sie im Feld Neue Hauptkonten den folgenden Wert an:
Ersetzen SiePROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_NUMBER
durch die kopierte Projektnummer. - Wählen Sie im Menü Rolle auswählen die Rolle Kubernetes Engine Default Node Service Account aus.
- Klicken Sie auf Speichern.
gcloud
- So finden Sie Ihre Google Cloud Projektnummer:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.Die Ausgabe sieht etwa so aus:
12345678901
- Weisen Sie dem Compute Engine-Standarddienstkonto die Rolle
roles/container.defaultNodeServiceAccount
zu:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
Ersetzen Sie
PROJECT_NUMBER
durch die Projektnummer aus dem vorherigen Schritt.
Regionalen Cluster mit einem Einzelzonen-Knotenpool erstellen
In der folgenden Anleitung wird beschrieben, wie Sie einen regionalen Cluster mit einem Knotenpool erstellen, der in einer einzelnen Zone innerhalb der Region ausgeführt wird. Die Steuerungsebene des Clusters wird in mehreren Zonen der angegebenen Region repliziert. Die Knoten befinden sich jedoch in einer einzelnen Zone und werden nicht in andere Zonen repliziert.
Sie können den Cluster mit der gcloud CLI, der Google Cloud -Konsole oder Terraform erstellen.
Wenn Sie GKE-Anwendungen mit Cloud Code for VS Code entwickeln, können Sie Cluster mit Cloud Code erstellen.
gcloud
Bevor Sie die gcloud CLI-Befehle zum Erstellen des Clusters ausführen, legen Sie das richtige Projekt fest:
gcloud config set project PROJECT_ID
# gcloud config set billing/quota_project PROJECT_ID
Verwenden Sie zum Erstellen eines regionalen Clusters mit der gcloud CLI einen der folgenden Befehle und ersetzen Sie folgende Variablen:
CLUSTER_NAME
: Der Name Ihres neuen regionalen Clusters.CONTROL_PLANE_LOCATION
: die Compute Engine-Region der Steuerungsebene des Clusters. Geben Sie eine Region wieus-central1
an.COMPUTE_ZONE
sind die Zonen für Ihren Knotenpool, z. B.us-central1-a
Die Zone muss sich in derselben Region wie die Steuerungsebene des Clusters befinden.CHANNEL
: Der Typ der Release-Version, entwederrapid
,regular
,stable
oderNone
. Standardmäßig wird der Cluster in der Release-Versionregular
registriert, es sei denn, mindestens eines der folgenden Flags ist angegeben:--cluster-version
,--release-channel
,--no-enable-autoupgrade
und--no-enable-autorepair
.VERSION
: Die Version, die Sie für den Cluster angeben möchten.
Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben, das Ihre Knoten anstelle des Compute Engine-Standarddienstkontos verwenden können. Eine Anleitung zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.
Wenn Sie ein benutzerdefiniertes Dienstkonto in der gcloud CLI angeben möchten, fügen Sie Ihrem Befehl das folgende Flag hinzu:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Ersetzen Sie SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos mit minimalen Berechtigungen.
Verwendung einer bestimmten Release-Version:
Führen Sie den folgenden Befehl aus, um einen neuen Cluster mit einem bestimmten Release-Kanal zu erstellen:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations COMPUTE_ZONE \
--release-channel CHANNEL
Bestimmte Version verwenden:
Führen Sie den folgenden Befehl aus, um einen neuen Cluster mit einer bestimmten Clusterversion zu erstellen:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations COMPUTE_ZONE \
--cluster-version VERSION
Standardversion für Cluster, die nicht in einer Release-Version registriert sind, verwenden:
Wenn Sie einen neuen Cluster mit der Standardversion für Cluster erstellen möchten, die nicht in einer Release-Version registriert ist, müssen Sie keine Clusterversion angeben. Sie müssen jedoch für die Release-Version None
festlegen:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations COMPUTE_ZONE \
--release-channel None
Beispiel
Mit folgendem Befehl wird ein regionaler Cluster erstellt, der für die Release-Version regular
(Standard) registriert ist, mit drei Knoten (Standard) in der Zone us-west1-c
:
gcloud container clusters create my-regional-cluster \
--location us-west1 \
--node-locations us-west1-c
Beispiel
Mit folgendem Befehl wird ein regionaler Cluster erstellt, der für die Release-Version regular
(Standard) registriert ist, mit zwei Knoten in der Zone us-west1-c
:
gcloud container clusters create my-regional-cluster \
--location us-west1 \
--node-locations us-west1-c \
--num-nodes 2
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.
Geben Sie im Bereich Clustergrundlagen Folgendes ein:
- Geben Sie den Namen für den Cluster ein.
- Wählen Sie als Standorttyp die Option Regional und dann die gewünschte Region für den Cluster aus.
- Wenn Sie die Standardknoten-Standorte überschreiben möchten, z. B. um sie in einer einzelnen Zone auszuführen, markieren Sie das Kästchen Standardknoten-Standorte angeben und wählen dann die Zonen aus, in der die Knotenpools ausgeführt werden sollen.
Release-Version auswählen Sie können optional Kein Versions-Kanal aus der Drop-down-Liste auswählen. Wir empfehlen Ihnen jedoch, sich den Vergleich zwischen Clustern, die in einer Release-Version registriert sind und solchen, die nicht registriert sind anzusehen, bevor Sie diese Option auswählen GKE aktualisiert Cluster, die sich nicht in einer Release-Version befinden, automatisch mit Versionen aus der Stable Channel.
Optional: Geben Sie in der Drop-down-Liste Version eine Version der Steuerungsebene an.
Optional: Konfigurieren Sie weitere Einstellungen für den neuen Cluster.
Optional: Wenn Sie Ihren neuen Cluster bei einer Flotte registrieren möchten, wechseln Sie zum Abschnitt Flottenregistrierung und folgen Sie der Google Cloud Console-Anleitung für Neuen Cluster erstellen und registrieren, um die Clusterregistrierung abzuschließen.
Klicken Sie im Navigationsbereich unter Knotenpools auf default-pool.
Geben Sie im Bereich Knotenpooldetails Folgendes ein:
- Geben Sie einen Namen für den standardmäßigen Knotenpool ein.
- Optional: Wählen Sie die Knotenversion aus.
- Geben Sie die Anzahl der Knoten ein, die im Cluster erstellt werden sollen. Sie müssen verfügbare Ressourcenkontingente für die Knoten und ihre Ressourcen (z. B. Firewallrouten) haben.
- Optional: Sie können automatische Knotenupgrades deaktivieren. Wir empfehlen Ihnen jedoch, sich die Überlegungen zur Deaktivierung automatischer Knotenupgrades durchzulesen, bevor Sie diese Option wählen.
Klicken Sie im Navigationsbereich unter Knotenpools auf Knoten.
Wählen Sie in der Drop-down-Liste Image-Typ das gewünschte Knoten-Image aus.
Wählen Sie die Maschinenkonfiguration aus, die standardmäßig für die Instanzen verwendet werden soll. Jeder Maschinentyp wird unterschiedlich abgerechnet. Der Standardmaschinentyp ist
e2-medium
. Informationen zu Preisen von Maschinentypen finden Sie in der Preisübersicht für Maschinentypen.Wählen Sie in der Drop-down-Liste Bootlaufwerktyp den gewünschten Laufwerktyp aus.
Geben Sie die Größe des Bootlaufwerks ein.
Klicken Sie im Navigationsbereich unter Knotenpools auf Sicherheit.
- Optional: Geben Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten an:
- Maximieren Sie auf der Seite Erweiterte Einstellungen den Abschnitt Sicherheit.
- Wählen Sie im Menü Dienstkonto das gewünschte Dienstkonto aus.
Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben, das Ihre Knoten anstelle des Compute Engine-Standarddienstkontos verwenden können. Eine Anleitung zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.
Klicken Sie auf Erstellen.
Terraform
Informationen zum Erstellen eines regionalen Clusters mit einem Einzelzonen-Knotenpool mit Terraform finden Sie im folgenden Beispiel:
Weitere Informationen zur Verwendung von Terraform finden Sie unter Terraform-Unterstützung für GKE.
Mit kubectl mit einem Cluster interagieren
Nachdem Sie einen Cluster erstellt haben, müssen Sie kubectl
konfigurieren, bevor Sie über die Befehlszeile mit dem Cluster interagieren können.
Regionalen Cluster mit einem Mehrzonenknotenpool erstellen.
In der folgenden Anleitung erfahren Sie, wie Sie einen regionalen Cluster mit einem Knotenpool mit mehreren Zonen erstellen. Dies ist die Standardeinrichtung. Die Steuerungsebene und die Knoten des Clusters werden in mehreren Zonen der angegebenen Region repliziert.
Sie können den Cluster mit der gcloud CLI, der Google Cloud -Konsole oder Terraform erstellen.
Wenn Sie GKE-Anwendungen mit Visual Studio Code entwickeln, erstellen Sie Cluster mit Cloud Code.
gcloud
Bevor Sie die gcloud CLI-Befehle zum Erstellen des Clusters ausführen, legen Sie das richtige Projekt fest:
gcloud config set project PROJECT_ID
# The project set above is used for quota and billing by default.
# To use a different project for quota and billing, run the following command:
# gcloud config set billing/quota_project PROJECT_ID
Verwenden Sie zum Erstellen eines regionalen Clusters mit der gcloud CLI einen der folgenden Befehle und ersetzen Sie folgende Variablen:
CLUSTER_NAME
: Der Name Ihres neuen regionalen Clusters.CONTROL_PLANE_LOCATION
: die Compute Engine-Region der Steuerungsebene des Clusters. Geben Sie eine Region wieus-central1
an.CHANNEL
: Der Typ der Release-Version, entwederrapid
,regular
,stable
oderNone
. Standardmäßig wird der Cluster in der Release-Versionregular
registriert, wenn die folgenden Flags nicht angegeben sind:--cluster-version
,--release-channel
,--no-enable-autoupgrade
und--no-enable-autorepair
.VERSION
: Die Version, die Sie für den Cluster angeben möchten.- Wenn Sie Regionen mit mehr als drei Zonen haben oder weniger Zonen wünschen, können Sie mit dem optionalen Flag
--node-locations
die Standardzonen überschreiben, in denen die Knoten repliziert werden.
Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben, das Ihre Knoten anstelle des Compute Engine-Standarddienstkontos verwenden können. Eine Anleitung zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.
Wenn Sie ein benutzerdefiniertes Dienstkonto in der gcloud CLI angeben möchten, fügen Sie Ihrem Befehl das folgende Flag hinzu:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Ersetzen Sie SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos mit minimalen Berechtigungen.
Verwendung einer bestimmten Release-Version:
Führen Sie den folgenden Befehl aus, um einen neuen Cluster mit einem bestimmten Release-Kanal zu erstellen:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--release-channel CHANNEL
Bestimmte Version verwenden:
Führen Sie den folgenden Befehl aus, um einen neuen Cluster mit einer bestimmten Clusterversion zu erstellen:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--cluster-version VERSION
Standardversion für Cluster, die nicht in einer Release-Version registriert sind, verwenden:
Wenn Sie einen neuen Cluster mit der Standardversion für Cluster erstellen möchten, die nicht in einer Release-Version registriert ist, müssen Sie keine Clusterversion angeben. Sie müssen jedoch für die Release-Version None
festlegen:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--release-channel None
Beispiel
Mit dem folgenden Befehl erstellen Sie einen regionalen Cluster in der Release-Version regular
mit neun Knoten in us-west1
(drei Zonen mit jeweils drei Knoten, Standardeinstellung):
gcloud container clusters create my-regional-cluster --location us-west1
Beispiel
Mit dem folgenden Befehl erstellen Sie einen regionalen Cluster mit der Release-Version regular
mit sechs Knoten (drei Zonen mit jeweils zwei Knoten, angegeben durch --num-nodes
):
gcloud container clusters create my-regional-cluster \
--location us-west1 \
--num-nodes 2
Beispiel
Mit dem folgenden Befehl wird ein regionaler Cluster erstellt, der für die Release-Version regular
registriert ist, mit sechs Knoten in zwei Zonen (zwei Zonen, angegeben durch --node-locations
, mit jeweils drei Knoten):
gcloud container clusters create my-regional-cluster \
--location us-central1 \
--node-locations us-central1-b,us-central1-c
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.
Geben Sie im Bereich Clustergrundlagen Folgendes ein:
- Geben Sie den Namen für den Cluster ein.
- Wählen Sie als Standorttyp die Option Regional und dann die gewünschte Region für den Cluster aus.
- Wenn Sie die Standardknoten-Standorte überschreiben möchten, z. B. um sie in einer einzelnen Zone auszuführen, markieren Sie das Kästchen Standardknoten-Standorte angeben und wählen dann die Zonen aus, in der die Knotenpools ausgeführt werden sollen.
Release-Version auswählen Sie können optional Kein Versions-Kanal aus der Drop-down-Liste auswählen. Wir empfehlen Ihnen jedoch, sich den Vergleich zwischen Clustern, die in einer Release-Version registriert sind und solchen, die nicht registriert sind anzusehen, bevor Sie diese Option auswählen GKE aktualisiert Cluster, die sich nicht in einer Release-Version befinden, automatisch mit Versionen aus der Stable Channel.
Optional: Geben Sie in der Drop-down-Liste Version eine Version der Steuerungsebene an.
Optional: Konfigurieren Sie weitere Einstellungen für den neuen Cluster.
Optional: Wenn Sie Ihren neuen Cluster bei einer Flotte registrieren möchten, wechseln Sie zum Abschnitt Flottenregistrierung und folgen Sie der Google Cloud Console-Anleitung für Neuen Cluster erstellen und registrieren, um die Clusterregistrierung abzuschließen.
Klicken Sie im Navigationsbereich unter Knotenpools auf default-pool.
Geben Sie im Bereich Knotenpooldetails Folgendes ein:
- Geben Sie einen Namen für den standardmäßigen Knotenpool ein.
- Optional: Wählen Sie die Knotenversion aus.
- Geben Sie die Anzahl der Knoten ein, die im Cluster erstellt werden sollen. Sie müssen verfügbare Ressourcenkontingente für die Knoten und ihre Ressourcen (z. B. Firewallrouten) haben.
- Optional: Sie können automatische Knotenupgrades deaktivieren. Wir empfehlen Ihnen jedoch, sich die Überlegungen zur Deaktivierung automatischer Knotenupgrades durchzulesen, bevor Sie diese Option wählen.
Klicken Sie im Navigationsbereich unter Knotenpools auf Knoten.
Wählen Sie in der Drop-down-Liste Image-Typ das gewünschte Knoten-Image aus.
Wählen Sie die Maschinenkonfiguration aus, die standardmäßig für die Instanzen verwendet werden soll. Jeder Maschinentyp wird unterschiedlich abgerechnet. Der Standardmaschinentyp ist
e2-medium
. Informationen zu Preisen von Maschinentypen finden Sie in der Preisübersicht für Maschinentypen.Wählen Sie in der Drop-down-Liste Bootlaufwerktyp den gewünschten Laufwerktyp aus.
Geben Sie die Größe des Bootlaufwerks ein.
Klicken Sie im Navigationsbereich unter Knotenpools auf Sicherheit.
- Optional: Geben Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten an:
- Maximieren Sie auf der Seite Erweiterte Einstellungen den Abschnitt Sicherheit.
- Wählen Sie im Menü Dienstkonto das gewünschte Dienstkonto aus.
Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben, das Ihre Knoten anstelle des Compute Engine-Standarddienstkontos verwenden können. Eine Anleitung zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.
Klicken Sie auf Erstellen.
Terraform
Informationen zum Erstellen eines regionalen Clusters mit einem Knotenpools mit mehreren Zonen mit Terraform finden Sie im folgenden Beispiel:
Weitere Informationen zur Verwendung von Terraform finden Sie unter Terraform-Unterstützung für GKE.
Mit kubectl mit einem Cluster interagieren
Nachdem Sie einen Cluster erstellt haben, müssen Sie kubectl
konfigurieren, bevor Sie über die Befehlszeile mit dem Cluster interagieren können.