Konfigurationsdatei für den Admincluster 1.30 und höher

In diesem Dokument werden die Felder in der Konfigurationsdatei des Administratorclusters für Version 1.30 und höher von Google Distributed Cloud beschrieben.

Vorlage für Ihre Konfigurationsdatei erstellen

Wenn Sie gkeadm zum Erstellen Ihrer Administratorworkstation verwendet haben, hat gkeadm eine Vorlage für die Konfigurationsdatei des Administratorclusters generiert. Außerdem hat gkeadm einige Felder mit Werten versehen.

Wenn Sie Ihre Administratorworkstation nicht mit gkeadm erstellt haben, können Sie mit gkectl eine Vorlage für die Konfigurationsdatei des Administratorclusters generieren.

So generieren Sie eine Vorlage für die Konfigurationsdatei des Administratorclusters:

gkectl create-config admin --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION

Ersetzen Sie Folgendes:

  • OUTPUT_FILENAME: Pfad Ihrer Wahl für die generierte Vorlage. Wenn Sie dieses Flag weglassen, benennt gkectl die Datei admin-cluster.yaml und speichert sie im aktuellen Verzeichnis.

  • VERSION: die Google Distributed Cloud-Versionsnummer. Beispiel: gkectl create-config admin --gke-on-prem-version=1.33.100-gke.89. Diese Version muss gleich oder niedriger als Ihre gkectl-Version sein. Wenn Sie dieses Flag weglassen, werden in die generierte Konfigurationsvorlage Werte eingefügt, die auf dem neuesten 1.33-Patch basieren.

Vorlage

Pflichtfelder und Standardwerte

Wenn ein Feld als Erforderlich gekennzeichnet ist, muss in der vervollständigten Konfigurationsdatei ein Wert für das Feld angegeben sein.

Wenn für ein Feld ein Standardwert angegeben ist, wird dieser Wert vom Cluster verwendet, wenn Sie für das Feld nichts eingeben. Sie können einen Standardwert überschreiben, indem Sie einen Wert eingeben.

Wenn ein Feld nicht als „Erforderlich“ gekennzeichnet ist, ist es optional. Sie können das Feld ausfüllen, wenn es für Sie relevant ist, müssen es aber nicht.

Konfigurationsdatei ausfüllen

Geben Sie in Ihrer Konfigurationsdatei Feldwerte ein, wie in den folgenden Abschnitten beschrieben.

enableAdvancedCluster

1.33 und höher

Alle neuen Cluster werden als erweiterte Cluster erstellt. Wenn Sie dieses Feld in Ihre Konfigurationsdatei aufnehmen, wenn Sie einen neuen Cluster erstellen, muss es auf true festgelegt sein. Wenn Sie dieses Feld auf false festlegen, wird die Clustererstellung blockiert.

1,32

Optional
Veränderlich (von false zu true ist zulässig)
Boolescher Wert
Vorab ausgefüllt: true
Standard: true

Legen Sie enableAdvancedCluster auf false fest, wenn Sie beim Erstellen eines neuen Clusters keine erweiterten Cluster aktivieren möchten. Wenn dieses Flag auf true (erweiterter Cluster aktiviert) gesetzt ist, werden in der Google Distributed Cloud-Software Controller bereitgestellt, die eine erweiterbare Architektur ermöglichen. Wenn Sie erweiterte Cluster aktivieren, erhalten Sie Zugriff auf neue Funktionen und Möglichkeiten wie Topologiedomänen. Dieses Feld ist erforderlich, wenn infraConfigFilePath konfiguriert ist.

Lesen Sie sich unbedingt die Unterschiede beim Ausführen erweiterter Cluster durch, bevor Sie einen erweiterten Cluster aktivieren.

Informationen zum Aktualisieren eines vorhandenen Clusters auf einen erweiterten Cluster finden Sie unter Cluster auf einen erweiterten Cluster aktualisieren. Nach dem Upgrade auf einen erweiterten Cluster ist das Deaktivieren nicht zulässig.

1,31

Nur für neue Cluster verfügbar
Vorschau
Optional
Unveränderlich
Boolescher Wert
Vorausgefüllt: false
Standard: false

Setzen Sie enableAdvancedClusters auf true, um beim Erstellen eines neuen Clusters den erweiterten Cluster zu aktivieren. Wenn dieses Flag aktiviert ist, werden mit der zugrunde liegenden Google Distributed Cloud-Software Controller bereitgestellt, die eine erweiterbare Architektur ermöglichen. Wenn Sie einen erweiterten Cluster aktivieren, erhalten Sie Zugriff auf neue Funktionen und Möglichkeiten wie Topologiedomänen. Dieses Feld ist erforderlich, wenn infraConfigFilePath konfiguriert ist.

1.30 und niedriger

Nicht verfügbar.

name

Optional
String
Standard: Ein zufälliger Name mit dem Präfix „gke-admin-“

Ein Name Ihrer Wahl für den Cluster.

Beispiel:

name: "my-admin-cluster"

bundlePath

Erforderlich
Veränderlich
String

Der Pfad Ihrer Google Distributed Cloud-Bundle-Datei.

Die vollständige Google Distributed Cloud-Bundle-Datei enthält alle Komponenten in einem bestimmten Release von Google Distributed Cloud. Wenn Sie eine Administratorworkstation erstellen, erhalten Sie ein vollständiges Bundle unter:

/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz

Beispiel:

bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.10.0-gke.8.full.tgz"

preparedSecrets.enabled

Wenn infraConfigFilePath konfiguriert ist, entfernen Sie dieses Feld.

Vorschau
Optional
Unveränderlich
Boolescher Wert
Vorausgefüllt: false
Standard: false

Legen Sie dies auf true fest, wenn Sie vorbereitete Anmeldedaten im Administratorcluster verwenden möchten. Setzen Sie es andernfalls auf false oder lassen Sie das Feld weg.

Beispiel:

preparedSecrets:
  enabled: true

vCenter

Dieser Abschnitt enthält Informationen zu Ihrer vSphere-Umgebung und Ihrer Verbindung zu vCenter Server.

Wenn infraConfigFilePath konfiguriert ist, entfernen Sie den gesamten Abschnitt. Andernfalls ist dieser Abschnitt erforderlich und unveränderlich.

vCenter.address

Erforderlich
Unveränderlich
String

Die IP-Adresse oder der Hostname Ihres vCenter-Servers.

Weitere Informationen finden Sie unter vCenter-Serveradresse suchen.

Beispiele:

vCenter:
  address: "203.0.113.100"
vCenter:
  address: "my-vcenter-server.my-domain.example"

vCenter.datacenter

Erforderlich
Unveränderlich
String

Der relative Pfad eines vSphere-Rechenzentrums.

Der angegebene Wert ist relativ zum Stammordner mit dem Namen /.

Befindet sich Ihr Rechenzentrum im Stammordner, ist der Wert der Name des Rechenzentrums.

Beispiel:

vCenter:
  datacenter: "my-data-center"

Andernfalls ist der Wert ein relativer Pfad, der einen oder mehrere Ordner sowie den Namen des Rechenzentrums enthält.

Beispiel:

vCenter:
  datacenter: "data-centers/data-center-1"

vCenter.cluster

Erforderlich
Unveränderlich
String

Der relative Pfad eines vSphere-Clusters, der für die ESXi-Hosts steht, auf denen Ihre Administratorcluster-VMs ausgeführt werden. Dieser vSphere-Cluster stellt eine Teilmenge der physischen ESXi-Hosts in Ihrem vCenter-Rechenzentrum dar.

Der von Ihnen angegebene Wert ist relativ zu /.../DATA_CENTER/vm/.

Wenn sich Ihr vSphere-Cluster im Ordner /.../DATA_CENTER/vm/ befindet, ist der Wert der Name des vSphere-Clusters.

Beispiel:

vCenter:
  cluster: "my-vsphere-cluster"

Andernfalls ist der Wert ein relativer Pfad, der einen oder mehrere Ordner sowie den Namen des vSphere-Clusters enthält.

Beispiel:

vCenter:
  cluster: "clusters/vsphere-cluster-1"

vCenter.resourcePool

Erforderlich
Unveränderlich
String

Ein vCenter-Ressourcenpool für Ihre Administratorcluster-VMs.

Wenn Sie den Standardressourcenpool verwenden möchten, legen Sie dies auf VSPHERE_CLUSTER/Resources fest.

Beispiel:

vCenter:
  resourcePool: "my-vsphere-cluster/Resources"

Wenn Sie einen bereits erstellten Ressourcenpool verwenden möchten, legen Sie hier den relativen Pfad des Ressourcenpools fest.

Der von Ihnen angegebene Wert ist relativ zu /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/.

Wenn Ihr Ressourcenpool ein direktes untergeordnetes Element von /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/ ist, ist der Wert der Name des Ressourcenpools.

