Kubernetes Beta APIs mit GKE-Clustern verwenden


Verwenden Sie Kubernetes Beta APIs, um auf neue Features in Ihren Google Kubernetes Engine-Clustern (GKE) zuzugreifen. Wenn Sie Beta-APIs verwenden möchten, die mit Version 1.24 oder höher eingeführt wurden, konfigurieren Sie Beta-APIs.

So werden neue Features mit der Kubernetes API eingeführt

GKE-Cluster bestehen aus einer Steuerungsebene und Worker-Knoten. Die Steuerungsebene stellt den API-Server zur Verfügung, der die Kubernetes API bereitstellt, sodass Endnutzer sowie interne und externe Komponenten kommunizieren können. Diese API wird im Laufe der Zeit weiterentwickelt. Neue Features werden in der Alpha- oder Betaphase eingeführt und dann entweder zu General Availability (GA) hochgestuft oder in neueren Nebenversionen eingestellt oder entfernt.

Sie können Alpha APIs nur mit Alphaclustern verwenden, aber Sie können Beta APIs mit allen Arten von GKE-Clustern verwenden. Ab Kubernetes Version 1.24 sind neue Beta APIs standardmäßig in neuen Clustern deaktiviert. Bei vorhandenen Clustern, die mit einer Version vor 1.24 erstellt wurden, bleiben vorhandene Beta-APIs aktiviert, da automatisch aktivierte (vor Version 1.24 eingeführt) oder manuell aktivierte Beta APIs (ab 1.24 eingeführt) nicht auf vorhandenen Clustern deaktiviert werden können. Bei allen Clustern bleiben vorhandene Beta-APIs, die vor Version 1.24 eingeführt wurden, standardmäßig aktiviert. Neue Versionen der vorhandenen Beta APIs bleiben ebenfalls standardmäßig aktiviert.

Wenn beispielsweise eine v1beta1 API in Kubernetes Version 1.22 eingeführt wurde und eine neue Version dieser Beta API, wie v1beta3, in Kubernetes Version 1.25 eingeführt wird, wird die API automatisch aktiviert. Dies liegt daran, dass es sich um eine neue Version einer bestehenden Beta API handelt, nicht um eine völlig neue Beta API. Eine neue Beta API mit der Version v1beta1, die in Kubernetes Version 1.24 oder höher eingeführt wurde, ist jedoch standardmäßig deaktiviert.

Damit Sie Beta APIs verwenden können, die mit Version 1.24 und höher eingeführt wurden, müssen Sie beta APIs pro Ressource und Cluster aktivieren. Sie können APIs beim Erstellen eines Clusters oder für einen vorhandenen Cluster aktivieren. Informationen zu den für die Nebenversion des Clusters verfügbaren Beta APIs finden Sie in den verfügbaren Beta APIs.

Nachdem Sie eine Beta API aktiviert haben, bleibt sie aktiviert, bis die Beta API verworfen und der Cluster auf die Nebenversion aktualisiert wird, in der die API entfernt wurde. Informationen zu den in Ihrem Cluster aktivierten Beta APIs finden Sie unter Prüfen, welche Beta APIs aktiviert sind.

Verfügbare Beta-APIs

Sie können eine Teilmenge von Kubernetes-Beta-APIs für Ihre GKE-Cluster aktivieren. Andere Beta-APIs sind aus folgenden Gründen nicht verfügbar:

  • Die Beta API basiert auf Nicht-GA-Kubernetes-Features.
  • Die Beta API ist nicht sicher.
  • Die Beta API ist nicht mit Autopilot kompatibel.

In der folgenden Tabelle sind die Beta APIs und die entsprechende Nebenversion aufgeführt, in der sie eingeführt wurden:

Kubernetes-Version Mit dieser Kubernetes-Nebenversion hinzugefügte Beta-APIs Mit GKE verfügbar Notes
1.29
  • Keine
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
Sie müssen beide APIs gleichzeitig aktivieren. Dadurch wird die Betafunktion Validierende Zulassungsrichtlinie aktiviert.
1.28
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
  • Keine
1.27
  • authentication.k8s.io/v1beta1/selfsubjectreviews
  • authentication.k8s.io/v1beta1/selfsubjectreviews

Überlegungen vor der Verwendung von Beta APIs

