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 FeldtopologySpreadConstraints.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 vontopologySpreadConstraints
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
- Administratorcluster für die Verwendung in Topologiedomänen erstellen
- Nutzercluster für die Verwendung in Topologiedomänen erstellen
- Konfigurationsdatei für die vSphere-Infrastruktur