Beispiel:

vCenter:
  resourcePool: "my-resource-pool"

Andernfalls ist der Wert ein relativer Pfad mit zwei oder mehr Ressourcenpools.

Beispiel:

vCenter:
  resourcePool: "resource-pool-1/resource-pool-2"

vCenter.datastore

Erforderlich, wenn vCenter.storagePolicyName nicht angegeben ist
Unveränderlich
String

Der Name eines vSphere-Datenspeichers für Ihren Administratorcluster.

Der angegebene Wert muss ein Name und kein Pfad sein. Fügen Sie dem Wert keine Ordner hinzu.

Beispiel:

vCenter:
  datastore: "my-datastore"

Sie müssen entweder einen Wert für vCenter.datastore oder für vCenter.storagePolicyName angeben, aber nicht für beide. Wenn Sie einen Wert für dieses Feld angeben, geben Sie keinen Wert für vCenter.storagePolicyName an. Das Feld vCenter.datastore ist unveränderlich, es sei denn, Sie legen das Feld auf einen leeren String fest, wenn Sie einen Datenspeicher zu Storage Policy Based Management (SPBM) migrieren.

vCenter.storagePolicyName

Erforderlich, wenn vCenter.datastore nicht angegeben ist
Unveränderlich
String

Der Name einer VM-Speicherrichtlinie für die Clusterknoten.

Der Administratorcluster muss hochverfügbar sein, um mit der Speicherrichtlinie zu funktionieren.

Weitere Informationen finden Sie unter Speicherrichtlinie konfigurieren.

Sie müssen entweder einen Wert für vCenter.datastore oder für vCenter.storagePolicyName angeben, aber nicht für beide. Wenn Sie einen Wert für dieses Feld angeben, geben Sie keinen Wert für vCenter.datastore an.

vCenter.caCertPath

Erforderlich
Veränderlich
String

Der Pfad des CA-Zertifikats für Ihren vCenter-Server.

Weitere Informationen finden Sie unter vCenter-CA-Zertifikat abrufen.

Informationen zum Aktualisieren dieses Felds für einen vorhandenen Cluster finden Sie unter vCenter-Zertifikatsverweise aktualisieren.

Beispiel:

vCenter:
  caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"

vCenter.credentials.fileRef.path

Erforderlich
String

Der Pfad einer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres vCenter-Nutzerkontos enthält. Das Nutzerkonto sollte die Administratorrolle oder entsprechende Berechtigungen haben. Weitere Informationen finden Sie unter vSphere-Anforderungen.

Sie können dieses Feld mit gkectl update in einem vorhandenen Cluster aktualisieren.

Informationen zum Aktualisieren von vCenter-Anmeldedaten finden Sie unter Clusteranmeldedaten aktualisieren.

Beispiel:

vCenter:
  credentials:
    fileRef:
      path: "my-config-folder/admin-creds.yaml"

vCenter.credentials.fileRef.entry

Erforderlich
String

Der Name des Anmeldedatenblocks in Ihrer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres vCenter-Nutzerkontos enthält.

Sie können dieses Feld mit gkectl update in einem vorhandenen Cluster aktualisieren.

Informationen zum Aktualisieren von vCenter-Anmeldedaten finden Sie unter Clusteranmeldedaten aktualisieren.

Beispiel:

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-creds"

vCenter.folder

Optional
Unveränderlich
String
Standard: Das ganze Rechenzentrum betreffender Ordner

Der relative Pfad zu einem vSphere-Ordner, den Sie bereits erstellt haben. In diesem Ordner werden die VMs Ihres Administratorclusters gespeichert.

Wenn Sie keinen Wert angeben, werden Ihre Administratorcluster-VMs in /.../DATA_CENTER/vm/ platziert.

Wenn Sie einen Wert angeben, ist er relativ zu /.../DATA_CENTER/vm/.

Der Wert kann der Name eines Ordners sein.

Beispiel:

vCenter:
  folder: "my-folder"

Der Wert kann auch ein relativer Pfad sein, der mehrere Ordner enthält.

Beispiel:

vCenter:
  folder: "folders/folder-1"

vCenter.dataDisk

Geben Sie für dieses Feld keinen Wert an. Entfernen Sie das Feld oder lassen Sie es auskommentiert.

network

Erforderlich
Unveränderlich

Dieser Abschnitt enthält Informationen zu Ihrem Administratorcluster-Netzwerk.

network.hostConfig

Dieser Abschnitt enthält Informationen zu NTP-Servern, DNS-Servern und DNS-Suchdomains, die von den VMs verwendet werden, die Ihre Clusterknoten sind.

Wenn infraConfigFilePath konfiguriert ist, entfernen Sie den gesamten Abschnitt. Andernfalls ist dieser Abschnitt erforderlich und unveränderlich.

network.hostConfig.dnsServers

Erforderlich, wenn der Abschnitt network.hostConfig ausgefüllt ist.
Unveränderliches
Array von Strings.
Die maximale Anzahl von Elementen im Array ist drei.

Die Adressen der DNS-Server für die VMs.

Beispiel:

network:
  hostConfig:
    dnsServers:
    - "172.16.255.1"
    - "172.16.255.2"

network.hostConfig.ntpServers

Erforderlich, wenn der Abschnitt network.hostConfig ausgefüllt ist.
Unveränderlich
Array von Strings

Die Adressen der Zeitserver, die von den VMs verwendet werden sollen.

Beispiel:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Optional
Unveränderlich
Array von Strings

DNS-Suchdomains, die von den VMs verwendet werden sollen. Diese Domains werden als Teil einer Domainsuchliste verwendet.

Beispiel:

network:
  hostConfig:
    searchDomainsForDNS:
    - "my.local.com"

network.ipMode.type

Unveränderlich
String
Vorab ausgefüllt: „static“
Standard: „dhcp“

Wenn Sie möchten, dass Ihre Clusterknoten ihre IP-Adresse von einem DHCP-Server abrufen, legen Sie für dieses Feld "dhcp" fest. Wenn Sie für die Clusterknoten statische IP-Adressen aus einer von Ihnen bereitgestellten Liste auswählen möchten, legen Sie "static" fest.

In den meisten Fällen sollten Sie static angeben, da Sie immer IP-Adressen für die Knoten der Steuerungsebene des Administratorclusters angeben müssen. DHCP wird nur in den folgenden Fällen verwendet, um IP-Adressen bereitzustellen:

  • Wenn enableControlplaneV2 in Nutzerclustern nicht aktiviert ist, können Sie DHCP für die Knoten der Steuerungsebene des Nutzerclusters verwenden, die sich im Administratorcluster befinden.

  • In Version 1.16 und niedriger können Add-on-Knoten für Administratorcluster ohne Hochverfügbarkeit ihre IP-Adressen von DHCP beziehen. Ab Version 1.28 müssen Administratorcluster HA sein und haben keine Add-on-Knoten.

Beispiel:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Der absolute oder relative Pfad der IP-Blockdatei für Ihren Cluster.

Wenn infraConfigFilePath konfiguriert ist, ist dieses Feld erforderlich.

Dieses Feld ist auch in den folgenden Fällen erforderlich:

  • Administratorcluster ohne Hochverfügbarkeit in Version 1.16 und niedriger: Listen Sie die IP-Adressen für den Knoten der Steuerungsebene und die Add-on-Knoten in einer IP-Blockdatei auf.

  • Administratorcluster mit Hochverfügbarkeit (Version 1.16 und niedriger): Listen Sie die IP-Adressen für Add-on-Knoten in einer IP-Blockdatei auf.

  • Kubeception-Nutzercluster mit Version 1.29 und niedriger: Listen Sie die IP-Adressen für die Knoten der Steuerungsebene des Nutzerclusters in der IP-Blockdatei des Administratorclusters auf.

Unveränderlich
String

Beispiel:

network:
  ipMode:
    ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"

network.serviceCIDR

Erforderlich
Unveränderlich
String
Kleinstmöglicher Bereich: /24
Größtmöglicher Bereich: /12
Vorab ausgefüllt: "10.96.232.0/24"

Ein Bereich von IP-Adressen im CIDR-Format, der für Dienste in Ihrem Cluster verwendet werden soll.

Beispiel:

network:
  serviceCIDR: "10.96.232.0/24"

network.podCIDR

Erforderlich
Unveränderlich
String
Kleinstmöglicher Bereich: /18
Größtmöglicher Bereich: /8
Vorab ausgefüllt: "192.168.0.0/16"

Ein Bereich von IP-Adressen im CIDR-Format, der für Pods in Ihrem Cluster verwendet werden soll.

Beispiel:

network:
  podCIDR: "192.168.0.0/16"

Der Dienstbereich darf sich nicht mit dem Pod-Bereich überschneiden.

