Alphacluster sind kurzlebige Google Kubernetes Engine-Cluster (GKE), die Kubernetes-Alpha- APIs und -Features aktivieren und Alphaversionen zukünftiger Nebenversionen ausführen können. In diesem Dokument erfahren Sie, wie Sie einen Alphacluster erstellen, bestimmte Feature-Gates aktivieren oder deaktivieren und Alpha-Patchversionen im Rapid Release Channel ausführen. Alphacluster sind für Early Adopter und Plattformadministratoren gedacht, die mit kommenden Kubernetes-Features und -Versionen experimentieren möchten.
Weitere Informationen zur Funktionsweise von GKE-Clustern und zur Auswahl des zu erstellenden GKE-Clustertyps finden Sie unter GKE-Cluster architektur und Informationen zu Optionen für die Clusterkonfiguration.
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,
installieren und dann
initialisieren Sie die
gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste
Version mit dem
gcloud components updateBefehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.
- Machen Sie sich mit den Einschränkungen von Alphaclustern vertraut.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die
Administrator für Kubernetes Engine-Cluster (roles/container.clusterAdmin) IAM-Rolle für das Projekt zuzuweisen,
um die Berechtigungen zu erhalten, die
Sie zum Erstellen von und Interagieren mit Alphaclustern benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
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 „Standardmäßiges Kubernetes Engine-Knotendienstkonto“ (roles/container.defaultNodeServiceAccount) haben. Standardmäßig verwendet GKE das Compute Engine-Standarddienstkonto, das automatisch in Ihrem Projekt erstellt wird, als Knotendienstkonto.
Führen Sie die folgenden Schritte aus, um dem
Compute Engine-Standarddienstkonto die Rolle roles/container.defaultNodeServiceAccount zuzuweisen:
Console
- Rufen Sie die Seite Willkommen auf:
- Klicken Sie im Feld Projektnummer auf In die Zwischenablage kopieren.
- Rufen Sie die Seite IAM auf:
- Klicken Sie auf Zugriffsrechte erteilen.
- Geben Sie im Feld Neue Hauptkonten den folgenden Wert an:
Ersetzen SiePROJECT_NUMBER-compute@developer.gserviceaccount.comPROJECT_NUMBERdurch die kopierte Projektnummer. - Wählen Sie im Menü Rolle auswählen die Rolle Standardmäßiges Kubernetes Engine-Knotendienstkonto aus.
- Klicken Sie auf Speichern.
gcloud
- Suchen Sie Ihre Google Cloud Projektnummer:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Ersetzen Sie
PROJECT_IDdurch Ihre Projekt-ID.Die Ausgabe sieht etwa so aus:
12345678901
- Weisen Sie dem
Compute Engine-Standarddienstkonto die
roles/container.defaultNodeServiceAccountRolle zu:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
Ersetzen Sie
PROJECT_NUMBERdurch die Projektnummer aus dem vorherigen Schritt.
Alpha-Cluster erstellen
Sie können einen Alphacluster mit der Google Cloud Console oder der gcloud CLI erstellen. Wir empfehlen die Verwendung der gcloud CLI aus folgenden Gründen:
- Sie können Ihren Cluster im Rapid Release-Version registrieren, der für Alpha Cluster empfohlen wird.
Sie können die Alpha- oder Beta-Feature-Gates aktivieren oder deaktivieren, die von den Standardwerten abweichen.
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 Zonal und dann die gewünschte Zone für den Cluster aus.
- 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.
Wählen Sie in der Drop-down-Liste Release-Version die Option Kein Kanal (verworfen) aus.
Optional: Geben Sie in der Drop-down-Liste Version eine Version der Steuerungsebene an.
Optional: Konfigurieren Sie andere Einstellungen für Ihren 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 Knoten upgrades durchzulesen, bevor Sie diese Option wählen.
- Deaktivieren Sie Automatisches Upgrade aktivieren und Automatische Reparatur aktivieren.
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.
Optional: 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. Informationen zum Erstellen eines Dienstkontos mit geringster Berechtigung finden Sie unter Dienstkonto mit geringster Berechtigung verwenden.
Klicken Sie im Navigationsbereich unter Cluster auf Features.
Klicken Sie auf Kubernetes-Alphafunktionen in diesem Cluster aktivieren.
Bestätigen Sie die Warnung durch Auswahl von Ich verstehe die Auswirkungen.
Klicken Sie auf Erstellen.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container clusters create CLUSTER_NAME \
--release-channel=CHANNEL \
--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.CHANNEL: Der Typ der Release-Version. Dieser Wert muss einer der folgenden sein:rapid: Registrierung in der Rapid Release-Version, die für Alphacluster empfohlen wird.regular: Registrierung in der Regular Release-Version.stable: Registrierung im Stable Release-Version.none: Keine Registrierung in einem Release Channel. Diese Option wurde verworfen und wird entfernt.
CONTROL_PLANE_LOCATION: Der Compute Engine Standort der Steuerungsebene Ihres Clusters. Geben Sie für regionale Cluster eine Region oder für zonale Cluster eine Zone an.--cluster-version VERSION: Optional. Gibt die GKE Version an, die im Cluster ausgeführt werden soll. Wenn kein Wert festgelegt wird, führt der Cluster die Standard-Patchversion für die Clustererstellung für den ausgewählten Release Channel aus, wie in der Tabelle Aktuelle Versionen dargestellt.FEATURE_GATES_LIST: Die Liste der Feature-Gates, die von den Standardwerten abweichen. Jeder String stellt die Aktivierung oder Deaktivierung eines Feature-Gates dar. Beispiel:featureX=true, featureY=false. Wenn Sie dieses Flag weglassen, erstellt GKE den Cluster mit den Standardwerten für GKE. Das bedeutet, dass alle Alpha-Feature-Gates, die mit der Kubernetes-Version verfügbar sind, aktiviert sind. Die Beta-Feature-Gates, die standardmäßig von Kubernetes aktiviert werden, sind ebenfalls aktiviert. Weitere Informationen zu den Feature Gates, die mit bestimmten Versionen verfügbar sind, und zu den Beta-Features, die standardmäßig aktiviert sind, finden Sie in der Kubernetes-Dokumentation unter Feature-Gates für Alpha- oder Beta Features. Wenn Sie dieses Flag einfügen, ändern Sie, welche Feature-Gates aktiviert sind, 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. Informationen zum Erstellen eines Dienstkontos mit geringster Berechtigung finden Sie unter Dienstkonto mit geringster Berechtigung verwenden.
Wenn Sie in der gcloud CLI ein benutzerdefiniertes Dienstkonto angeben möchten, fügen Sie Ihrem Befehl das folgende Flag hinzu:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.comErsetzen 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
konfigurieren kubectl
bevor Sie über die Befehlszeile mit dem Cluster interagieren können.
Status von Feature-Gates für einen Alphacluster prüfen
Bei 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.
Alpha-Patchversionen in Alphaclustern ausführen
In Alphaclustern, die Sie im Rapid Release-Version registrieren, können Alpha-Patchversionen zukünftiger Kubernetes-Nebenversionen ausgeführt werden. Diese Alphaversionen ermöglichen den Vorabzugriff, um Features und Änderungen in der nächsten Nebenversion zu testen, bevor GKE diese Nebenversion für alle Cluster im Rapid Channel verfügbar macht.
So ermitteln und führen Sie Alpha-Patchversionen in Alphaclustern aus:
Ermitteln Sie die verfügbaren Alphaversionen im Rapid Channel:
gcloud container get-server-config \ --flatten="channels" --filter="channels.channel=RAPID" \ --location=LOCATION \ --format="yaml(channels.channel,channels.previewVersions)"Ersetzen Sie
LOCATIONdurch die Region, in der Sie den Alphacluster erstellen möchten, z. B.us-central1.Die Ausgabe sieht etwa so aus:
channels: channel: RAPID previewVersions: - 1.37.0-gke.1173000+previewWenn die Ausgabe leer ist, sind in dieser Region keine Alphaversionen verfügbar. Versuchen Sie es mit einer anderen Region oder sehen Sie in den Versionshinweisen zum Rapid Channel nach, ob Versionsinformationen verfügbar sind.
Erstellen Sie den Alphacluster:
gcloud container clusters create CLUSTER_NAME \ --release-channel=rapid \ --enable-kubernetes-alpha \ --no-enable-autorepair \ --no-enable-autoupgrade \ --location=CONTROL_PLANE_LOCATION \ --cluster-version=ALPHA_VERSIONDabei gilt:
CLUSTER_NAME: Ein Name für den Alphacluster.CONTROL_PLANE_LOCATION: Die Region oder Zone für die Steuerungsebene des Clusters. Verwenden Sie dieselbe Region, in der Sie im vorherigen Schritt die Verfügbarkeit der Alphaversion geprüft haben, oder eine Zone in dieser Region.ALPHA_VERSION: Die spezifische Alpha-Patchversion, die im Cluster ausgeführt werden soll, aus der Ausgabe des vorherigen Schritts.
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 mit einem Fehlerstatus erstellt werden.
In Cloud Logging wird möglicherweise eine Meldung wie die folgende angezeigt:
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 Cluster, bei dem ein Fehler aufgetreten ist. 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.