Alphacluster erstellen

Auf dieser Seite erfahren Sie, wie Sie einen Alphacluster in Google Kubernetes Engine (GKE) erstellen. Das ist ein GKE-Cluster mit aktivierten Kubernetes-Alpha-APIs und ‑Funktionen. In einem Alphacluster sind alle Alpha-Feature-Gates, die mit der Kubernetes-Version verfügbar sind, standardmäßig aktiviert. Beta-Feature-Gates, die in Kubernetes standardmäßig aktiviert sind, sind ebenfalls aktiviert. Sie können die GKE-Standardeinstellungen ändern, um festzulegen, welche Feature-Gates aktiviert sind. Weitere Informationen dazu, welche Feature-Gates für bestimmte Versionen verfügbar sind und welche Betafunktionen standardmäßig aktiviert sind, finden Sie in der Kubernetes-Dokumentation unter Feature-Gates für Alpha- oder Betafunktionen.

Weitere Informationen zur Funktionsweise von GKE-Clustern und zur Auswahl des zu erstellenden GKE-Cluster finden Sie unter GKE-Clusterarchitektur und Informationen zu Optionen für die Clusterkonfiguration.

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.

Alpha-Cluster erstellen

Sie können einen Alphacluster mit der Google Cloud -Konsole oder der gcloud CLI erstellen. Wenn Sie einen Cluster erstellen möchten, in dem die Feature-Gates anders als die Standardwerte aktiviert oder deaktiviert werden, verwenden Sie die gcloud CLI.

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 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. Wählen Sie in der Drop-down-Liste Release-Version die Option Kein Kanal aus.

      : Es ist nicht möglich, einen Alphacluster zu erstellen, der für eine Release-Version registriert ist. Das liegt daran, dass automatische Upgrades bei Verwendung von Release-Versionen nicht deaktiviert werden können, Alphacluster sich aber nicht upgraden lassen.
    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.
    5. Deaktivieren Sie die Optionen Automatisches Upgrade aktivieren und Automatische Reparatur aktivieren.
  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 im Navigationsbereich unter Cluster auf Features.

  15. Klicken Sie auf Kubernetes-Alphafunktionen in diesem Cluster aktivieren.

  16. Bestätigen Sie die Warnung durch Auswahl von Ich verstehe die Auswirkungen.

  17. Klicken Sie auf Erstellen.

gcloud

Führen Sie dazu diesen Befehl aus:

gcloud container clusters create CLUSTER_NAME \
    --enable-kubernetes-alpha \
    --no-enable-autorepair \
    --no-enable-autoupgrade \
    --location CONTROL_PLANE_LOCATION [\
    --alpha-cluster-feature-gates FEATURE_GATES_LIST]

Dabei gilt:

  • CLUSTER_NAME: Der Name, den Sie für den Cluster auswählen.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.
  • --cluster-version VERSION ist optional und gibt die GKE-Version an, die im Cluster ausgeführt werden soll. Wenn kein Wert angegeben wird, wird im Cluster die Standard-Patchversion für die Clustererstellung für Kein Kanal ausgeführt, wie in der Tabelle Aktuelle Versionen dargestellt.
  • FEATURE_GATES_LIST: Die Liste der Feature-Gates, die anders als die Standardwerte aktiviert oder deaktiviert werden sollen. Jeder String steht für die Aktivierung oder Deaktivierung eines Feature-Gates. Beispiel: featureX=true, featureY=false Wenn Sie dieses Flag weglassen, erstellt GKE den Cluster mit den Standardwerten für GKE. Das bedeutet, dass alle mit der Kubernetes-Version verfügbaren Alpha-Feature-Gates aktiviert sind. Die von Kubernetes standardmäßig aktivierten Beta-Feature-Gates sind ebenfalls aktiviert. Weitere Informationen dazu, welche Feature-Gates für bestimmte Versionen verfügbar sind und welche Betafunktionen standardmäßig aktiviert sind, finden Sie in der Kubernetes-Dokumentation unter Feature-Gates für Alpha- oder Betafunktionen. Wenn Sie dieses Flag einfügen, ändern Sie die Feature Gates, die aktiviert werden, im Vergleich zu den Standardeinstellungen von GKE. Weitere Informationen finden Sie unter Feature-Gates und Alphacluster.

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.

Sie werden aufgefordert, eine Warnung mit dem Hinweis zu bestätigen, dass der Alphacluster nicht aktualisiert und nach 30 Tagen gelöscht wird:

This will create a cluster with Kubernetes alpha features enabled.
- This cluster will not be covered by the GKE SLA and should
  not be used for production workloads.
- You will not be able to upgrade the master or nodes.
- The cluster will be deleted after 30 days.

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.

Status von Feature-Gates für einen Alphacluster prüfen

In Alphaclustern können Sie Feature-Gates selektiv aktivieren oder deaktivieren. Weitere Informationen finden Sie unter Feature-Gates und Alpha-Cluster.

Informationen zum Prüfen des Status von Feature-Gates für Ihren Cluster finden Sie unter Status von Feature-Gates prüfen.

Prüfen, wann ein Alphacluster abläuft

Prüfen Sie mit dem folgenden Befehl, wann Alphacluster ablaufen:

gcloud container clusters list

Fehlerbehebung bei der Erstellung eines Alphaclusters mit Feature-Gates

Wenn Sie versuchen, einen Cluster mit einem ungültigen Feature-Gate oder einem Feature-Gate zu erstellen, das für die Kubernetes-Version Ihres Clusters nicht unterstützt wird, kann der Cluster in einem Fehlerstatus erstellt werden.

In Cloud Logging finden Sie eine Meldung, die in etwa so aussieht:

failed to set feature gates from initial flags-based config:
unrecognized feature gate: UNRECOGNIZED_FEATURE_GATE_NAME

Wenn dieser Fehler auftritt, löschen Sie den fehlgeschlagenen Cluster. Prüfen Sie die Schreibweise und Kompatibilität der Feature-Gates mit der angegebenen Kubernetes-Version. Versuchen Sie dann noch einmal, den Cluster zu erstellen.

Nächste Schritte