Topologiedomains einrichten

Auf dieser Seite finden Sie eine Übersicht über Topologiedomänen und Richtlinien für die Einrichtung.

Für die Einrichtung einer Topologiedomain müssen Sie erweiterte Cluster aktivieren. Beachten Sie die folgenden Einschränkungen der erweiterten Cluster-Vorschau:

  • Sie können Advanced Cluster nur beim Erstellen neuer Cluster der Version 1.31 aktivieren.
  • Nachdem der erweiterte Cluster aktiviert wurde, können Sie kein Upgrade des Clusters auf Version 1.32 durchführen. Aktivieren Sie den erweiterten Cluster nur in einer Testumgebung.

Diese Seite richtet sich an Administratoren und Architekten, die IT-Lösungen und Systemarchitekturen gemäß der Unternehmensstrategie definieren und Richtlinien zu Nutzerberechtigungen erstellen und verwalten. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud -Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und -Aufgaben.

Übersicht

Eine Topologiedomäne ist eine Gruppe von Clusterknoten, die als Teil derselben logischen oder physischen Gruppierung wie ein Campus oder ein Rechenzentrum betrachtet werden. Eine Topologiedomäne sollte einer zugrunde liegenden Hardware oder Software entsprechen, bei der die Möglichkeit eines korrelierten Fehlers besteht. Beispiel:

  • Softwarefehler wie unterschiedliche vCenter-Server
  • Hardwarefehler, z. B. verschiedene Racks, verschiedene Stromquellen und verschiedene Gebäude

In Google Distributed Cloud (nur Software) für VMware definieren Sie beim Erstellen eines Clusters im Rahmen der Einrichtung einer Topologiedomäne ein Topologielabel. Nach der Clustererstellung wird das Topologielabel in die Labels der Knoten in der Topologiedomain eingefügt.

Sie haben folgende Möglichkeiten, eine Topologiedomäne zu nutzen:

  • Version 1.32 und höher: Standardmäßige Topologie-Verteilungsbeschränkungen auf Clusterebene konfigurieren. Weitere Informationen finden Sie unter schedulerConfiguration.

  • Verwenden Sie die Standardeinschränkung auf Kubernetes-Clusterebene, "topology.kubernetes.io/zone", als Schlüssel im Topologielabel. Weitere Informationen finden Sie unter Integrierte Standardeinschränkungen.

  • Konfigurieren Sie PodTemplate in Ihrem Deployment, StatefulSet oder ReplicaSet entsprechend dem Topologielabel-Schlüssel. In der Pod-Spezifikation verwenden Sie den Schlüssel im Topologie-Label als Wert für das Feld topologySpreadConstraints.topologyKey. Mit diesem Schlüssel kann der Kubernetes-Scheduler Pods über die Topologiedomain verteilen, um Hochverfügbarkeit zu gewährleisten und eine Überkonzentration in einem einzelnen Bereich im Falle eines Fehlers zu verhindern. Weitere Informationen zum Konfigurieren von topologySpreadConstraints in Ihrer Pod-Spezifikation finden Sie in der Kubernetes-Dokumentation unter Pod-Topologie-Streuungseinschränkungen.

Beispiel für Domainlabels für Topologie

Angenommen, Sie erstellen die folgenden drei Topologiedomänen beim Erstellen eines Nutzerclusters:

...
topologyDomains:
- name: "topology-domain-1"
  topologyLabels:
    "topology.examplepetstore.com/zone": "zone-1"
...
...
topologyDomains:
- name: "topology-domain-2"
  topologyLabels:
    "topology.examplepetstore.com/zone": "zone-2"
...
...
topologyDomains:
- name: "topology-domain-3"
  topologyLabels:
    "topology.examplepetstore.com/zone": "zone-3"
...

Nachdem der Cluster erstellt wurde, aktualisieren Sie die Pod-Spezifikation, z. B.:

...
topologySpreadConstraints:
  topologyKey: "topology.examplepetstore.com/zone"
...

Der Kubernetes-Scheduler verwendet topology.examplepetstore.com/zone, um die Clusterknoten in verschiedene Gruppen zu unterteilen: zone-1, zone-2 und zone-3. Der Planer verteilt die Pods dann auf diese drei Knotengruppen.

Richtlinien für die Einrichtung von Topologiedomains

Damit der Kubernetes-Scheduler alle Clusterressourcen effektiv nutzen kann, empfehlen wir die folgenden Richtlinien:

  • Die Topologie-Domains müssen ausgeglichen sein. Sie sollten in jeder Topologiedomäne nahezu gleiche Mengen an CPU- und RAM-Kapazität bereitstellen.
  • Geben Sie mindestens zwei und vorzugsweise drei Topologiedomänen an.
  • Verteilen Sie die Daten nicht nach mehr als einem Topologieschlüssel.
  • Die Knoten sollten in jeder Topologiedomäne eine ähnliche Größe haben.
  • Wenn Sie Markierungen und Toleranzen für die Trennung von Arbeitslasten innerhalb eines Clusters verwenden, sollte jede Knotengruppe die oben genannten Anforderungen erfüllen.

Wenn diese Richtlinien nicht eingehalten werden, versucht der Scheduler weiterhin, die volle Kapazität des Clusters zu nutzen. Es kann jedoch länger dauern, bis Pods geplant werden, und nicht alle Pods weisen das erwartete Verteilungsverhalten auf.

Nächste Schritte