Zonale Cluster erstellen


Auf dieser Seite wird beschrieben, wie Sie einen zonalen Cluster mit den aktivierten Standardfunktionen in Google Kubernetes Engine (GKE) erstellen. Zonale Cluster haben eine einzige Steuerungsebene in einer einzelnen Zone. Je nach Verfügbarkeitsanforderungen können Sie die Knoten für den zonalen Cluster in einer einzigen Zone oder in mehreren Zonen verteilen.

Best Practice: Verwenden Sie regionale Cluster, um Ihre Produktionsarbeitslasten auszuführen, da sie eine höhere Verfügbarkeit als zonale Cluster bieten.

Weitere Informationen zu den verschiedenen Clusterverfügbarkeitstypen finden Sie unter Clusterkonfigurationsoptionen.

Einzelne Zone im Vergleich zu multizonalen Zonen

Ein Einzelzonencluster hat eine einzige Steuerungsebene, die in einer Zone ausgeführt wird. Diese Steuerungsebene verwaltet Arbeitslasten auf Knoten, die in derselben Zone ausgeführt werden. Wenn Sie eine Arbeitslast in einer einzelnen Zone ausführen, ist diese Arbeitslast bei einem Zonenausfall nicht verfügbar.

Die Knoten eines multizonalen Clusters werden in mehreren Zonen ausgeführt. Allerdings ist nur ein Replikat der Steuerungsebene vorhanden. Wenn Sie eine Arbeitslast in mehreren Zonen ausführen und ein zonaler Ausfall auftritt, wird die Arbeitslast in dieser Zone unterbrochen, bleibt jedoch in anderen Zonen verfügbar.

Wenn Sie eine höhere Verfügbarkeit für die Steuerungsebene benötigen, können Sie stattdessen einen regionalen Cluster erstellen. In einem regionalen Cluster wird die Steuerungsebene über mehrere Zonen in einer Region repliziert.

Nachdem Sie einen Cluster erstellt haben, ist es nicht mehr möglich, ihn von zonal auf regional bzw. von regional auf zonal umzustellen.

Hinweis

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 diese Aufgabe 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 gcloud components update ab.
  • Multizonale Cluster nutzen mehr Ressourcen als Einzelzonencluster. Beim Erstellen eines multizonalen Clusters müssen Sie ausreichende Kontingente haben.
  • 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 Knotendienstkonten 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 Begrüßungsseite auf:

    Zur Begrüßungsseite

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

    IAM aufrufen

  4. Klicken Sie auf Zugriff erlauben.
  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 in 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.

Zonalen Cluster erstellen

Beim Erstellen eines neuen zonalen Clusters müssen Sie mindestens einen Namen, ein Projekt (in der Regel das aktuelle Projekt) und eine Zone (in der Regel der Standardspeicherort für Befehlszeilentools) angeben. Verwenden Sie für alle anderen Werte die Standardeinstellungen. Es gibt jedoch weitere mögliche Konfigurationseinstellungen, von denen nur einige in diesem Abschnitt beschrieben werden und einige davon nach dem Erstellen des Clusters nicht mehr geändert werden können. Achten Sie darauf, 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 Referenzhandbüchern gcloud container clusters create und Terraform google_container_cluster.

Sie können einen zonalen Cluster mit der gcloud CLI, der Google Cloud Console oder Terraform erstellen.

Wenn Sie GKE-Anwendungen mit Cloud Code for VS Code entwickeln, können Sie Cluster mit Cloud Code erstellen.

gcloud

Verwenden Sie einen der folgenden Befehle, um einen zonalen Cluster mit der gcloud CLI zu erstellen.

Dabei gilt:

  • CLUSTER_NAME: Der Name des neuen Clusters.
  • 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, --no-enable-autorepair.
  • COMPUTE_ZONE: Die Computing-Zone für die Clustersteuerungsebene.
  • VERSION: Die Version, die Sie für den Cluster angeben möchten.
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...]: Zonen, in denen Knoten erstellt werden. Sie können beliebig viele Zonen für Ihren Cluster angeben. Alle Zonen müssen sich in derselben Region befinden wie die Steuerungsebene des Clusters, die durch das Flag --zone angegeben wird. Bei zonalen Clustern muss --node-locations die primäre Zone des Clusters enthalten.

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 geringster Berechtigung verwenden.

Wenn Sie ein benutzerdefiniertes Dienstkonto in der gcloud CLI angeben möchten, fügen Sie dem 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 \
    --release-channel CHANNEL \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

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 \
    --cluster-version VERSION \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

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 \
    --release-channel None \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Beispiel

Mit dem folgenden Befehl wird ein multizonaler Cluster namens example-cluster erstellt, wobei sich die Steuerungsebene des Clusters in der Zone us-central-a befindet und es drei Knotenstandorte gibt. Der Cluster wird für die Release-Version regular registriert.

Wird das Flag --num-nodes weggelassen, werden vom Cluster standardmäßig drei Knoten pro Zone erstellt. Da drei Zonen angegeben wurden, erstellt dieser Befehl einen neun Knoten umfassenden Cluster mit jeweils drei Knoten in us-central1-a, us-central1-b und us-central1-c.

gcloud container clusters create example-cluster \
    --zone us-central1-a \
    --node-locations us-central1-a,us-central1-b,us-central1-c

Console

Führen Sie die folgenden Aufgaben aus, um einen zonalen Cluster mit der Google Cloud Console zu erstellen:

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf Erstellen.

  3. 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 Zonal und dann die gewünschte Zone für den Cluster aus.
    3. Wenn Sie einen multizonalen Cluster erstellen, klicken Sie das Kästchen Standardknotenstandorte angeben an und wählen Sie weitere Zonen aus, in denen 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: Wählen Sie in der Drop-down-Liste Version eine Version der Steuerungsebene aus.

  4. Optional (verfügbar mit GKE Enterprise): 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 können Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten angeben:
    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 geringster Berechtigung verwenden.

  14. Klicken Sie auf Erstellen.

Terraform

Informationen zum Erstellen eines zonalen Clusters mit einem Knotenpool mit einer einzelnen Zone mit Terraform finden Sie im folgenden Beispiel:

resource "google_container_cluster" "default" {
  name               = "gke-standard-zonal-single-zone"
  location           = "us-central1-a"
  initial_node_count = 1

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

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

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

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

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.

Clustervorlagen

GKE unterstützte zuvor Vorlagen für Cluster. Diese Vorlagen wurden aus der Google Cloud Console entfernt, sind aber weiterhin über die folgenden Links zugänglich:

Nächste Schritte

Jetzt testen

Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit von GKE in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

GKE kostenlos testen