Regionale Cluster


Auf dieser Seite wird erläutert, wie regionale Cluster in Google Kubernetes Engine (GKE) funktionieren. Es wird gezeigt, wie Sie einen regionalen Cluster erstellen, und dabei werden auch die verschiedenen Clustertypen dargestellt.

Übersicht

Standardmäßig werden die Steuerungsebene (Master) und alle Knoten eines Clusters in einer einzigen Computing-Zone ausgeführt, die Sie beim Erstellen des Clusters angeben. Regionale Cluster erhöhen die Verfügbarkeit der Steuerungsebene (Master) und Knoten eines Clusters, da sie über mehrere Zonen einer Region repliziert werden. Dies bietet neben multizonalen Clustern die folgenden Vorteile:

  • Wenn eine oder mehrere (aber nicht alle) Zonen in einer Region ausfallen, bleibt die Steuerungsebene des Clusters zugänglich, solange ein Replikat der Steuerungsebene verfügbar bleibt.
  • Während einer Clusterwartungsaktion, etwa bei einem Clusterupgrade, ist immer nur ein Replikat der Steuerungsebene nicht verfügbar. Der Cluster ist dabei weiterhin funktionsfähig.

Standardmäßig werden die Steuerungsebene und die einzelnen Knotenpools über drei Zonen einer Region repliziert. Sie können die Anzahl der Replikate aber individuell anpassen.

Nach dem Erstellen des Clusters lässt sich die Art des Clusters (zonal, multizonal oder regional) nicht mehr ändern.

So funktionieren regionale Cluster

Regionale Cluster replizieren Clustermaster und -knoten über mehrere Zonen in einer einzigen Region. Ein regionaler Cluster im Bereich us-east1 erstellt beispielsweise Replikate der Steuerungsebene und der Knoten in den drei us-east1-Zonen: us-east1-b, us-east1-c und us-east1-d. Bei einem Infrastrukturausfall werden die Arbeitslasten weiterhin ausgeführt und die Knoten können manuell oder mit dem Cluster-Autoscaling neu aufeinander abgestimmt werden.

Die Verwendung regionaler Cluster bietet verschiedene Vorteile:

  • Robustheit beim Ausfall einer einzelnen Zone. Regionale Cluster sind in einer ganzen Region und nicht nur in einer einzelnen Zone innerhalb einer Region verfügbar. Wenn eine einzelne Zone ausfällt, sind die Kubernetes-Steuerungsebene und die Ressourcen nicht betroffen.
  • Kontinuierliche Master-Upgrades, Mastergrößenanpassung und reduzierte Ausfallzeiten bei Masterfehlern. Mit redundanten Replikaten der Steuerungsebene bieten regionale Cluster eine höhere Verfügbarkeit der Kubernetes API, sodass Sie auch während Upgrades auf Ihre Steuerungsebene zugreifen können.

Beschränkungen

  • Regionale Cluster bestehen standardmäßig aus neun Knoten (drei pro Zone) gleichmäßig auf drei Zonen in einer Region. Dafür werden neun IP-Adressen benötigt. Bei Bedarf können Sie die Anzahl der Knoten auf einen Knoten pro Zone reduzieren. Neu erstellten Cloud Billing-Konten werden pro Region nur acht IP-Adressen zugeteilt. Daher müssen Sie unter Umständen je nach Größe Ihres regionalen Clusters eine Erhöhung Ihrer Kontingente für regional verwendete IP-Adressen anfordern. Wenn die Anzahl der verwendbaren IP-Adressen zu niedrig ist, schlägt die Clustererstellung fehl.

  • Wählen Sie zum Ausführen von GPUs in Ihrem regionalen Cluster eine Region mit drei Zonen aus, in denen GPUs verfügbar sind. Sie können Zonen auch beim Erstellen des Clusters mit dem Flag --node-locations angeben.

    Wenn die von Ihnen ausgewählte Region nicht drei Zonen hat, in denen GPUs verfügbar sind, wird möglicherweise ein Fehler wie der folgende angezeigt:

    ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=
        (1) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-c.
        (2) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-a.
    

    Eine vollständige Liste der Regionen und Zonen, in denen GPUs verfügbar sind, finden Sie unter GPUs in Compute Engine.

  • Sie können keine Knotenpools in Zonen außerhalb des Clusters erstellen. Allerdings haben Sie die Möglichkeit, die Zonen eines Clusters zu ändern. Dann erstrecken sich alle neuen und vorhandenen Knoten über die geänderten Zonen.

Preise

Die Verwendung regionaler Cluster beansprucht mehr regionale Kontingente Ihres Projekts als ein vergleichbarer zonaler oder multizonaler Cluster. Machen Sie sich daher mit Ihren Kontingenten und den GKE-Preisen vertraut, bevor Sie regionale Cluster einsetzen. Wenn die Fehlermeldung Insufficient regional quota to satisfy request for resource auftritt, überschreitet Ihre Anfrage das in der aktuellen Region verfügbare Kontingent.

Außerdem wird Ihnen zonenübergreifender Knoten-zu-Knoten-Traffic in Rechnung gestellt. Wenn beispielsweise eine Arbeitslast, die in einer Zone ausgeführt wird, mit einer Arbeitslast in einer anderen Zone kommunizieren muss, entstehen für den zonenübergreifenden Traffic Kosten. Weitere Informationen finden Sie in der Compute Engine-Preisübersicht unter Ausgehend zonenübergreifend in derselben Region (pro GB) im Abschnitt "Allgemeine Netzwerkpreise".

Nichtflüchtiger Speicher in regionalen Clustern

Zonale nichtflüchtige Speicher sind zonale Ressourcen und regionale nichtflüchtige Speicher sind multizonale Ressourcen. Wenn Sie einen nichtflüchtigen Speicher hinzufügen, sofern keine Zone angegeben ist, weist GKE das Laufwerk einer einzelnen zufälligen Zone zu. Informationen zum Steuern der Zonen finden Sie unter Zonen in nichtflüchtigen Speichern.

Regionale Cluster automatisch skalieren

Beachten Sie bei der automatischen Skalierung von Knotenpools in regionalen Clustern mit Cluster Autoscaler die im Folgenden aufgeführten Hinweise.

Weitere Informationen erhalten Sie unter Limits für die automatische Skalierung für regionale Cluster und Zonenübergreifender Ausgleich für Cluster Autoscaler.

Skalierungslimits überdimensionieren

Damit im unwahrscheinlichen Fall eines zonalen Ausfalls die Kapazität aufrechterhalten wird, können Sie Ihre Skalierungslimits mit GKE überdimensionieren. So ist die Mindestverfügbarkeit auch dann gewährleistet, wenn einige Zonen nicht verfügbar sind.

Wenn Sie beispielsweise einen Cluster mit drei Zonen auf 150 % (50 % Überschusskapazität) überdimensionieren, können Sie dafür sorgen, dass 100 % des Traffics an verfügbare Zonen weitergeleitet wird, wenn ein Drittel der Clusterkapazität verloren geht. Im vorherigen Beispiel würden Sie dies erreichen, indem Sie anstelle von vier maximal sechs Knoten pro Zone angeben. Wenn eine Zone ausfällt, wird der Cluster auf 12 Knoten in den verbleibenden Zonen skaliert.

Wenn Sie einen Zwei-Zonen-Cluster auf 200 % überdimensionieren, werden 100 % des Traffics in jedem Fall weitergeleitet, auch wenn die Hälfte der Clusterkapazität verloren geht.

Weitere Informationen zum Cluster Autoscaler oder über FAQ für Autoscaling finden Sie in der Kubernetes-Dokumentation.

Nächste Schritte