Topologiedomains einrichten

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

Wenn Sie eine Topologiedomain einrichten möchten, müssen Sie den erweiterten Cluster aktivieren. Beachten Sie die folgenden Einschränkungen der Vorabversion für erweiterte Cluster:

  • Sie können erweiterte Cluster nur beim Erstellen neuer Cluster der Version 1.31 aktivieren.
  • Nachdem die erweiterten Clusterfunktionen aktiviert wurden, können Sie den Cluster nicht mehr auf Version 1.32 aktualisieren. 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 Enterprise-Nutzerrollen und -Aufgaben.

Übersicht

Eine Topologiedomain ist eine Gruppe von Clusterknoten, die als Teil derselben logischen oder physischen Gruppierung wie ein Campus oder ein Rechenzentrum betrachtet werden. Eine Topologiedomain sollte einer zugrunde liegenden Hardware oder Software entsprechen, die mit einer gewissen Wahrscheinlichkeit zu einem korrelierten Ausfall führt. Beispiel:

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

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

Wenn Sie während der Vorschau eine Topologiedomain verwenden möchten, haben Sie folgende Möglichkeiten:

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

  • Konfigurieren Sie die PodTemplate in Ihrem Deployment, StatefulSet oder ReplicaSet mit dem Topologie-Labelschlüssel. In der Pod-Spezifikation verwenden Sie den Schlüssel im Topologielabel als Wert für das Feld topologySpreadConstraints.topologyKey. Mit diesem Schlüssel kann der Kubernetes-Planer Pods auf die Topologiedomain verteilen, um eine hohe Verfügbarkeit zu gewährleisten und eine Überkonzentrierung in einem einzelnen Bereich bei einem Ausfall 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 Topologiedomainlabels

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

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

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

Im Allgemeinen verwendet der Kubernetes-Planer 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 Folgendes:

  • Die Topologiedomänen müssen ausgeglichen sein. Sie sollten in jeder Topologiedomain eine nahezu gleiche CPU- und RAM-Kapazität bereitstellen.
  • Geben Sie mindestens zwei und vorzugsweise drei Topologiedomains an.
  • Die Auslieferung darf nicht auf mehr als einen Topologieschlüssel verteilt werden.
  • Die Knoten sollten in jeder Topologiedomain eine ähnliche Größe haben.
  • Wenn Sie Markierungen und Toleranzen für die Arbeitslasttrennung innerhalb eines Clusters verwenden, muss jede Knotengruppe die vorherigen Anforderungen erfüllen.

Wenn diese Richtlinien nicht erfüllt sind, versucht der Scheduler weiterhin, die volle Kapazität des Clusters zu nutzen. Das Planen von Pods kann jedoch länger dauern und nicht alle Pods erhalten das erwartete Ausbreitungsverhalten.

Nächste Schritte