Die Dienst- und Pod-Bereiche dürfen sich nicht mit einer Adresse außerhalb des Clusters überschneiden, die Sie von innerhalb des Clusters erreichen möchten.

Angenommen, der Dienstbereich lautet 10.96.232.0/24 und der Pod-Bereich lautet 192.168.0.0/16. Traffic, der von einem Pod an eine Adresse in einem dieser Bereiche gesendet wird, wird als clusterintern behandelt und erreicht kein Ziel außerhalb des Clusters.

Insbesondere dürfen sich die Bereiche für Dienste und Pods nicht überschneiden mit:

  • IP-Adressen von Knoten in einem beliebigen Cluster

  • Von Load-Balancer-Maschinen verwendete IP-Adressen

  • Von Knoten der Steuerungsebene und Load-Balancern verwendete VIPs

  • IP-Adresse von vCenter-Servern, DNS-Servern und NTP-Servern

Wir empfehlen, dass sich Ihre Dienst- und Pod-Bereiche im Adressbereich RFC 1918 befinden.

Dies ist ein Grund für die Empfehlung, RFC 1918-Adressen zu verwenden. Angenommen, Ihr Pod- oder Dienstbereich enthält externe IP-Adressen. Traffic von einem Pod an eine dieser externen Adressen wird als clusterinterner Traffic behandelt und erreicht das externe Ziel nicht.

network.vCenter.networkName

Der Name des vSphere-Netzwerks für Ihre Clusterknoten.

Wenn infraConfigFilePath konfiguriert ist, entfernen Sie dieses Feld. Andernfalls ist dieses Feld erforderlich und unveränderlich.

Beispiel:

network:
  vCenter:
    networkName: "my-network"

Wenn der Name ein Sonderzeichen enthält, müssen Sie dafür eine Escapesequenz verwenden.

Sonderzeichen Escapesequenz
Schrägstrich (/) %2f
Umgekehrter Schrägstrich (\) %5c
Prozentzeichen (%) %25

Wenn der Netzwerkname in Ihrem Rechenzentrum nicht eindeutig ist, können Sie einen vollständigen Pfad angeben.

Beispiel:

network:
  vCenter:
    networkName: "/data-centers/data-center-1/network/my-network"

network.controlPlaneIPBlock

Netzwerkinformationen für die Knoten der Steuerungsebene des Administratorclusters.

Wenn infraConfigFilePath konfiguriert ist, entfernen Sie den gesamten Abschnitt. Andernfalls ist dieser Abschnitt erforderlich und unveränderlich.

network.controlPlaneIPBlock.netmask

Erforderlich
Unveränderlich
String

Die Netzmaske für das Netzwerk mit Ihren Knoten der Steuerungsebene.

Beispiel:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

Erforderlich
Unveränderlich
String

Die IP-Adresse des Standardgateways für Ihre Knoten der Steuerungsebene.

Beispiel:

network:
  controlPlaneIPBlock:
    gateway: "172.16.22.1"

network.controlPlaneIPBlock.ips

Erforderlich
Unveränderlich
Array aus drei Objekten, von denen jedes eine IP-Adresse und optional einen Hostnamen hat.

Dies sind die IP-Adressen, die Ihren Knoten der Steuerungsebene zugewiesen werden.

Beispiel:

network:
  controlPlaneIPBlock:
    ips:
    - ip: "172.16.22.6"
      hostname: "admin-cp-vm-1"
    - ip: "172.16.22.7"
      hostname: "admin-cp-vm-2"
    - ip: "172.16.22.8"
      hostname: "admin-cp-vm-3"

infraConfigFilePath

1,31

Wenn Sie in diesem Feld einen Pfad angeben, werden Topologiedomänen aktiviert.

Vorschau
Optional
String
Veränderlich

Geben Sie den vollständigen Pfad der Konfigurationsdatei für die vSphere-Infrastruktur an.

Beispiel:

infraConfigFilePath: "/my-config-folder/vsphere-infrastructure.yaml"

Kopieren Sie zusätzlich zum Hinzufügen des Pfads die Konfigurationsdatei für die vSphere-Infrastruktur in das entsprechende Verzeichnis.

Wenn Sie einen Pfad zu infraConfigFilePath hinzufügen, müssen Sie die folgenden Änderungen an den Konfigurationsdateien für Administratorcluster und Nutzercluster vornehmen.

Änderungen an der Konfigurationsdatei für den Administratorcluster

  • Entfernen Sie Folgendes aus der Konfigurationsdatei des Administratorclusters. Sie konfigurieren diese Informationen in der Konfigurationsdatei für die vSphere-Infrastruktur pro Topologiedomäne.

    • vCenter: Entfernen Sie den gesamten vCenter-Abschnitt.
    • network.hostConfig: Entfernen Sie den gesamten network.hostConfig-Abschnitt.
    • network.vCenter.networkName: Entfernen Sie dieses Feld.
  • Nehmen Sie die folgenden Änderungen an der Konfigurationsdatei des Administratorclusters vor:

    • network.controlPlaneIPBlock: Entfernen Sie den gesamten Abschnitt. Geben Sie stattdessen die IP-Adressen für die Knoten der Steuerungsebene des Administratorclusters in einer IP-Blockdatei an.

    • preparedSecrets: Entfernen Sie dieses Feld. Vorbereitete Anmeldedaten werden nicht unterstützt, wenn Topologie-Domains aktiviert sind. Entfernen Sie dieses Feld.

  • Die folgenden Felder sind Pflichtfelder:

    • enableAdvancedCluster: auf true setzen.

    • network.ipMode.ipBlockFilePath: auf den vollständigen oder relativen Pfad der IP-Blockdatei des Administratorclusters festgelegt.

    • loadBalancer.kind: auf "ManualLB" setzen. "ManualLB" ist die einzige verfügbare Load-Balancing-Option für mehrere Subnetze (Layer 3), die Google Distributed Cloud bietet.

Änderungen an der Konfigurationsdatei des Nutzerclusters

  • Entfernen Sie Folgendes aus der Konfigurationsdatei des Nutzerclusters. Sie konfigurieren diese Informationen in der Konfigurationsdatei für die vSphere-Infrastruktur pro Topologiedomäne.

    • vCenter: Entfernen Sie den gesamten vCenter-Abschnitt.
    • network.hostConfig: Entfernen Sie den gesamten network.hostConfig-Abschnitt.
    • network.vCenter.networkName: Entfernen Sie dieses Feld.
    • masterNode.vsphere: Entfernen Sie den gesamten Abschnitt.
    • nodePools[i].vsphere.datastore und nodePools[i].vsphere.storagePolicyName: Entfernen Sie diese Felder.
  • Nehmen Sie die folgenden Änderungen an der Konfigurationsdatei des Nutzerclusters vor:

    • network.controlPlaneIPBlock: Entfernen Sie den gesamten Abschnitt. Geben Sie stattdessen die IP-Adressen für die Knoten der Steuerungsebene des Administratorclusters in einer IP-Blockdatei an.

    • preparedSecrets: Entfernen Sie dieses Feld. Vorbereitete Anmeldedaten werden nicht unterstützt, wenn Topologie-Domains aktiviert sind.

    • nodePools[i].vsphere.hostgroups: Entfernen Sie dieses Feld. VM-Host-Affinität wird nicht unterstützt, wenn Topologie-Domains aktiviert sind.

    • multipleNetworkInterfaces: Setzen Sie dieses Feld auf false. Mehrere Netzwerkschnittstellen für Pods werden nicht unterstützt, wenn Topologie-Domains aktiviert sind.

    • storage.vSphereCSIDisabled: Setzen Sie dieses Feld auf true, um die Bereitstellung von vSphere-CSI-Komponenten zu deaktivieren.

  • Die folgenden Felder sind Pflichtfelder:

    • enableAdvancedCluster: In der Konfigurationsdatei des Nutzerclusters auf true festgelegt.

    • network.ipMode.ipBlockFilePath: Auf den vollständigen oder relativen Pfad der IP-Blockdatei des Nutzerclusters festgelegt.

    • loadBalancer.kind: auf "ManualLB" setzen. "ManualLB" ist die einzige verfügbare Multi-Subnetz-Load-Balancing-Option (Schicht 3), die Google Distributed Cloud bietet.

1.30 und niedriger

Nicht verfügbar.

loadBalancer

Dieser Abschnitt enthält Informationen zum Load-Balancer für Ihren Administratorcluster.

loadBalancer.vips.controlPlaneVIP

Erforderlich
Unveränderlich
String

Die IP-Adresse, die Sie auf dem Load-Balancer für den Kubernetes API-Server des Administratorclusters konfiguriert haben.

Beispiel:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.kind

Geben Sie an, welche Art von Load-Balancer verwendet werden soll.

1.32 und höher