Kubernetes Beta APIs unterliegen der Kubernetes-Richtlinie zur Einstellung von Produkten und Diensten. Wenn eine Beta API verworfen wurde, dürfen Sie sie nicht mehr verwenden. Weitere Informationen finden Sie unter Einstellung von Beta APIs.

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

Beta APIs konfigurieren

Beta APIs sind pro Ressource und Cluster aktiviert. Sie können APIs bei der Cluster-Erstellung oder für einen vorhandenen Cluster aktivieren.

Verwenden Sie die Darstellung {group}/{version}/{resource}, um eine Beta API-Ressource für diese Befehle aufzulisten. Die Version muss eine Betaversion sein. Ein Beispiel für diese gültige Darstellung ist authentication.k8s.io/v1beta1/selfsubjectreviews.

Ersetzen Sie bei den Befehlen im nächsten Abschnitt die folgenden Variablen:

  • CLUSTER_NAME: der Name des Clusters, den Sie aktualisieren möchten
  • LIST_OF_APIS: die Liste der Beta APIs, die Sie aktivieren möchten, in einer durch Kommas getrennten Liste.
  • COMPUTE_REGION ist die Compute Engine-Region für den neuen Cluster. Verwenden Sie für zonale Cluster --zone=COMPUTE_ZONE.

Neuen Cluster mit aktivierten Beta APIs erstellen

Erstellen Sie einen neuen Cluster mit einer Liste von aktivierten Beta APIs:

gcloud container clusters create-auto CLUSTER_NAME  \
    --enable-kubernetes-unstable-apis=LIST_OF_APIS \
    --region=COMPUTE_REGION

Beta APIs in einem vorhandenen Cluster aktivieren

Aktivieren Sie eine Liste der Beta APIs in einem vorhandenen Cluster:

gcloud container clusters update CLUSTER_NAME  \
    --enable-kubernetes-unstable-apis=LIST_OF_APIS \
    --region=COMPUTE_REGION

Beta APIs in einem vorhandenen Cluster deaktivieren

Sie können keine Beta APIs deaktivieren, die bereits für einen Cluster aktiviert sind. Beta APIs bleiben verfügbar, bis sie verworfen werden und der Cluster auf die Nebenversion aktualisiert wird, in der die API entfernt wurde. Weitere Informationen finden Sie unter Einstellung von Beta APIs.

Prüfen, welche Beta APIs aktiviert sind

Prüfen Sie, welche Beta APIs für Ihren GKE-Cluster aktiviert sind:

gcloud container clusters describe CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --format="value(enableK8sBetaApis.enabledApis)"

Einstellung von Beta APIs

Nach dem Aktivieren einer Beta API bleibt sie aktiviert, bis die Beta API verworfen und der Cluster auf die Nebenversion aktualisiert wird, in der die API entfernt wurde.

Beta APIs sind normalerweise für drei Nebenversionen verfügbar, bevor sie zugunsten einer neuen Betaversion, einer stabilen Version oder ohne Ersatz verworfen werden. Beta API-Versionen werden drei Nebenversionen nach der Einstellung entfernt. Wenn Sie eine Beta API verwenden, die verworfen wurde und in einer künftigen Kubernetes-Nebenversion entfernt wird, müssen Sie zu unterstützten APIs migrieren, damit Ihr Cluster auf die Nebenversion aktualisiert werden kann, in der die Beta API entfernt wurde. Weitere Informationen finden Sie unter Funktionsweise von Einstellungen von Kubernetes mit GKE.

GKE vereinfacht diesen Vorgang, indem versucht wird, die Nutzung verworfener Kubernetes APIs zu erkennen. Wenn GKE die Nutzung einer verworfenen API erkennt, werden automatische Upgrades für die Nebenversion pausiert, in der diese API entfernt wurde. GKE gibt auch Statistiken und Empfehlungen zur Einstellung an, um Sie über die Nutzung einer verworfenen API durch Ihren Cluster zu informieren, damit Sie Maßnahmen ergreifen können, um Upgrades fortzusetzen. Weitere Informationen finden Sie unter Geeignete Kubernetes-Einstellungen bewerten und minimieren.

Eine vollständige Liste der verworfenen APIs sowie Informationen dazu, ob GKE die Nutzung erkennt, finden Sie in der Tabelle zur Einstellung von Kubernetes APIs.

Nächste Schritte