Regionale Cluster erstellen

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:

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.

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

  1. Rufen Sie die Seite Willkommen auf:

    Zur Begrüßungsseite

  2. Klicken Sie im Feld Projektnummer auf  In die Zwischenablage kopieren.
  3. Rufen Sie die IAM-Seite auf.

    IAM aufrufen

  4. Klicken Sie auf Zugriffsrechte erteilen.
  5. Geben Sie im Feld Neue Hauptkonten den folgenden Wert an:
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    Ersetzen Sie PROJECT_NUMBER durch die kopierte Projektnummer.
  6. Wählen Sie im Menü Rolle auswählen die Rolle Kubernetes Engine Default Node Service Account aus.
  7. Klicken Sie auf Speichern.

gcloud

  1. 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
    
  2. 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 wie us-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, entweder rapid, regular, stable oder None. Standardmäßig wird der Cluster in der Release-Version regular 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

  1. Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.

    Zur Seite „Kubernetes-Cluster erstellen“

  2. Geben Sie im Bereich Clustergrundlagen Folgendes ein:

    1. Geben Sie den Namen für den Cluster ein.
    2. Wählen Sie als Standorttyp die Option Regional und dann die gewünschte Region für den Cluster aus.
    3. 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.

    4. 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.

    5. Optional: Geben Sie in der Drop-down-Liste Version eine Version der Steuerungsebene an.

  3. Optional: Konfigurieren Sie weitere Einstellungen für den neuen Cluster.

  4. 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.

  5. Klicken Sie im Navigationsbereich unter Knotenpools auf default-pool.

  6. Geben Sie im Bereich Knotenpooldetails Folgendes ein:

    1. Geben Sie einen Namen für den standardmäßigen Knotenpool ein.
    2. Optional: Wählen Sie die Knotenversion aus.
    3. 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.
    4. 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.
  7. Klicken Sie im Navigationsbereich unter Knotenpools auf Knoten.

  8. Wählen Sie in der Drop-down-Liste Image-Typ das gewünschte Knoten-Image aus.

  9. 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.

  10. Wählen Sie in der Drop-down-Liste Bootlaufwerktyp den gewünschten Laufwerktyp aus.

  11. Geben Sie die Größe des Bootlaufwerks ein.

  12. Klicken Sie im Navigationsbereich unter Knotenpools auf Sicherheit.

  13. Optional: Geben Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten an:
    1. Maximieren Sie auf der Seite Erweiterte Einstellungen den Abschnitt Sicherheit.
    2. 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.

  14. Klicken Sie auf Erstellen.

Terraform

Informationen zum Erstellen eines regionalen Clusters mit einem Einzelzonen-Knotenpool mit Terraform finden Sie im folgenden Beispiel:

resource "google_container_cluster" "default" {
  name               = "gke-standard-regional-single-zone"
  location           = "us-west1"
  node_locations     = ["us-west1-c"]
  initial_node_count = 2
}

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 wie us-central1 an.
  • CHANNEL: Der Typ der Release-Version, entweder rapid, regular, stable oder None. Standardmäßig wird der Cluster in der Release-Version regular 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

  1. Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.

    Zur Seite „Kubernetes-Cluster erstellen“

  2. Geben Sie im Bereich Clustergrundlagen Folgendes ein:

    1. Geben Sie den Namen für den Cluster ein.
    2. Wählen Sie als Standorttyp die Option Regional und dann die gewünschte Region für den Cluster aus.
    3. 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.

    4. 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.

    5. Optional: Geben Sie in der Drop-down-Liste Version eine Version der Steuerungsebene an.

  3. Optional: Konfigurieren Sie weitere Einstellungen für den neuen Cluster.

  4. 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.

  5. Klicken Sie im Navigationsbereich unter Knotenpools auf default-pool.

  6. Geben Sie im Bereich Knotenpooldetails Folgendes ein:

    1. Geben Sie einen Namen für den standardmäßigen Knotenpool ein.
    2. Optional: Wählen Sie die Knotenversion aus.
    3. 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.
    4. 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.
  7. Klicken Sie im Navigationsbereich unter Knotenpools auf Knoten.

  8. Wählen Sie in der Drop-down-Liste Image-Typ das gewünschte Knoten-Image aus.

  9. 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.

  10. Wählen Sie in der Drop-down-Liste Bootlaufwerktyp den gewünschten Laufwerktyp aus.

  11. Geben Sie die Größe des Bootlaufwerks ein.

  12. Klicken Sie im Navigationsbereich unter Knotenpools auf Sicherheit.

  13. Optional: Geben Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten an:
    1. Maximieren Sie auf der Seite Erweiterte Einstellungen den Abschnitt Sicherheit.
    2. 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.

  14. Klicken Sie auf Erstellen.

Terraform

Informationen zum Erstellen eines regionalen Clusters mit einem Knotenpools mit mehreren Zonen mit Terraform finden Sie im folgenden Beispiel:

resource "google_container_cluster" "default" {
  name               = "gke-standard-regional-multi-zone"
  location           = "us-central1"
  node_locations     = ["us-central1-b", "us-central1-c"]
  initial_node_count = 2
}

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.

Nächste Schritte