Erforderlich
Unveränderlich
String
Vorab ausgefüllt: „MetalLB“

Welche Art von Load-Balancer Sie verwenden können, hängt davon ab, ob Sie den Cluster für die Verwendung von Topologiedomänen einrichten. Es wird davon ausgegangen, dass der Cluster Topologiedomänen verwendet, wenn das Feld infraConfigFilePath konfiguriert ist.

  • Bei Topologiedomänen: Legen Sie für dieses Feld "ManualLB" fest. Sie müssen einen Load Balancer eines Drittanbieters (z. B. F5 BIG-IP oder Citrix) konfigurieren, wenn Sie Topologiedomänen verwenden möchten.

  • Ohne Topologiedomains: Legen Sie "ManualLB" oder "MetalLB" fest. Verwenden Sie "ManualLB", wenn Sie den Load Balancer eines Drittanbieters haben, oder "MetalLB" für unsere gebündelte Lösung.

Wenn enableAdvancedCluster auf true (erweiterter Cluster aktiviert) festgelegt ist, wird die Art des Load-Balancers für die Knoten der Steuerungsebene durch adminMaster.controlPlaneLoadBalancer bestimmt.

Beispiel:

loadBalancer:
  kind: "MetalLB"

1,31

Erforderlich
Unveränderlich
String
Vorab ausgefüllt: „MetalLB“

Welche Art von Load-Balancer Sie verwenden können, hängt davon ab, ob Sie den Cluster für die Verwendung von Topologiedomänen einrichten. Es wird davon ausgegangen, dass der Cluster Topologiedomänen verwendet, wenn das Feld infraConfigFilePath konfiguriert ist.

  • Bei Topologiedomänen: Legen Sie für dieses Feld "ManualLB" fest. Sie müssen einen Load Balancer eines Drittanbieters (z. B. F5 BIG-IP oder Citrix) konfigurieren, wenn Sie Topologiedomänen verwenden möchten.

  • Ohne Topologiedomains: Legen Sie "ManualLB" oder "MetalLB" fest. Verwenden Sie "ManualLB", wenn Sie den Load Balancer eines Drittanbieters haben, oder "MetalLB" für unsere gebündelte Lösung.

Beispiel:

loadBalancer:
  kind: "MetalLB"

1,30

Erforderlich
Unveränderlich
String
Vorab ausgefüllt: „MetalLB“

Legen Sie dafür "ManualLB" oder "MetalLB" fest. Verwenden Sie "ManualLB", wenn Sie den Load Balancer eines Drittanbieters (z. B. F5 BIG-IP oder Citrix) haben, oder "MetalLB" für unsere gebündelte Lösung.

Beachten Sie die folgenden Unterschiede von früheren Versionen:

  • Ab Version 1.30 ist der Wert "F5BigIP" für neue Administratorcluster nicht zulässig.

  • Ab Version 1.28 ist der Wert "Seesaw" für neue Administratorcluster nicht zulässig.

Wenn Sie einen vorhandenen Cluster haben, der diese Load Balancer verwendet, lesen Sie den Abschnitt Clustermigration zu empfohlenen Funktionen planen.

Beispiel:

loadBalancer:
  kind: "MetalLB"

1.29 und 1.28

Erforderlich
Unveränderlich
String
Vorab ausgefüllt: "MetalLB"

Legen Sie dafür "ManualLB", "F5BigIP" oder "MetalLB" fest.

Wenn Sie neue und erweiterte Funktionen nutzen möchten, empfehlen wir Ihnen, "ManualLB" zu verwenden, wenn Sie einen Load Balancer eines Drittanbieters (z. B. F5 BIG-IP oder Citrix) haben, oder "MetalLB" für unsere Paketlösung.

Ab Version 1.28 ist der Wert "Seesaw" für neue Administratorcluster nicht zulässig. Wenn Sie einen vorhandenen Cluster haben, der den Seesaw-Load Balancer verwendet, lesen Sie den Abschnitt Vom Seesaw-Load Balancer zu MetalLB migrieren.

Beispiel:

loadBalancer:
  kind: "MetalLB"

1.16 und niedriger

Erforderlich
Unveränderlich
String
Vorab ausgefüllt: "MetalLB"

String. Legen Sie dafür "ManualLB", "F5BigIP", "Seesaw" oder "MetalLB" fest.

Wenn Sie adminMaster.replicas auf 3 setzen, können Sie den Seesaw-Load-Balancer nicht verwenden.

Beispiel:

loadBalancer:
  kind: "MetalLB"

Wenn Sie Nutzercluster mit der Google Cloud Console, der gcloud CLI oder Terraform erstellen, muss der Typ des Load Balancers für den Administratorcluster und seine Nutzercluster derselbe sein. Die einzige Ausnahme ist, wenn der Administratorcluster Seesaw verwendet. In diesem Fall können die Nutzercluster MetalLB verwenden. Wenn Sie möchten, dass Ihre Administrator- und Nutzercluster unterschiedliche Arten von Load-Balancern verwenden, müssen Sie Nutzercluster mit dem gkectl-Befehlszeilentool erstellen.

loadBalancer.manualLB

Wenn Sie für loadbalancer.kind den Wert "ManualLB" festlegen, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt.
Unveränderlich

loadBalancer.manualLB.ingressHTTPNodePort

Entfernen Sie dieses Feld aus Ihrer Konfigurationsdatei. Es wird in einem Administratorcluster nicht verwendet.

loadBalancer.manualLB.ingressHTTPSNodePort

Entfernen Sie dieses Feld aus Ihrer Konfigurationsdatei. Es wird in einem Administratorcluster nicht verwendet.

loadBalancer.manualLB.konnectivityServerNodePort

Entfernen Sie dieses Feld aus Ihrer Konfigurationsdatei. Es wird in einem Administratorcluster nicht verwendet.

loadBalancer.f5BigIP

1.30 und höher

Ab Version 1.30 ist der Wert "F5BigIP" für loadbalancer.kind für neue Administratorcluster nicht zulässig. Wenn der Abschnitt loadBalancer.f5BigIP in Ihrer Konfigurationsdatei enthalten ist, entfernen Sie ihn oder kommentieren Sie ihn aus.

Sie können Ihren F5 BIG-IP-Load-Balancer weiterhin mit neuen Administratorclustern verwenden, die Konfiguration ist jedoch anders. Konfigurationsdetails finden Sie unter Manuellen Load-Balancing-Modus aktivieren.

Wenn dieser Abschnitt in einem vorhandenen Cluster konfiguriert ist, werden Upgrades auf Version 1.32 blockiert. Sie müssen Ihre Cluster zu empfohlenen Funktionen migrieren, bevor Sie ein Upgrade auf Version 1.32 durchführen.

1,29

Wenn Sie für loadbalancer.kind den Wert "F5BigIP" festlegen, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt.

Zur Aktivierung neuer und erweiterter Features empfehlen wir Ihnen, das manuelle Load-Balancing für Ihren F5 BIG-IP-Load-Balancer zu konfigurieren. Wenn Sie das manuelle Load Balancing aktivieren möchten, legen Sie loadbalancer.kind auf "ManualLB" fest und füllen Sie den Abschnitt loadBalancer.manualLB aus. Weitere Informationen finden Sie unter Modus "Manuelles Load-Balancing" aktivieren.

Wenn Sie einen vorhandenen F5 BIG-IP-Load-Balancer haben und dieser Abschnitt in der Clusterkonfiguration verwendet wird, empfehlen wir Ihnen nach dem Upgrade auf Version 1.29 oder höher, zum manuellen Load Balancing zu migrieren.

1.28 und niedriger

Wenn Sie für loadbalancer.kind den Wert "F5BigIP" festlegen, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt.

Zur Aktivierung neuer und erweiterter Features empfehlen wir Ihnen, das manuelle Load-Balancing für Ihren F5 BIG-IP-Load-Balancer zu konfigurieren. Wenn Sie das manuelle Load Balancing aktivieren möchten, legen Sie loadbalancer.kind auf "ManualLB" fest und füllen Sie den Abschnitt loadBalancer.manualLB aus. Weitere Informationen finden Sie unter Modus "Manuelles Load-Balancing" aktivieren.

loadBalancer.f5BigIP.address

1.30 und höher

Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind = "F5BigIp"
Unveränderlicher
String

Die Adresse Ihres F5 BIG-IP-Load-Balancers. Beispiele:

loadBalancer:
  f5BigIP:
    address: "203.0.113.2"

1.29 und niedriger

Erforderlich, wenn loadBalancer.kind = "F5BigIp"
Unveränderlich
String

Die Adresse Ihres F5 BIG-IP-Load-Balancers. Beispiele:

loadBalancer:
  f5BigIP:
    address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

1.30 und höher

Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind = "F5BigIp"
Veränderlich
String

Der Pfad einer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort eines Kontos enthält, mit dem Google Distributed Cloud eine Verbindung zu Ihrem F5 BIG-IP-Load-Balancer herstellen kann.

Das Nutzerkonto muss eine Nutzerrolle mit ausreichenden Berechtigungen zum Einrichten und Verwalten des Load-Balancers haben. Die Rolle „Administrator“ oder „Ressourcenadministrator“ ist ausreichend.

Sie können dieses Feld mit gkectl update in einem vorhandenen Cluster aktualisieren.

Informationen zum Aktualisieren von F5 BIG-IP-Anmeldedaten finden Sie unter Clusteranmeldedaten aktualisieren.

Beispiel:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        path: "my-config-folder/admin-creds.yaml"

1.29 und niedriger

Erforderlich, wenn loadBalancer.kind = "F5BigIp"
Veränderlich
String

Der Pfad einer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort eines Kontos enthält, mit dem Google Distributed Cloud eine Verbindung zu Ihrem F5 BIG-IP-Load-Balancer herstellen kann.

Das Nutzerkonto muss eine Nutzerrolle mit ausreichenden Berechtigungen zum Einrichten und Verwalten des Load-Balancers haben. Die Rolle „Administrator“ oder „Ressourcenadministrator“ ist ausreichend.

Sie können dieses Feld mit gkectl update in einem vorhandenen Cluster aktualisieren.

Informationen zum Aktualisieren von F5 BIG-IP-Anmeldedaten finden Sie unter Clusteranmeldedaten aktualisieren.

Beispiel:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        path: "my-config-folder/admin-creds.yaml"

loadBalancer.f5BigIP.credentialsfileRef.entry

1.30 und höher

Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind = "F5BigIp"
Veränderlich
String

Der Name des Anmeldedatenblocks in Ihrer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres F5 BIG-IP-Kontos enthält.

Sie können dieses Feld mit gkectl update in einem vorhandenen Cluster aktualisieren.

Informationen zum Aktualisieren von F5 BIG-IP-Anmeldedaten finden Sie unter Clusteranmeldedaten aktualisieren.

Beispiel:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        entry: "f5-creds"

1.29 und niedriger

Erforderlich, wenn loadBalancer.kind = "F5BigIp"
Veränderlich
String

Der Name des Anmeldedatenblocks in Ihrer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres F5 BIG-IP-Kontos enthält.

Sie können dieses Feld mit gkectl update in einem vorhandenen Cluster aktualisieren.

Informationen zum Aktualisieren von F5 BIG-IP-Anmeldedaten finden Sie unter Clusteranmeldedaten aktualisieren.

Beispiel:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        entry: "f5-creds"

loadBalancer.f5BigIP.partition

1.30 und höher

Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind = "F5BigIp"
Unveränderlicher
String

Der Name einer BIG-IP-Partition, die Sie für Ihren Administratorcluster erstellt haben.

Beispiel:

loadBalancer:
  f5BigIP:
    partition: "my-f5-admin-partition"

1.29 und niedriger

Erforderlich, wenn loadBalancer.kind = "F5BigIp"
Unveränderlich
String

Der Name einer BIG-IP-Partition, die Sie für Ihren Administratorcluster erstellt haben.

Beispiel:

loadBalancer:
  f5BigIP:
    partition: "my-f5-admin-partition"

loadBalancer.f5BigIP.snatPoolName

1.30 und höher

Nicht für neue Cluster zulässig
Optional
Relevant, wenn loadBalancer.kind = "F5BigIp"
Unveränderlich
String

Wenn Sie SNAT verwenden, ist dies der Name Ihres SNAT-Pools. Wenn Sie SNAT nicht verwenden, entfernen Sie dieses Feld.

Beispiel:

loadBalancer:
  f5BigIP:
    snatPoolName: "my-snat-pool"

1.29 und niedriger

Optional
Relevant, wenn loadBalancer.kind = "F5BigIp"
Unveränderlich
String

Wenn Sie SNAT verwenden, ist dies der Name Ihres SNAT-Pools. Wenn Sie SNAT nicht verwenden, entfernen Sie dieses Feld.

Beispiel:

loadBalancer:
  f5BigIP:
    snatPoolName: "my-snat-pool"

loadBalancer.seesaw

Verwenden Sie diesen Abschnitt nicht. Der Seesaw-Load Balancer wird für neue Administratorcluster in Version 1.28 und höher nicht unterstützt. Stattdessen empfehlen wir, den MetalLB Load Balancer für neue Administratorcluster zu konfigurieren. Weitere Informationen zum Konfigurieren von MetalLB finden Sie unter Gebündeltes Load Balancing mit MetalLB.

Seesaw wird zwar weiterhin für nicht HA-fähige Administratorcluster unterstützt, die aktualisiert wurden, wir empfehlen jedoch, zu MetalLB zu migrieren.

antiAffinityGroups.enabled

Optional
Veränderlich
Boolescher Wert
Vorab ausgefüllt: true

Legen Sie dafür true fest, wenn das Erstellen von DRS-Regeln aktiviert werden soll. Andernfalls legen Sie false fest.

Wenn dieses Feld true ist, erstellt Google Distributed Cloud VMware-DRS-Anti-Affinitätsregeln (Distributed Resource Scheduler) für Ihre Administratorclusterknoten, sodass sie auf mindestens drei physische ESXi-Hosts in Ihrem Rechenzentrum verteilt werden.

Für diese Funktion muss die vSphere-Umgebung die folgenden Bedingungen erfüllen:

  • VMware DRS ist aktiviert. Für VMware DRS ist die vSphere Enterprise Plus-Lizenzversion erforderlich.

  • Ihr vSphere-Nutzerkonto hat die Berechtigung Host.Inventory.Modify cluster.

  • Es sind mindestens vier ESXi-Hosts verfügbar.

Auch wenn die Regel vorschreibt, dass die Clusterknoten auf drei ESXi-Hosts verteilt sein müssen, empfehlen wir dringend, mindestens vier ESXi-Hosts zur Verfügung zu haben. So verhindern Sie, dass Sie die Steuerungsebene des Administratorclusters verlieren. Angenommen, Sie haben nur drei ESXi-Hosts und der Knoten der Steuerungsebene Ihres Administratorclusters befindet sich auf einem ausgefallenen ESXi-Host. Die DRS-Regel verhindert, dass der Knoten der Steuerungsebene auf einem der verbleibenden beiden ESXi-Hosts platziert wird.

Wenn Sie eine vSphere Standard-Lizenz haben, können Sie VMware DRS nicht aktivieren.

Wenn Sie DRS nicht aktiviert haben oder wenn Sie nicht mindestens vier Hosts haben, für die vSphere-VMs geplant werden können, legen Sie für antiAffinityGroups.enabled den Wert false fest.

Beachten Sie die folgende Einschränkung bei erweiterten Clustern:

  • Version 1.31: Wenn das Feld enableAdvancedCluster true ist, werden Antiaffinitätsregeln in erweiterten Clustern nicht unterstützt und Sie müssen antiAffinityGroups.enabled auf false festlegen.

  • Version 1.32: Antiaffinitätsregeln werden in erweiterten Clustern unterstützt.

Beispiel:

antiAffinityGroups:
  enabled: true

adminMaster

Unveränderlich

Konfigurationseinstellungen für die Knoten der Steuerungsebene im Administratorcluster.

adminMaster.controlPlaneLoadBalancer

1.32 und höher

Fügen Sie diesen Abschnitt optional ein, um den Typ des Load-Balancers anzugeben, der für den Traffic der Steuerungsebene im Administratorcluster verwendet werden soll. Fügen Sie adminMaster.controlPlaneLoadBalancer.mode in Ihre Konfigurationsdatei ein, wenn Sie den zu verwendenden Load-Balancer-Typ explizit festlegen möchten, anstatt sich auf den Standardwert zu verlassen. Außerdem müssen Sie loadBalancer.kind in Ihrer Konfigurationsdatei festlegen, auch wenn das Feld in Version 1.32 und höher keine Funktion hat.

adminMaster.controlPlaneLoadBalancer.mode

Optional
Unveränderlich
String
Standard: hängt davon ab, ob der Cluster Topologiedomänen verwendet

Welche Art von Load-Balancer Sie verwenden können, hängt davon ab, ob Sie den Cluster für die Verwendung von Topologiedomänen einrichten. Es wird davon ausgegangen, dass der Cluster Topologiedomänen verwendet, wenn das Feld infraConfigFilePath konfiguriert ist.

  • Bei Topologiedomains: Geben Sie "manual" an. Das ist der Standardwert. Sie müssen einen Load Balancer eines Drittanbieters (z. B. F5 BIG-IP oder Citrix) konfigurieren, wenn Sie Topologiedomains verwenden möchten.

  • Ohne Topologiedomänen: Geben Sie entweder "manual" oder "bundled" an. Verwenden Sie "manual", wenn Sie einen Load Balancer eines Drittanbieters haben, oder "bundled" für unsere gebündelte Lösung, die keepalived + haproxy auf den drei Knoten der Steuerungsebene des Administratorclusters verwendet. Der Standardwert ist „bundled".

Beispiel:

adminMaster:
  controlPlaneLoadBalancer:
    mode: "manual"

1.31 und niedriger

Dieser Abschnitt ist nicht verfügbar. Verwenden Sie stattdessen loadBalancer.kind, um den Typ des Load-Balancers für den Administratorcluster anzugeben.

adminMaster.cpus

Vorschau
Optional
Unveränderlich
Ganzzahl
Vorab ausgefüllt 4
Standard: 4

Die Anzahl der vCPUs für jeden Knoten der Steuerungsebene im Administratorcluster.

Beispiel:

adminMaster:
  cpus: 4

adminMaster.memoryMB

Vorschau
Optional
Unveränderlic
Ganzzahl
Vorab ausgefüllt 16384
Standard: 16384

Die Anzahl der Megabyte des Arbeitsspeichers für jeden Knoten der Steuerungsebene im Administratorcluster.

Beispiel:

adminMaster:
  memoryMB: 16384

adminMaster.replicas

1.28 und höher

Erforderlich für neue Cluster
Unveränderlich
Ganzzahl
Mögliche Werte: 3

Die Anzahl der Knoten der Steuerungsebene im Administratorcluster. Ab Version 1.28 müssen neue Administratorcluster hochverfügbar sein. Legen Sie dieses Feld auf 3 fest, um einen HA-Administratorcluster mit drei Knoten für die Steuerungsebene zu erstellen.

Beispiel:

adminMaster:
  replicas: 3

1.16 und niedriger

Optional
Unveränderlich
Ganzzahl
Mögliche Werte: 1 oder 3
Vorab ausgefüllt: 1
Standard: 1

Die Anzahl der Knoten der Steuerungsebene im Administratorcluster. Legen Sie dafür 3 fest, wenn Sie einen Administratorcluster mit Hochverfügbarkeit erstellen möchten. Setzen Sie ihn andernfalls auf 1.

Wenn Sie dafür 3 festlegen, müssen Sie auch die Abschnitte network.controlPlaneIPBlock und network.hostConfig ausfüllen.

Wenn Sie 3 festlegen, können Sie den Seesaw-Load-Balancer nicht verwenden.

Beispiel:

adminMaster:
  replicas: 3

adminMaster.topologyDomains

1.32 und höher

Vorschau
Optional
Array von Strings | Ermöglicht ein Element oder drei verschiedene Elemente
Unveränderlich
Standard: vSphereInfraConfig.defaultTopologyDomain, falls in der Konfigurationsdatei für die vSphere-Infrastruktur angegeben

Ein Array von Topologiedomänen. Wenn infraConfigFilePath konfiguriert ist (was darauf hinweist, dass der Cluster Topologiedomains verwendet), können Sie dieses Feld optional einfügen. Die Anzahl der Topologiedomänen im Array bestimmt, wie die Knoten der Steuerungsebene des Administratorclusters bereitgestellt werden:

  • Ein Element: Alle drei Knoten der Steuerungsebene des Administratorclusters werden in der angegebenen Topologiedomäne bereitgestellt.
  • Drei Elemente: Jeder Knoten der Administratorcluster-Steuerungsebene wird in einer anderen Topologiedomäne bereitgestellt (d. h. ein Knoten pro Topologiedomäne).

1.31 und höher

Nur für neue Cluster verfügbar
Vorschau
String-Array | Nur ein Element zulässig
Optional
Unveränderlich
Standard: vSphereInfraConfig.defaultTopologyDomain, falls in der Konfigurationsdatei für die vSphere-Infrastruktur angegeben

Ein Array von Topologiedomänen. Wenn infraConfigFilePath konfiguriert ist (was darauf hinweist, dass der Cluster Topologiedomains verwendet), können Sie dieses Feld optional einfügen. Die Knoten der Steuerungsebene des Administratorclusters werden in der angegebenen Topologiedomain bereitgestellt.

1.30 und niedriger

Nicht verfügbar.

addonNode.autoResize.enabled

1.28 und höher

Nehmen Sie diese Einstellung nicht in Ihre Konfigurationsdatei auf, wenn Sie einen neuen Cluster erstellen. Administratorcluster, die in Version 1.28 und höher erstellt wurden, müssen hochverfügbar (HA) sein und drei Steuerungsebenenknoten haben. In Version 1.28 und höher haben HA-Administratorcluster keine Add-on-Knoten.

1.16 und niedriger

Optional
Veränderlich
Boolescher Wert
Voreingestellt: false
Standard: false

Setzen Sie diesen Wert auf true, um die automatische Größenanpassung der Add-on-Knoten im Administratorcluster zu aktivieren. Andernfalls setzen Sie den Wert auf false.

Zum Aktualisieren des Werts dieses Felds verwenden Sie gkectl update admin.

Beispiel:

addonNode:
  autoResize:
    enabled: true

proxy

Wenn sich Ihr Netzwerk hinter einem Proxyserver befindet, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert. Der hier angegebene Proxyserver wird von den Nutzerclustern verwendet, die von diesem Administratorcluster verwaltet werden.
Unveränderlich

proxy.url

Erforderlich, wenn der Abschnitt proxy ausgefüllt ist.
Unveränderlich
String

Die HTTP-Adresse Ihres Proxyservers. Geben Sie die Portnummer an, auch wenn sie mit dem Standardport des Schemas identisch ist.

Beispiel:

proxy:
  url: "http://my-proxy.example.local:80"

Der hier angegebene Proxyserver wird von Ihren Google Distributed Cloud-Clustern verwendet. Außerdem wird Ihre Administratorworkstation automatisch so konfiguriert, dass sie denselben Proxyserver verwendet, sofern Sie nicht die Umgebungsvariable HTTPS_PROXY auf Ihrer Administratorworkstation festgelegt haben.

Wenn Sie proxy.url angeben, müssen Sie auch proxy.noProxy angeben.

Nachdem die Proxykonfiguration für den Administratorcluster festgelegt wurde, kann sie nicht mehr geändert oder gelöscht werden, es sei denn, der Cluster wird neu erstellt.

proxy.noProxy

Optional
Unveränderlich
String

Eine durch Kommas getrennte Liste mit IP-Adressen, IP-Adressbereichen, Hostnamen und Domainnamen, die nicht durch den Proxyserver geleitet werden sollen. Wenn die Google Distributed Cloud eine Anfrage an eine dieser Adressen, Hosts oder Domains sendet, wird die Anfrage direkt gesendet.

Beispiel:

proxy:
  noProxy: "10.151.222.0/24,my-host.example.local,10.151.2.1"

privateRegistry

Eine private Container-Registry ist eine Registry, in der der Zugriff auf Container-Images auf authentifizierte Nutzer beschränkt ist. Füllen Sie diesen Abschnitt aus, wenn Ihre Nutzercluster auf Arbeitslast-Images zugreifen müssen. Wenn Sie den Abschnitt privateRegistry konfigurieren, werden alle von diesem Administratorcluster verwalteten Nutzercluster Arbeitslast-Images aus der privaten Registry abrufen, die Sie hier konfigurieren.

Wenn Sie den Abschnitt privateRegistry konfigurieren, werden beim Ausführen von gkectl prepare vor dem Erstellen oder Aktualisieren des Clusters die Google Distributed Cloud-Systemimages von gkectl in die private Registry übertragen. Während der Clustererstellung oder des Clusterupgrades werden System-Images aus der privaten Registry abgerufen. Wenn Sie den Abschnitt privateRegistry nicht konfigurieren, werden System-Images aus gcr.io/gke-on-prem-release mit dem Dienstkonto für den Komponentenzugriff abgerufen.

Möglicherweise möchten Sie den Abschnitt privateRegistry so konfigurieren, dass Cluster System-Images aus der privaten Registry anstelle von gcr.io/gke-on-prem-release abrufen, wenn:

  • Sie müssen Verbindungen zu Google Cloud aus Sicherheitsgründen oder aufgrund von behördlichen Anforderungen minimieren.
  • In Ihrer Organisation muss ausgehender Traffic einen Proxyserver passieren und die Netzwerkgeschwindigkeit für die Verbindung zu Google Cloud ist langsam.

Wenn Sie die Artifact Registry von Google als private Registry verwenden möchten, finden Sie unter Artifact Registry als private Registry für Arbeitslast-Images verwenden die Konfigurationsschritte.

privateRegistry.address

Erforderlich für private Registry
Unveränderlich
String

Die IP-Adresse oder der FQDN (Fully Qualified Domain Name) der Maschine, auf dem Ihre private Registry ausgeführt wird.

Beispiele:

privateRegistry:
  address: "203.0.113.10"
privateRegistry:
  address: "fqdn.example.com"

privateRegistry.credentials.fileRef.path

Erforderlich für private Registry
Veränderlich
String

Der Pfad einer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort eines Kontos enthält, mit dem Google Distributed Cloud auf Ihre private Registry zugreifen kann.

Beispiel:

privateRegistry:
  credentials:
    fileRef:
      path: "my-config-folder/admin-creds.yaml"

privateRegistry.credentials.fileRef.entry

Erforderlich für private Registry
Veränderlich
String

Der Name des Anmeldedatenblocks in Ihrer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres privaten Registry-Kontos enthält.

privateRegistry:
  credentials:
    fileRef:
      entry: "private-registry-creds"

privateRegistry.caCertPath

Erforderlich für private Registry
Veränderlich
String

Wenn die Containerlaufzeit ein Image aus Ihrer privaten Registry abruft, muss die Registry ihre Identität anhand eines Zertifikats nachweisen. Das Zertifikat der Registry wird von einer Zertifizierungsstelle signiert. Die Containerlaufzeit verwendet das Zertifikat der Zertifizierungsstelle, um das Zertifikat der Registry zu validieren.

Legen Sie in diesem Feld den Pfad des Zertifikats der Zertifizierungsstelle fest.

Beispiel:

privateRegistry:
  caCertPath: "my-cert-folder/registry-ca.crt"

componentAccessServiceAccountKeyPath

Erforderlich
Veränderlich
String

Der Pfad der JSON-Schlüsseldatei für Ihr Dienstkonto für den Komponentenzugriff.

Beispiel:

componentAccessServiceAccountKeyPath: "my-key-folder/access-key.json"

gkeConnect

Erforderlich
Veränderlich

Wenn Sie den Abschnitt gkeConnect ausfüllen, wird der Administratorcluster nach der Erstellung automatisch auf einer Flotte registriert. Dieser Abschnitt enthält Informationen zum Google Cloud -Projekt und zum Dienstkonto für die Registrierung des Clusters.

Während der Erstellung oder Aktualisierung eines Clusters werden auf dem Administratorcluster mehrere RBAC-Richtlinien konfiguriert. Diese RBAC-Richtlinien sind erforderlich, damit Sie Nutzercluster in der Google Cloud Console erstellen können.

gkeConnect.projectID

Erforderlich
Unveränderlich
String

Die ID Ihres Flotten-Hostprojekts. Bei neuen Clustern muss diese Projekt-ID mit der ID in stackdriver.projectID und cloudAuditLogging.projectID übereinstimmen. Wenn die Projekt-IDs nicht identisch sind, schlägt die Clustererstellung fehl. Diese Anforderung gilt nicht für vorhandene Cluster.

Beispiel:

gkeConnect:
  projectID: "my-fleet-host-project"

gkeConnect.location

Optional
Unveränderlich
String
Standard: global

Die Flottenmitgliedschaft jedes Clusters wird vom Flottendienst (gkehub.googleapis.com) und vom Connect-Dienst (gkeconnect.googleapis.com) verwaltet. Der Standort der Dienste kann global oder regional sein. Ab Version 1.28 können Sie optional die Google Cloud-Region angeben, in der die Flotten- und Connect-Dienste ausgeführt werden. Wenn keine Angabe erfolgt, werden die globalen Instanzen der Dienste verwendet. Wichtige Hinweise:

  • Vor 1.28 erstellte Administratorcluster werden von der globalen Flotte und Connect-Diensten verwaltet.

  • Wenn Sie dieses Feld bei neuen Clustern angeben, muss die von Ihnen angegebene Region mit der in cloudAuditLogging.clusterLocation, stackdriver.clusterLocation und gkeOnPremAPI.location konfigurierten Region übereinstimmen. Wenn die Regionen nicht identisch sind, schlägt die Cluster-Erstellung fehl.

Beispiel:

gkeConnect:
  location: "us-central1"

gkeConnect.registerServiceAccountKeyPath

Erforderlich
Veränderlich
String

Der Pfad der JSON-Schlüsseldatei für Ihr Connect-Register-Dienstkonto.

Beispiel:

gkeConnect:
  registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"

gkeOnPremAPI

Optional

Wenn ab Version 1.16 und höher die GKE On-Prem API in IhremGoogle Cloud -Projekt aktiviert ist, werden alle Cluster im Projekt automatisch in der GKE On-Prem API in der Region angemeldet, die in stackdriver.clusterLocation konfiguriert wurde.

  • Wenn Sie alle Cluster im Projekt für die GKE On-Prem API registrieren möchten, müssen Sie die Schritte unter Vorbereitung zur Aktivierung und Verwendung der GKE On-Prem API im Projekt ausführen.

  • Wenn Sie den Cluster nicht in der GKE On-Prem API registrieren möchten, fügen Sie diesen Abschnitt hinzu und setzen Sie gkeOnPremAPI.enabled auf false. Wenn Sie keine Cluster in dem Projekt registrieren möchten, deaktivieren Sie gkeonprem.googleapis.com (der Dienstname für die GKE On-Prem API) in dem Projekt. Eine Anleitung finden Sie unter Dienste deaktivieren.

Wenn Sie Ihren Administratorcluster in der GKE On-Prem API registrieren, können Sie Standardtools (die Google Cloud Console, die Google Cloud CLI oder Terraform) verwenden, um Nutzercluster zu aktualisieren, die der Administratorcluster verwaltet. Durch die Clusterregistrierung können Sie gcloud-Befehle ausführen, um Informationen zu Ihren Clustern abzurufen.

Wenn Sie diesen Abschnitt hinzufügen und den Administratorcluster erstellen oder aktualisieren und den Abschnitt anschließend entfernen und den Cluster aktualisieren, schlägt das Update fehl.

gkeOnPremAPI.enabled

Erforderlich, wenn der Abschnitt gkeOnPremAPI enthalten ist.
Veränderlich
Boolescher Wert
Standard: true

Standardmäßig wird der Cluster in der GKE On-Prem API registriert, wenn die GKE On-Prem API in Ihrem Projekt aktiviert ist. Legen Sie false fest, wenn Sie den Cluster nicht registrieren möchten.

Wenn Sie den Cluster in der GKE On-Prem API registriert haben und die Registrierung aufheben müssen, nehmen Sie die folgende Änderung vor und aktualisieren Sie dann den Cluster:

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Unveränderlich
String
Standard:stackdriver.clusterLocation

Die Google Cloud -Region, in der die GKE On-Prem API ausgeführt wird und Clustermetadaten speichert. Wählen Sie eine der unterstützten Regionen aus. Sie müssen dieselbe Region verwenden, die in cloudAuditLogging.clusterLocation, gkeConnect.location und stackdriver.clusterLocation konfiguriert ist. Wenn gkeOnPremAPI.enabled false ist, schließen Sie dieses Feld nicht ein.

stackdriver

Standardmäßig erforderlich
Veränderlich

Wenn Sie Cloud Logging und Cloud Monitoring für Ihren Cluster aktivieren möchten, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt.

Dieser Abschnitt ist standardmäßig erforderlich. Wenn Sie diesen Abschnitt nicht angeben, müssen Sie das Flag --skip-validation-stackdriver angeben, wenn Sie gkectl create admin ausführen.

Dieser Abschnitt ist im Administratorcluster erforderlich, wenn Sie den Lebenszyklus von Nutzerclustern mit GKE On-Prem API-Clients verwalten möchten.

stackdriver.projectID

Erforderlich für Logging und Monitoring
Unveränderlich
String

Die ID Ihres Flotten-Hostprojekts. Bei neuen Clustern muss diese Projekt-ID mit der ID in gkeConnect.projectID und cloudAuditLogging.projectID übereinstimmen. Wenn die Projekt-IDs nicht identisch sind, schlägt die Clustererstellung fehl. Diese Anforderung gilt nicht für bereits bestehende Cluster.

Bei Bedarf können Sie in diesem Projekt einen Log-Router konfigurieren, um Logs an Log-Buckets in einem anderen Projekt weiterzuleiten. Informationen zum Konfigurieren des Logrouters finden Sie unter Unterstützte Ziele.

Beispiel:

stackdriver:
  projectID: "my-fleet-host-project"

stackdriver.clusterLocation

Erforderlich für Logging und Monitoring
Unveränderlich
String
Vorab ausgefüllt: "us-central1"

Die Google Cloud Region, in der Sie Cloud Monitoring-Messwerte weiterleiten und speichern möchten. Wir empfehlen, eine Region auszuwählen, die sich in der Nähe Ihres lokalen Rechenzentrums befindet.

Sie geben den Routing- und Speicherort für Cloud Logging-Logs in der Log Router-Konfiguration an. Weitere Informationen zum Log-Routing finden Sie unter Routing und Speicher.

Der Stackdriver-Operator (stackdriver-operator) fügt den Wert aus diesem Feld jedem Logeintrag und Messwert hinzu, bevor er an Google Cloudweitergeleitet wird. Diese angehängten Labels können nützlich sein, um Ihre Logs und Messwerte im Log-Explorer bzw. Metrics Explorer zu filtern.

Wenn Sie bei neuen Clustern die Abschnitte gkeOnPremAPI und cloudAuditLogging in der Konfigurationsdatei angeben, muss die Region, die Sie hier festlegen, mit der Region in cloudAuditLogging.clusterLocation, gkeConnect.location und gkeOnPremAPI.location übereinstimmen. Wenn die Regionen nicht identisch sind, schlägt die Cluster-Erstellung fehl.

Beispiel:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Optional
Unveränderlich
Boolescher Wert
Vorab ausgefüllt: false

Wenn das Netzwerk des Clusters von einer VPC gesteuert wird, legen Sie es auf true fest. So wird gewährleistet, dass alle Telemetriedaten über die eingeschränkten IP-Adressen von Google übertragen werden. Andernfalls legen Sie false fest.

Beispiel:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Erforderlich für Logging und Monitoring
Veränderlich
String

Der Pfad der JSON-Schlüsseldatei für Ihr Logging-Monitoring-Dienstkonto.

Wenn Sie den Cluster mit enableAdvancedCluster auf true erstellen (was für die Einrichtung von Topologiedomänen erforderlich ist), muss stackdriver.serviceAccountKeyPath mit cloudAuditLogging.serviceAccountKeyPath übereinstimmen.

Informationen zum Aktualisieren dieses Felds in einem vorhandenen Cluster finden Sie unter Dienstkontoschlüssel rotieren.

Beispiel:

stackdriver:
  serviceAccountKeyPath: "my-key-folder/log-mon-key.json"

stackdriver.disableVsphereResourceMetrics

Optional
Veränderlich
Für Logging und Monitoring relevant
Boolescher Wert
Vorab ausgefüllt: false
Standard: false

Setzen Sie diesen Wert auf true, um die Erfassung von Messwerten aus vSphere zu deaktivieren. Setzen Sie ihn andernfalls auf false.

Dieser Abschnitt ist im Administratorcluster erforderlich, wenn Sie den Lebenszyklus von Nutzerclustern in der Google Cloud Console verwalten möchten.

Beispiel:

stackdriver:
  disableVsphereResourceMetrics: true

cloudAuditLogging

Wenn Sie die Audit-Logs vom Kubernetes API-Server des Clusters in Cloud-Audit-Logs einbinden möchten, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.
Veränderlich

Dieser Abschnitt ist im Administratorcluster erforderlich, wenn Sie den Lebenszyklus von Nutzerclustern mit GKE On-Prem API-Clients verwalten möchten.

cloudAuditLogging.projectID

Erforderlich für Cloud-Audit-Logs
Unveränderlich
String

Die ID Ihres Flotten-Hostprojekts. Bei neuen Clustern muss diese Projekt-ID mit der ID in gkeConnect.projecID und stackdriver.projectID übereinstimmen. Wenn die Projekt-IDs nicht identisch sind, schlägt die Clustererstellung fehl. Diese Anforderung gilt nicht für bereits bestehende Cluster.

Bei Bedarf können Sie in diesem Projekt einen Log-Router konfigurieren, um Logs an Log-Buckets in einem anderen Projekt weiterzuleiten. Informationen zum Konfigurieren des Logrouters finden Sie unter Unterstützte Ziele.

Beispiel:

cloudAuditLogging:
  projectID: "my-fleet-host-project"

cloudAuditLogging.clusterLocation

Erforderlich für Cloud-Audit-Logs
Unveränderlich
String

Die Google Cloud Region, in der Sie Audit-Logs speichern möchten. Es empfiehlt sich, eine Region auszuwählen, die sich in der Nähe Ihres lokalen Rechenzentrums befindet.

Wenn Sie bei neuen Clustern die Abschnitte gkeOnPremAPI und stackdriver in der Konfigurationsdatei angeben, muss die Region, die Sie hier festlegen, mit der Region in gkeConnect.location, gkeOnPremAPI.location und stackdriver.clusterLocation übereinstimmen. Wenn die Regionen nicht identisch sind, schlägt die Cluster-Erstellung fehl.

Beispiel:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Erforderlich für Cloud-Audit-Logs
Veränderlich
String

Der Pfad der JSON-Schlüsseldatei für Ihr Audit-Logging-Dienstkonto.

Wenn Sie den Cluster mit enableAdvancedCluster auf true erstellen (was für die Einrichtung von Topologiedomänen erforderlich ist), muss cloudAuditLogging.serviceAccountKeyPath mit stackdriver.serviceAccountKeyPath übereinstimmen.

Informationen zum Aktualisieren dieses Felds in einem vorhandenen Cluster finden Sie unter Dienstkontoschlüssel rotieren.

Beispiel:

cloudAuditLogging:
  serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

clusterBackup.datastore

Optional
Veränderlich
String

Standardmäßig werden TAR-Dateien für Clustersicherungen auf Ihrer Administrator-Workstation im Verzeichnis gkectl-workspace/backups gespeichert. Wenn Sie Clustersicherungsdateien in vSphere speichern möchten, legen Sie dieses Feld auf den vSphere-Datenspeicher fest, in dem Sie die Sicherungen speichern möchten.

Beispiel:

clusterBackup:
  datastore: "my-datastore"

Beachten Sie die folgenden Unterschiede bei der Unterstützung für dieses Feld:

  • Für erweiterte Cluster:

    • Version 1.31: Entfernen Sie clusterBackup.datastore aus Ihrer Konfigurationsdatei. Das Sichern von Clustern in einem vSphere-Datenspeicher wird nicht unterstützt.

    • Version 1.32: clusterBackup.datastore ist in der Vorschau

    • Version 1.33 und höher: clusterBackup.datastore ist allgemein verfügbar.

  • Für nicht erweiterte Cluster bleibt clusterBackup.datastore in der Vorschau.

Hier finden Sie weitere Informationen:

autoRepair.enabled

Optional
Veränderlich
Boolescher Wert
Vorab ausgefüllt: true

Legen Sie für diesen Wert true fest, um die automatische Knotenreparatur zu aktivieren. Andernfalls legen Sie false fest.

Zum Aktualisieren des Werts dieses Felds verwenden Sie gkectl update admin.

Beispiel:

autoRepair:
  enabled: true

secretsEncryption

Wenn Sie Secrets verschlüsseln möchten, ohne dass ein externer KMS (Key Management Service) oder andere Abhängigkeiten erforderlich sind, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.
Unveränderlich

Wenn Sie den Cluster mit enableAdvancedCluster auf true festlegen (was für die Einrichtung von Topologiedomänen erforderlich ist), entfernen Sie diesen Abschnitt. Diese Funktion wird bei erweiterten Clustern nicht unterstützt.

secretsEncryption.mode

Erforderlich für Verschlüsselung von Secrets
Unveränderlich
String
Möglicher Wert: "GenerateKey"
Vorab ausgefüllt: "GenerateKey"

Der Secret-Verschlüsselungsmodus.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Erforderlich für Secret-Verschlüsselung
Veränderlich
Ganzzahl
Vorab ausgefüllt: 1

Eine Ganzzahl Ihrer Wahl für die Schlüsselversionsnummer. Wir empfehlen, mit 1 zu beginnen.

Beispiel:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Optional für Verschlüsselung von Secrets
Veränderlich
Boolescher Wert
Vorab ausgefüllt: false

Legen Sie hier true fest, um die Secret-Verschlüsselung zu deaktivieren. Setzen Sie es andernfalls auf false.

Beispiel:

secretsEncryption:
  generatedKey:
    disabled: false

osImageType

Optional
Veränderlich
String
Mögliche Werte: „ubuntu_containerd“, „cos“, „ubuntu_cgv2“, „cos_cgv2“
Vorab ausgefüllt: „ubuntu_cgv2“
Standard: „ubuntu_containerd“

Der Typ des Betriebssystem-Images, das auf den Knoten Ihres Administratorclusters ausgeführt werden soll.

Beachten Sie die folgende Einschränkung bei erweiterten Clustern:

  • Version 1.31: Wenn das Feld enableAdvancedCluster true ist, werden in erweiterten Clustern nur ubuntu-cgroupv2 und ubuntu_containerd unterstützt.

  • Version 1.32: Alle Betriebssystem-Image-Typen werden in erweiterten Clustern unterstützt.

Beispiel:

osImageType: "cos"