In diesem Dokument werden die Felder in der Konfigurationsdatei des Nutzerclusters 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 Administrator-Workstation verwendet haben, hat gkeadm
eine Vorlage für die Konfigurationsdatei des Nutzerclusters generiert. Außerdem hat gkeadm
einige Felder mit Werten versehen.
Wenn Sie Ihre Administrator-Workstation nicht mit gkeadm
erstellt haben, können Sie mit gkectl
eine Vorlage für die Konfigurationsdatei des Nutzerclusters generieren.
So generieren Sie eine Vorlage für die Konfigurationsdatei des Nutzerclusters:
gkectl create-config cluster --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION
Dabei gilt:
OUTPUT_FILENAME
: Pfad Ihrer Wahl für die generierte Vorlage. Wenn Sie dieses Flag weglassen, benennt gkectl
die Datei user-cluster.yaml
und speichert sie im aktuellen Verzeichnis.
VERSION
: die Google Distributed Cloud-Versionsnummer. Beispiel: gkectl create-config cluster --gke-on-prem-version=1.33.100-gke.89
.
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.
Einige Felder sind unter bestimmten Bedingungen erforderlich. Beispiel: loadBalancer.metalLB.addressPools
ist erforderlich, wenn loadBalancer.kind
gleich MetalLB
ist.
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 mit der zugrunde liegenden Google Distributed Cloud-Software Controller bereitgestellt, die eine erweiterbare Architektur ermöglichen. Wenn Sie erweiterte Cluster aktivieren, erhalten Sie Zugriff auf neue Funktionen wie Topologiedomänen.
Dieses Feld muss denselben Wert wie das Feld enableAdvancedCluster
des Administratorclusters haben.
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
Legen Sie enableAdvancedCluster
auf true
fest, wenn Sie beim Erstellen eines neuen Clusters erweiterte Cluster aktivieren möchten. Wenn dieses Flag auf true
(erweiterter Cluster aktiviert) gesetzt ist, werden mit der zugrunde liegenden Google Distributed Cloud-Software Controller bereitgestellt, die eine erweiterbare Architektur ermöglichen. Wenn Sie erweiterte Cluster aktivieren, erhalten Sie Zugriff auf neue Funktionen wie Topologiedomänen.
Dieses Feld muss denselben Wert wie das Feld enableAdvancedCluster
des Administratorclusters haben.
1.30 und niedriger
Nicht verfügbar.
name
Erforderlich
String
Ein Name Ihrer Wahl für den Nutzercluster. Der Name:
- darf höchstens 40 Zeichen enthalten.
- darf nur kleingeschriebene, alphanumerische Zeichen und einen Bindestrich
-
enthalten. - Er muss mit einem Buchstaben beginnen.
- Er muss mit einem alphanumerischen Zeichen enden.
Beispiel:
name: "my-user-cluster"
gkeOnPremVersion
Erforderlich
Veränderlich
String
: Google Distributed Cloud-Version für Ihren Nutzercluster.
Beispiel:
gkeOnPremVersion: "1.29.0-gke.1456"
preparedSecrets.namespace
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist, entfernen Sie dieses Feld.
Wenn Sie vorbereitete Anmeldedaten verwenden möchten, füllen Sie dieses Feld aus.
Unveränderlich
String
Mögliche Werte: Ein String, der mit „gke-onprem-secrets-“ beginnt
Der Name eines Kubernetes-Namespace im Administratorcluster, in dem vorbereitete Secrets für diesen Nutzercluster gespeichert werden.
Beispiel:
preparedSecrets: namespace: "gke-onprem-secrets-alice"
enableControlplaneV2
1.30 und höher
Veränderlich (von false
zu true
ist zulässig)
Boolescher Wert
Vorab ausgefüllt: true
Standard: true
Ab Version 1.30 ist Controlplane V2 für neue Nutzercluster erforderlich. Wenn Sie dieses Feld in Ihre Konfigurationsdatei aufnehmen, muss es auf true
festgelegt sein.
Informationen zum Migrieren eines vorhandenen Clusters zu Controlplane V2 finden Sie unter Nutzercluster zu empfohlenen Funktionen migrieren. Nach der Migration zu Controlplane V2 ist es nicht zulässig, Controlplane V2 zu deaktivieren.
Bei Controlplane V2 wird die Steuerungsebene für einen Nutzercluster auf einem oder mehreren Knoten im Nutzercluster selbst ausgeführt. Vorteile von Controlplane V2:
Einheitliche Architektur von Administrator- und Nutzerclustern.
Fehlerisolation. Ein Fehler im Administratorcluster hat keine Auswirkungen auf Nutzercluster.
Getrennte Ausführung. Das Upgrade eines Administratorclusters zieht keine Ausfallzeit für Nutzercluster nach sich.
Deployment-Trennung. Sie können die Administrator- und Nutzercluster in verschiedenen fehlerhaften Domains oder an verschiedenen geografischen Standorten platzieren. Ein Nutzercluster an einem Edge-Standort kann sich beispielsweise an einem anderen geografischen Standort als der Administratorcluster befinden.
1.29 und niedriger
Unveränderlich
Boolescher Wert
Vorab ausgefüllt: true
Standard: true
Wenn Sie Controlplane V2 aktivieren möchten, setzen Sie enableControlplaneV2
auf true
oder entfernen Sie die Einstellung aus der Konfigurationsdatei des Nutzerclusters. Setzen Sie ihn andernfalls auf false
.
Bei Controlplane V2 wird die Steuerungsebene für einen Nutzercluster auf einem oder mehreren Knoten im Nutzercluster selbst ausgeführt. Wenn Controlplane V2 nicht aktiviert ist, wird die Steuerungsebene des Nutzerclusters im Administratorcluster ausgeführt.
Wir empfehlen, Controlplane V2 zu aktivieren.
Beispiel:
enableControlplaneV2: true
vCenter
Dieser Abschnitt enthält Informationen zu Ihrer vSphere-Umgebung und Ihrer Verbindung zu vCenter Server.
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist, entfernen Sie den gesamten Abschnitt.
Wenn Sie den Abschnitt vCenter
in die Konfigurationsdatei des Administratorclusters aufgenommen haben:
Wenn ein Feld in diesem Abschnitt mit dem Feld übereinstimmen soll, das Sie für Ihren Administratorcluster angegeben haben, entfernen Sie das Feld oder lassen es auskommentiert.
Wenn sich ein Feld von den Angaben für Ihren Administratorcluster unterscheiden soll, füllen Sie es hier aus. Alle Felder, die Sie hier im Abschnitt
vCenter
ausfüllen, überschreiben die entsprechenden Felder in der Konfigurationsdatei des Administratorclusters.
vCenter.address
Unveränderlich
String
Standard: vom Administratorcluster übernehmen
Die IP-Adresse oder der Hostname der vCenter Server-Instanz, die Sie für diesen Nutzercluster verwenden möchten.
Weitere Informationen finden Sie unter vCenter-Serveradresse suchen.
Wenn Sie einen Wert angeben, der sich von der vom Administratorcluster verwendeten Instanz des vCenter Servers unterscheidet, muss Controlplane V2
aktiviert sein und Sie müssen Werte für network.vCenter.networkName
und alle erforderlichen Felder im Abschnitt vCenter
angeben.
Beispiele:
vCenter: address: "203.0.113.101"
vCenter: address: "my-vcenter-server-2.my-domain.example"
vCenter.datacenter
Unveränderlich
String
Standard: vom Administratorcluster übernehmen
Der relative Pfad eines vSphere-Rechenzentrums.
Wenn Sie einen Wert für dieses Feld angeben, müssen Sie auch Folgendes angeben:
vCenter.networkName
vCenter.datastore
odervCenter.storagePolicyName
.vCenter.cluster
odervCenter.resourcePool
.
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-uc-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-2"
vCenter.cluster
Unveränderlich
String
Standard: vom Administratorcluster übernehmen
Der relative Pfad eines vSphere-Clusters, der für die ESXi-Hosts steht, auf denen Ihre Nutzer-cluster-VMs ausgeführt werden. Dieser vSphere-Cluster stellt eine Teilmenge der physischen ESXi-Hosts in Ihrem vCenter-Rechenzentrum dar.
Wenn Sie einen Wert für dieses Feld angeben, müssen Sie auch Folgendes angeben:
vCenter.networkName
vCenter.datacenter
vCenter.datastore
odervCenter.storagePolicyName
.
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-uc-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-2"
vCenter.resourcePool
Unveränderlich
String
Standard: vom Administratorcluster übernehmen
Ein vCenter-Ressourcenpool für Ihre Nutzercluster-VMs.
Wenn Sie den Standardressourcenpool verwenden möchten, legen Sie dies auf VSPHERE_CLUSTER/Resources
fest.
Beispiel:
vCenter: resourcePool: "my-uc-vsphere-cluster/Resources"
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-uc-resource-pool"
Andernfalls ist der Wert ein relativer Pfad mit zwei oder mehr Ressourcenpools.
Beispiel:
vCenter: resourcePool: "uc-resource-pool-1/uc-resource-pool-2"
vCenter.datastore
Optional
Unveränderlich
String
Standard: vom Administratorcluster übernehmen
Der Name eines vSphere-Datenspeichers für Ihren Nutzercluster.
Der angegebene Wert muss ein Name und kein Pfad sein. Fügen Sie dem Wert keine Ordner hinzu.
Beispiel:
vCenter: datastore: "my-datastore"
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
Optional
Unveränderlich
String
Der Name einer VM-Speicherrichtlinie für die Clusterknoten.
Sie können auch eine VM-Speicherrichtlinie für die Knoten in einem bestimmten Knotenpool angeben. Die hier angegebene Richtlinie gilt jedoch für jeden Knotenpool, für den keine eigene Richtlinie festgelegt ist.
Weitere Informationen finden Sie unter Speicherrichtlinie konfigurieren.
Wenn Sie einen Wert für dieses Feld angeben, geben Sie keinen Wert für vCenter.datastore
an.
vCenter.caCertPath
Veränderlich
String
Standard: vom Administratorcluster übernehmen
Der Pfad des CA-Zertifikats für Ihren vCenter-Server. Weitere Informationen finden Sie unter vCenter-CA-Zertifikat abrufen.
Beispiel:
vCenter: caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert-2.pem"
Informationen zum Aktualisieren dieses Felds finden Sie unter Referenzen zum vCenter-Zertifikat aktualisieren.
vCenter.credentials.fileRef.path
Veränderlich
String
Standard: vom Administratorcluster übernehmen
Wenn Sie einen Wert für preparedSecrets.namespace angeben, geben Sie keinen Wert für dieses Feld an. Geben Sie stattdessen einen Wert für vCenter.credentials.secretRef.version an.
Der Pfad einer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres vCenter-Nutzerkontos enthält. Das Nutzerkonto muss die Administratorrolle oder entsprechende Berechtigungen haben. Weitere Informationen finden Sie unter vSphere-Anforderungen.
Sie können mit gkectl update credentials
dieses Feld in einem vorhandenen Cluster aktualisieren. Weitere Informationen finden Sie unter Dienstkontoschlüssel rotieren.
Informationen zum Aktualisieren Ihrer vCenter-Anmeldedaten finden Sie unter Clusteranmeldedaten aktualisieren.
Beispiel:
vCenter: credentials: fileRef: path: "my-config-directory/my-credentials-2.yaml"
vCenter.credentials.fileRef.entry
Veränderlich
String
Standard: vom Administratorcluster übernehmen
Der Name des Anmeldedatenblocks in Ihrer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres vCenter-Nutzerkontos enthält.
Beispiel:
vCenter: credentials: fileRef: entry: "vcenter-credentials-2"
vCenter.credentials.secretRef.version
String
Mögliche Werte: Ganzzahlstring oder „latest“
Standardwert: „latest“
Wenn Sie einen Wert für preparedSecrets.namespace angeben, füllen Sie dieses Feld aus. Andernfalls entfernen Sie diesen Feld oder lassen ihn auskommentiert.
Die Version eines vorbereiteten Secrets im Administratorcluster, das den Nutzernamen und das Passwort für die vCenter Server-Instanz enthält, die Sie für diesen Nutzercluster verwenden möchten.
Beispiel:
vCenter: credentials: secretRef: version: "1"
vCenter.folder
Unveränderlich
String
Standard: vom Administratorcluster übernehmen
Der relative Pfad zu einem vSphere-Ordner, den Sie bereits erstellt haben. In diesem Ordner werden die VMs Ihres Nutzerclusters gespeichert.
Wenn Sie keinen Wert angeben, werden Ihre Nutzercluster-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-uc-folder"
Der Wert kann auch ein relativer Pfad sein, der mehrere Ordner enthält.
Beispiel:
vCenter: folder: "folders/folder-2"
componentAccessServiceAccountKeyPath
Veränderlich
String
Standard: vom Administratorcluster übernehmen
Der Pfad der JSON-Schlüsseldatei für Ihr Dienstkonto für den Komponentenzugriff.
Beispiel:
componentAccessServiceAccountKeyPath: "my-key-folder/uc-access-key.json"
componentAccessServiceAccountKey.secretRef.version
Veränderlich
String
Mögliche Werte: Ganzzahlstring oder „latest“
Standardwert: „latest“
Die Version eines vorbereiteten Secrets im Administratorcluster, das einen JSON-Schlüssel für Ihr Dienstkonto zum Komponentenzugriff enthält.
Beispiel:
componentAccessServiceAccountKey: secretRef: version: "1"
privateRegistry
Füllen Sie diesen Abschnitt aus, wenn Ihr Administratorcluster eine private Container-Registry verwendet und Sie möchten, dass Ihr Nutzercluster eine andere private Registry oder andere Einstellungen verwendet. Wenn Sie eine andere private Registry-Adresse verwenden möchten, muss in Ihrem Cluster Controlplane V2 aktiviert sein. Die neuen Einstellungen werden beim Erstellen und Aktualisieren des Clusters übernommen.
Wenn Sie dieselben Einstellungen wie für den Administratorcluster verwenden möchten, entfernen Sie diesen Abschnitt oder lassen Sie ihn auskommentiert.
privateRegistry.address
Unveränderlich
String
Standard: vom Administratorcluster übernehmen
Die IP-Adresse oder der FQDN (Fully Qualified Domain Name) der Maschine, auf dem Ihre private Docker-Registry ausgeführt wird.
Beispiele:
privateRegistry: address: "203.0.113.10"
privateRegistry: address: "fqdn.example.com"
privateRegistry.credentials.fileRef.path
Veränderlich
String
Standard: vom Administratorcluster übernehmen
Wenn Sie ein vorbereitetes Secret für die private Registry verwenden möchten, geben Sie für dieses Feld keinen Wert an. Geben Sie stattdessen einen Wert für privateRegistry.credentials.secretRef.version an.
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 Docker-Registry zugreifen kann.
Beispiel:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.credentials.fileRef.entry
Veränderlich
String
Standard: vom Administratorcluster übernehmen
Der Name des Anmeldedatenblocks in Ihrer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres privaten Docker-Registry-Kontos enthält.
privateRegistry: credentials: fileRef: entry: "private-registry-creds"
privateRegistry.credentials.secretRef.version
String
Mögliche Werte: Ganzzahlstring oder „latest“
Standardwert: „latest“
Wenn Sie einen Wert für preparedSecrets.namespace angeben und das vorbereitete Secret für eine private Registry verwenden möchten, füllen Sie dieses Feld aus. Andernfalls entfernen Sie diesen Feld oder lassen ihn auskommentiert.
Die Version eines vorbereiteten Secrets im Administratorcluster, das den Nutzernamen und das Passwort für die vCenter Server-Instanz enthält, die Sie für diesen Nutzercluster verwenden möchten.
Beispiel:
privateRegistry: credentials: secretRef: version: "1"
privateRegistry.caCertPath
Veränderlich
String
Standard: vom Administratorcluster übernehmen
Wenn Docker 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. Docker 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"
network
Dieser Abschnitt enthält Informationen zu Ihrem Nutzercluster-Netzwerk.
network.hostConfig
1.30 und höher
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
in der Konfigurationsdatei des Administratorclusters konfiguriert ist (verfügbar in Version 1.31 und höher), entfernen Sie den gesamten Abschnitt. Andernfalls ist dieser Abschnitt erforderlich, wenn mindestens eine der folgenden Bedingungen zutrifft:
network.ipMode.type
ist aufstatic
gesetzt.enableControlplaneV2
ist auftrue
gesetzt oder kann standardmäßig auftrue
gesetzt werden. Für neue Nutzercluster ist Controlplane V2 erforderlich.
1.29 und niedriger
Dieser Abschnitt enthält Informationen zu NTP-Servern, DNS-Servern und DNS-Suchdomains, die von den VMs verwendet werden, die Ihre Clusterknoten sind. Wenn Sie den Seesaw-Load-Balancer verwenden, gelten diese Informationen auch für Ihre Seesaw-VMs.
Dieser Abschnitt ist erforderlich, wenn mindestens eine der folgenden Bedingungen zutrifft:
network.ipMode.type
ist aufstatic
gesetzt.enableControlplaneV2
ist auftrue
gesetzt oder kann standardmäßig auftrue
gesetzt werden. In Clustern, in denen Controlplane V2 aktiviert ist, wird der Seesaw-Load-Balancer nicht unterstützt.loadBalancer.kind
ist auf"Seesaw"
gesetzt.
network.hostConfig.dnsServers
Erforderlich
Unveränderlich
Array von Strings
Die maximale Anzahl an 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
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
Unveränderlich
Array von Strings
DNS-Suchdomains, die von den Hosts 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. Wenn enableControlplaneV2
auf true
gesetzt ist, gilt diese Einstellung nur für Worker-Knoten.
Beispiel:
network: ipMode: type: "static"
network.ipMode.ipBlockFilePath
Dieses Feld ist erforderlich, wenn network.ipMode.type
= static
oder wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist.
Unveränderlich
String
Der absolute oder relative Pfad der IP-Blockdatei für Ihren Cluster.
Beispiel:
network: ipMode: ipBlockFilePath: "/my-config-folder/user-cluster-ipblock.yaml"
network.serviceCIDR
Unveränderlich
String
Vorab ausgefüllt: „10.96.0.0/20“
>
Ein Bereich von IP-Adressen im CIDR-Format, der für Dienste in Ihrem Cluster verwendet werden soll. Muss mindestens ein /24-Bereich sein.
Beispiel:
network: serviceCIDR: "10.96.0.0/20"
network.podCIDR
Unveränderlich
String
Vorab ausgefüllt: „192.168.0.0/16“
Standard: „192.168.0.0/16“
Ein Bereich von IP-Adressen im CIDR-Format, der für Pods in Ihrem Cluster verwendet werden soll. Muss mindestens ein /18-Bereich sein.
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
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist, entfernen Sie dieses Feld.
Andernfalls ist dieses Feld erforderlich, wenn sich vCenter.address
von der vCenter-Adresse unterscheidet, die Sie für den Administratorcluster verwenden.
Unveränderlich
String
Der Name des vSphere-Netzwerks für Ihre Nutzerclusterknoten.
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: "/my-uc-datacenter/network/my-network"
network.additionalNodeInterfaces
Wenn Sie für multipleNetworkInterfaces
den Wert true
festlegen, füllen Sie diesen Abschnitt aus.
Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.
Nicht veränderbar.
Ein Array von Objekten, von denen jedes eine Netzwerkschnittstelle beschreibt, die auf allen oder einigen Cluster-Knoten verwendet werden kann.
network.additionalNodeInterfaces[i].networkName
Erforderlich, wenn multipleNetworkInterfaces
= true
Unveränderlich
String
Der Name des vSphere-Netzwerks, mit dem diese zusätzliche Knotenschnittstelle eine Verbindung herstellt.
Beispiel:
network: additionalNodeInterfaces: - networkName: "my-node-interface-1"
network.additionalNodeInterfaces[i].type
Erforderlich, wenn multipleNetworkInterfaces
= true
Unveränderlich
String
Beispiel:
network: additionalNodeInterfaces: - name: "my-node-interface-1" type: "static"
network.additionalNodeInterfaces[i].ipBlockFilePath
Erforderlich, wenn network.additionalNodeInterfaces[i].type
= static
Unveränderlich
String
Der Pfad einer IP-Blockdatei, die IP-Adressen enthält, die für diese Netzwerkschnittstelle auf den Knoten mit dieser Netzwerkschnittstelle verwendet werden sollen.
Beispiel:
network: additionalNodeInterfaces: - name: "my-node-interface-1" type: "static" ipBlockFilePath: "my-ipblock-file-1"
network.controlPlaneIPBlock
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist, entfernen Sie den gesamten Abschnitt.
Andernfalls hängt es vom Wert ab, den Sie in enableControlplaneV2
festlegen, ob Sie diesen Abschnitt einfügen:
- Wenn
enableControlplaneV2
true
ist, füllen Sie diesen Abschnitt aus. - Wenn
enableControlplaneV2
false
ist, entfernen Sie diesen Abschnitt.
network.controlPlaneIPBlock.netmask
Erforderlich, wenn enableControlplaneV2
= true
Unveränderlich
String
Beispiel:
network: controlPlaneIPBlock: netmask: "255.255.255.0"
network.controlPlaneIPBlock.gateway
Erforderlich, wenn enableControlplaneV2
= true
Unveränderlich
String
Beispiel:
network: controlPlaneIPBlock: gateway: "172.16.21.1"
network.controlPlaneIPBlock.ips
Erforderlich, wenn enableControlplaneV2
= true
Unveränderlich
Array von Objekten, von denen jedes eine IP-Adresse und einen Hostnamen hat. Der Hostname ist für die Migration der Steuerungsebene V2 erforderlich, ansonsten optional.
Bei einem hochverfügbaren Nutzercluster (HA, HIgh Availability) hat das Array drei Elemente. Bei einem nicht hochverfügbaren Nutzercluster enthält das Array ein Element.
Beispiel:
network: controlPlaneIPBlock: ips: - ip: "172.16.21.6" hostname: "cp-vm-1" - ip: "172.16.21.7" hostname: "cp-vm-2" - ip: "172.16.21.8" hostname: "cp-vm-3"
loadBalancer
Dieser Abschnitt enthält Informationen zum Load-Balancer für Ihren Nutzercluster.
loadBalancer.vips.controlPlaneVIP
Erforderlich
Unveränderlich
String
Die IP-Adresse, die Sie auf dem Load-Balancer für den Kubernetes API-Server des Nutzerclusters konfiguriert haben.
Beispiel:
loadBalancer: vips: controlplaneVIP: "203.0.113.3"
loadBalancer.vips.ingressVIP
Erforderlich
Unveränderlich
String
Die IP-Adresse, die Sie für den Load-Balancer für den Ingress-Proxy konfiguriert haben.
Beispiel:
loadBalancer: vips: ingressVIP: "203.0.113.4"
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
in der Konfigurationsdatei des Administratorclusters konfiguriert ist.
Bei Topologiedomänen: Legen Sie für dieses Feld
"ManualLB"
fest. Wenn Sie Topologiedomänen verwenden möchten, müssen Sie einen Load Balancer eines Drittanbieters (z. B. F5 BIG-IP oder Citrix) konfigurieren.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. Optional können Sie einen anderen Load Balancer für den Traffic der Steuerungsebene konfigurieren. Weitere Informationen finden Sie untermasterNode.controlPlaneLoadBalancer
.
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
in der Konfigurationsdatei des Administratorclusters 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.
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.
Sie können einen Cluster, für den kind
auf "F5BigIP"
oder "Seesaw"
festgelegt ist, zwar aktualisieren, aber keine neuen Cluster erstellen. Informationen zum Migrieren von Load-Balancing-Konfigurationen finden Sie unter Clustermigration zu empfohlenen Funktionen planen.
Beispiel:
loadBalancer:
kind: "MetalLB"
1.29 und früher
Erforderlich
Unveränderlich
String
Vorab ausgefüllt: "MetalLB"
Legen Sie dafür "ManualLB"
, "F5BigIP"
, "Seesaw"
oder "MetalLB"
fest.
Zum Aktivieren von Dataplane V2 und Controlplane V2 empfehlen wir "ManualLB"
, wenn Sie den Load Balancer eines Drittanbieters (z. B. F5 BIG-IP oder Citrix) verwenden, oder "MetalLB"
für unsere gebündelte Lösung.
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 oder lassen ihn auskommentiert.
loadBalancer.manualLB.ingressHTTPNodePort
Erforderlich, wenn loadBalancer.kind
= ManualLB
(siehe Versionshinweis)
Unveränderlich
Ganzzahl
Vorab ausgefüllt: 30243
Der Ingress-Proxy in einem Nutzercluster wird durch einen Kubernetes-Dienst vom Typ LoadBalancer
bereitgestellt.
Der Dienst hat einen ServicePort für HTTP. Wählen Sie einen nodePort
-Wert für den HTTP-ServicePort aus und legen Sie für dieses Feld den nodePort
-Wert fest.
Versionshinweis: In Version 1.30 und höher sind Ingress-Knotenports für Cluster mit Controlplane V2 optional.
Beispiel:
loadBalancer: manualLB: ingressHTTPNodePort: 32527
loadBalancer.manualLB.ingressHTTPSNodePort
Erforderlich, wenn loadBalancer.kind
= ManualLB (see Version note)
Unveränderlich
Ganzzahl
Vorausgefüllt: 30879
Der Ingress-Proxy in einem Nutzercluster wird von einem Dienst vom Typ LoadBalancer bereitgestellt. Der Dienst hat einen ServicePort für HTTPS. Wählen Sie einen nodePort
-Wert für den HTTPS-ServicePort aus und legen Sie für dieses Feld den nodePort
-Wert fest.
Versionshinweis: In Version 1.30 und höher sind Ingress-Knotenports für Cluster mit Controlplane V2 optional.
Beispiel:
loadBalancer: manualLB: ingressHTTPSNodePort: 30139
loadBalancer.manualLB.controlPlaneNodePort
Erforderlich, wenn loadBalancer.kind
= ManualLB
und enableControlplaneV2
= false
Unveränderlich
Ganzzahl
Vorab ausgefüllt: 30562
Der Kubernetes API-Server eines Nutzerclusters wird im Administratorcluster ausgeführt und von einem Dienst vom Typ LoadBalancer
bereitgestellt. Für den Dienst müssen Sie einen nodePort
-Wert auswählen.
Legen Sie für dieses Feld den Wert nodePort
fest.
Beispiel:
loadBalancer: manualLB: controlPlaneNodePort: 30968
loadBalancer.manualLB.konnectivityServerNodePort
Erforderlich, wenn loadBalancer.kind
= ManualLB
und enableControlplaneV2
= false
Unveränderlich
Ganzzahl
Vorab ausgefüllt: 30563
Der Kubernetes API-Server eines Nutzerclusters, der kubeception verwendet, wird im Administratorcluster ausgeführt und von einem Dienst vom Typ LoadBalancer
bereitgestellt. Der Konnectivity-Server verwendet diesen Dienst mit einem anderen nodePort
-Wert. Sie müssen einen Wert vom Typ nodePort
für den Konnectivity-Server auswählen.
Legen Sie für dieses Feld den Wert nodePort
für den Konnectivity-Server fest.
Beispiel:
loadBalancer: manualLB: konnectivityServerNodePort: 30969
loadBalancer.f5BigIP
1.30 und höher
Ab Version 1.30 ist der Wert "F5BigIP"
für loadbalancer.kind
für neue Nutzercluster 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 Nutzerclustern 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 und niedriger
Wenn Sie für loadbalancer.kind
den Wert "F5BigIP"
festlegen, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.
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.
loadBalancer.f5BigIP.address
1.30 und höher
Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind
= "F5BigIP"
String
Die Adresse Ihres F5 BIG-IP-Load-Balancers.
Beispiel:
loadBalancer:
f5BigIP:
address: "203.0.113.2"
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= "F5BigIP"
String
Die Adresse Ihres F5 BIG-IP-Load-Balancers.
Beispiel:
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"
String
Der Pfad einer Anmeldedatendatei, 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.
Informationen zum Aktualisieren Ihrer F5 BIG-IP-Anmeldedaten finden Sie unter Clusteranmeldedaten aktualisieren.
Beispiel:
loadBalancer:
f5BigIP:
credentials:
fileRef:
path: "my-config-folder/user-creds.yaml"
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= "F5BigIP"
String
Der Pfad einer Anmeldedatendatei, 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.
Informationen zum Aktualisieren Ihrer F5 BIG-IP-Anmeldedaten finden Sie unter Clusteranmeldedaten aktualisieren.
Beispiel:
loadBalancer:
f5BigIP:
credentials:
fileRef:
path: "my-config-folder/user-creds.yaml"
loadBalancer.f5BigIP.credentials.fileRef.entry
1.30 und höher
Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind
= "F5BigIP"
String
Der Name des Anmeldedatenblocks in Ihrer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres F5 BIG-IP-Kontos enthält.
Beispiel:
loadBalancer:
f5BigIP:
credentials:
fileRef:
entry: "f5-creds"
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= "F5BigIP"
String
Der Name des Anmeldedatenblocks in Ihrer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort Ihres F5 BIG-IP-Kontos enthält.
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"
String
Der Name einer BIG-IP-Partition, die Sie für Ihren Nutzercluster erstellt haben.
Beispiel:
loadBalancer:
f5BigIP:
partition: "my-f5-user-partition"
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= "F5BigIP"
String
Der Name einer BIG-IP-Partition, die Sie für Ihren Nutzercluster erstellt haben.
Beispiel:
loadBalancer:
f5BigIP:
partition: "my-f5-user-partition"
loadBalancer.f5BigIP.snatPoolName
1.30 und höher
Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind
= "F5BigIP"
und Sie SNAT verwenden
String
Der Name Ihres SNAT-Pools.
Beispiel:
loadBalancer:
f5BigIP:
snatPoolName: "my-snat-pool"
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= "F5BigIP"
und Sie SNAT verwenden
String
Der Name Ihres SNAT-Pools.
Beispiel:
loadBalancer:
f5BigIP:
snatPoolName: "my-snat-pool"
loadBalancer.seesaw
1.30 und höher
Ab Version 1.30 ist der Wert "Seesaw"
für loadbalancer.kind
für neue Nutzercluster nicht zulässig, da dieser Load Balancer keine neuen und erweiterten Funktionen unterstützt. Wenn der Abschnitt loadBalancer.seesaw
in Ihrer Konfigurationsdatei enthalten ist, entfernen Sie ihn oder kommentieren Sie ihn aus.
Stattdessen können Sie den gebündelten MetalLB-Load-Balancer konfigurieren. Wenn Sie den MetalLB-Load-Balancer aktivieren möchten, legen Sie loadbalancer.kind
auf "MetalLB"
fest und füllen Sie den Abschnitt loadBalancer.metalLB
aus. Weitere Informationen finden Sie unter Gebündeltes Load Balancing mit MetalLB.
1.29 und niedriger
Wenn Sie für loadbalancer.kind
den Wert "Seesaw"
festlegen, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.
Beachten Sie die folgenden Einschränkungen des SeeSaw-Load-Balancer:
- Wenn dieser Nutzercluster von einem hochverfügbaren Administratorcluster verwaltet wird, kann er den Seesaw-Load-Balancer nicht verwenden.
- Nutzercluster, für die Controlplane V2 aktiviert ist, können den Seesaw-Load-Balancer nicht verwenden.
Wenn Sie diese Funktionen verwenden möchten, empfehlen wir Ihnen, den MetalLB-Load-Balancer zu konfigurieren. Wenn Sie den MetalLB-Load-Balancer aktivieren möchten, legen Sie loadbalancer.kind
auf "MetalLB"
fest und füllen den Abschnitt loadBalancer.metalLB
aus. Weitere Informationen finden Sie unter Gebündeltes Load Balancing mit MetalLB.
loadBalancer.seesaw.ipBlockFilePath
1.30 und höher
Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind
= Seesaw
Unveränderlicher
String
Der Pfad der IP-Blockdatei für Ihre Seesaw-VMs.
Beispiel:
loadBalancer:
seesaw:
ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= Seesaw
Unveränderlich
String
Der Pfad der IP-Blockdatei für Ihre Seesaw-VMs.
Beispiel:
loadBalancer:
seesaw:
ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"
loadBalancer.seesaw.vrid
1.30 und höher
Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind
= Seesaw
Unveränderlich
Ganzzahl
Mögliche Werte: 1–255
Vorab ausgefüllt: 0
Die virtuelle Router-ID Ihrer Seesaw-VM. Diese Kennung, die eine Ganzzahl Ihrer Wahl ist, muss in einem VLAN einmalig sein.
Beispiel:
loadBalancer:
seesaw:
vrid: 125
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= Seesaw
Unveränderlich
Ganzzahl
Mögliche Werte: 1–255
Vorab ausgefüllt: 0
Die virtuelle Router-ID Ihrer Seesaw-VM. Diese Kennung, die eine Ganzzahl Ihrer Wahl ist, muss in einem VLAN einmalig sein.
Beispiel:
loadBalancer:
seesaw:
vrid: 125
loadBalancer.seesaw.masterIP
1.30 und höher
Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind
= Seesaw
Unveränderlicher
String
Die virtuelle IP-Adresse, die auf Ihrer Master-Seesaw-VM konfiguriert ist.
Beispiel:
loadBalancer:
seesaw:
masterIP: 172.16.20.21
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= Seesaw
Unveränderlich
String
Die virtuelle IP-Adresse, die auf Ihrer Master-Seesaw-VM konfiguriert ist.
Beispiel:
loadBalancer:
seesaw:
masterIP: 172.16.20.21
loadBalancer.seesaw.cpus
1.30 und höher
Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind
= Seesaw
Veränderlich
Ganzzahl
Vorab ausgefüllt: 4
Die Anzahl der CPUs für jeder Seesaw-VM.
Beispiel:
loadBalancer:
seesaw:
cpus: 8
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= Seesaw
Veränderlich
Ganzzahl
Vorab ausgefüllt: 4
Die Anzahl der CPUs für jeder Seesaw-VM.
Beispiel:
loadBalancer:
seesaw:
cpus: 8
loadBalancer.seesaw.memoryMB
1.30 und höher
Nicht für neue Cluster zulässig
Erforderlich, wenn loadBalancer.kind
= Seesaw
Veränderlich
Ganzzahl
Vorab ausgefüllt: 3072
Die Größe des Arbeitsspeichers in Mebibyte für jede Seesaw-VM.
Beispiel:
loadBalancer:
seesaw:
memoryMB: 8192
Hinweis: Dieses Feld gibt die Anzahl der Mebibyte des Speichers und nicht die Anzahl der Megabyte an. Ein Mebibyte ist 220 = 1.048.576 Byte. Ein Megabyte ist 106 = 1.000.000 Byte.
1.29 und niedriger
Erforderlich, wenn loadBalancer.kind
= Seesaw
Veränderlich
Ganzzahl
Vorab ausgefüllt: 3072
Die Größe des Arbeitsspeichers in Mebibyte für jede Seesaw-VM.
Beispiel:
loadBalancer:
seesaw:
memoryMB: 8192
Hinweis: Dieses Feld gibt die Anzahl der Mebibyte des Speichers und nicht die Anzahl der Megabyte an. Ein Mebibyte ist 220 = 1.048.576 Byte. Ein Megabyte ist 106 = 1.000.000 Byte.
loadBalancer.seesaw.vCenter.networkName
1.30 und höher
Nicht für neue Cluster zulässig
Unveränderlich
String
Standard: wie die Clusterknoten
Der Name des vCenter-Netzwerks, das Ihre Seesaw-VMs enthält.
Beispiel:
loadBalancer:
seesaw:
vCenter:
networkName: "my-seesaw-network"
1.29 und niedriger
Unveränderlich
String
Standard: wie die Clusterknoten
Der Name des vCenter-Netzwerks, das Ihre Seesaw-VMs enthält.
Beispiel:
loadBalancer:
seesaw:
vCenter:
networkName: "my-seesaw-network"
loadBalancer.seesaw.enableHA
1.30 und höher
Nicht für neue Cluster zulässig
Unveränderlich
Relevant, wenn loadBalancer.kind
= Seesaw
Boolescher Wert
Vorab ausgefüllt: false
Standard: false
Wenn Sie einen Seesaw-Load-Balancer mit Hochverfügbarkeit erstellen möchten, legen Sie für dieses Feld true
fest. Andernfalls legen Sie false
fest. Ein HA-Seesaw-Load-Balancer verwendet ein VM-Paar(Master, Backup).
Beispiel:
loadBalancer:
seesaw:
enableHA: true
1.29 und niedriger
Unveränderlich
Relevant, wenn loadBalancer.kind
= Seesaw
Boolescher Wert
Vorab ausgefüllt: false
Standard: false
Wenn Sie einen Seesaw-Load-Balancer mit Hochverfügbarkeit erstellen möchten, legen Sie für dieses Feld true
fest. Andernfalls legen Sie false
fest. Ein HA-Seesaw-Load-Balancer verwendet ein VM-Paar(Master, Backup).
Beispiel:
loadBalancer:
seesaw:
enableHA: true
loadBalancer.seesaw.disableVRRPMAC
1.30 und höher
Nicht für neue Cluster zulässig
Unveränderlich
Relevant, wenn loadBalancer.kind
= Seesaw
Boolescher Wert
Vorab ausgefüllt: true
Standard: true
Wenn diese Option auf true
gesetzt ist (empfohlen), verwendet der Seesaw-Load-Balancer das MAC-Lernen für Failover nicht. Stattdessen wird eine überflüssige ARP verwendet.
Wenn dieses Feld auf false
gesetzt ist, verwendet der Seesaw-Load-Balancer MAC-Lernen. Wenn Sie vSphere 7 oder höher verwenden und einen Seesaw-Load-Balancer mit hoher Verfügbarkeit haben, muss dieses Feld auf true
gesetzt werden.
Beispiel:
loadBalancer:
seesaw:
disableVRRPMAC: true
1.29 und niedriger
Unveränderlich
Relevant, wenn loadBalancer.kind
= Seesaw
Boolescher Wert
Vorab ausgefüllt: true
Standard: true
Wenn Sie true
festlegen (empfohlen), verwendet der Seesaw-Load-Balancer das MAC-Lernen für Failover nicht. Stattdessen wird eine überflüssige ARP verwendet.
Wenn Sie false
auf den Seesaw-Load-Balancer setzen, verwendet der Seesaw-Load-Balancer MAC-Lernen. Wenn Sie vSphere 7 oder höher verwenden und einen Seesaw-Load-Balancer mit Hochverfügbarkeit haben, müssen Sie dies auf true
setzen.
Beispiel:
loadBalancer:
seesaw:
disableVRRPMAC: true
loadBalancer.metalLB
Wenn Sie für loadbalancer.kind
den Wert "MetalLB"
festlegen, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen Sie ihn auskommentiert.
Weitere Informationen finden Sie unter Gebündeltes Load-Balancing mit MetalLB.
loadBalancer.metalLB.addressPools
Erforderlich, wenn loadBalancer.kind
= MetalLB
Veränderlich (siehe Ausnahme)
Array von Objekten, die jeweils Informationen zu einem Adresspool enthalten, der vom MetalLB-Load-Balancer verwendet werden soll.
1.32 und höher
Das Verhalten dieses Felds ist dasselbe, wenn enableAdvancedCluster
auf true
(erweiterter Cluster aktiviert) oder false
(erweiterter Cluster nicht aktiviert) festgelegt ist.
In beiden Fällen ist das Array nicht vollständig veränderbar. Sie können Adresspools hinzufügen, aber das Entfernen von Adresspools aus einem vorhandenen Adresspool-Array wird nicht unterstützt.
1,31
Das Verhalten dieses Felds hängt davon ab, ob enableAdvancedCluster
auf true
(erweiterter Cluster aktiviert) oder false
(erweiterter Cluster nicht aktiviert) festgelegt ist:
Wenn der erweiterte Cluster aktiviert ist, ist das Array nicht vollständig veränderbar. Sie können Adresspools hinzufügen, aber das Entfernen von Adresspools aus einem vorhandenen Adresspool-Array wird nicht unterstützt.
Wenn der erweiterte Cluster nicht aktiviert ist, ist das Array veränderbar. Sie können einem vorhandenen Adresspool-Array Adresspools hinzufügen und daraus entfernen.
1.30 und früher
Sie können einem vorhandenen Adresspool-Array Adresspools hinzufügen und daraus entfernen.
loadBalancer.metalLB.addressPools[i].name
Erforderlich, wenn loadBalancer.kind
= MetalLB
Veränderlich (siehe Ausnahme)
String
Ein Name Ihrer Wahl für den Adresspool.
1.32 und höher
Das Verhalten dieses Felds ist dasselbe wie wenn enableAdvancedCluster
auf true
(erweiterter Cluster aktiviert) oder false
(erweiterter Cluster nicht aktiviert) festgelegt ist.
In beiden Fällen wird das Ändern des Namens nach dem Erstellen des Clusters nicht unterstützt.
1,31
Das Verhalten dieses Felds hängt davon ab, ob enableAdvancedCluster
auf true
(erweiterter Cluster aktiviert) oder false
(erweiterter Cluster nicht aktiviert) festgelegt ist:
Wenn der erweiterte Cluster aktiviert ist, kann der Name nach dem Erstellen des Clusters nicht mehr geändert werden.
Wenn der erweiterte Cluster nicht aktiviert ist, können Sie den Namen des Pools nach dem Erstellen des Clusters ändern.
1.30 und früher
Sie können den Namen des Pools ändern, nachdem der Cluster erstellt wurde.
Beispiel:
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1"
loadBalancer.metalLB.addressPools[i].addresses
Erforderlich, wenn loadBalancer.kind
= MetalLB
Veränderlich (siehe Ausnahme)
Array von Strings, von denen jeder ein Adressbereich ist. Jeder Bereich muss das Format CIDR-Bereich oder Bindestrich haben.
1.32 und höher
Das Verhalten dieses Felds ist dasselbe wie wenn enableAdvancedCluster
auf true
(erweiterter Cluster aktiviert) oder false
(erweiterter Cluster nicht aktiviert) festgelegt ist.
In beiden Fällen können Sie einem vorhandenen Adresspool Adressen hinzufügen, das Entfernen von Adressen wird jedoch nicht unterstützt.
1,31
Das Verhalten dieses Felds hängt davon ab, ob enableAdvancedCluster
auf true
(erweiterter Cluster aktiviert) oder false
(erweiterter Cluster nicht aktiviert) festgelegt ist:
Wenn der erweiterte Cluster aktiviert ist: Sie können einem vorhandenen Adresspool Adressen hinzufügen, aber das Entfernen von Adressen wird nicht unterstützt.
Wenn der erweiterte Cluster nicht aktiviert ist, können Sie einem vorhandenen Adresspool Adressen hinzufügen und daraus entfernen.
1.30 und früher
Sie können einem vorhandenen Adresspool Adressen hinzufügen und daraus entfernen.
Beispiel:
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1" addresses: - "192.0.2.0/26" - "192.0.2.64-192.0.2.72"
loadBalancer.metalLB.addressPools[i].avoidBuggyIPs
Relevant, wenn loadBalancer.kind
= MetalLB
Veränderlich
Boolescher Wert
Vorab ausgefüllt: false
Standard: false
Wenn Sie diesen Wert auf true
setzen, weist der MetalLB-Controller den Diensten keine IP-Adressen zu, die mit .0 oder .255 enden. Dadurch wird verhindert, dass fehlerhafte Geräte versehentlich Traffic löschen, der an diese speziellen IP-Adressen gesendet wird.
Beispiel:
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1" - "192.0.2.0/26" - "192.0.2.64-192.0.2.72" avoidBuggyIPs: true
loadBalancer.metalLB.addressPools[i].manualAssign
Relevant, wenn loadBalancer.kind
= MetalLB
Veränderlich
Boolescher Wert
Vorab ausgefüllt: false
Standard: false
Wenn der MetalLB-Controller IP-Adressen aus diesem Pool nicht automatisch Diensten zuweisen soll, legen Sie für dieses Feld true
fest. Anschließend können Entwickler einen Service vom Typ LoadBalancer
erstellen und eine der Adressen manuell aus dem Pool angeben.
Andernfalls legen Sie false
fest.
Beispiel:
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1" manualAssign: true
enableDataplaneV2
1.30 und höher
Veränderlich (von false
zu true
ist zulässig)
Boolescher Wert
Vorab ausgefüllt: true
Standard: false
Dieses Feld steuert das Container Network Interface (CNI), das vom Cluster verwendet wird. Dataplane V2 muss aktiviert sein, um Controlplane V2 zu verwenden. Sie können das Feld von false
in true
ändern, um Dataplane V2 zu aktivieren. Das Deaktivieren von Dataplane V2 ist jedoch nicht zulässig.
Ab Version 1.30 ist Dataplane V2 für neue Nutzercluster erforderlich und muss auf
true
festgelegt sein. Informationen zum Migrieren eines vorhandenen Clusters der Version 1.30 zu Dataplane V2 finden Sie unter Nutzercluster zu empfohlenen Funktionen migrieren.In Version 1.31 ist Dataplane V2 für alle Cluster erforderlich. Führen Sie vor dem Upgrade auf Version 1.31 die Schritte unter Dataplane V2 aktivieren aus.
Vorteile von Dataplane V2:
Dataplane V2 bietet im Vergleich zur vorherigen Container Network Interface-Option (CNI) Calico eine erweiterte und leistungsfähigere CNI. Calico befindet sich im Wartungsmodus. Das bedeutet, dass nur kritische Fehlerkorrekturen und Sicherheitsupdates durchgeführt, aber keine neuen Funktionen entwickelt werden. Dataplane V2 wird hingegen aktiv weiterentwickelt, sodass Sie Zugriff auf die neuesten Netzwerkinnovationen und ‑funktionen haben.
Dataplane V2 ist die bevorzugte CNI für GKE und andere Google Distributed Cloud-Produkte.
1.29 und niedriger
Unveränderlich
Boolescher Wert
Vorab ausgefüllt: true
Standard: false
Wenn Sie Dataplane V2 aktivieren oder Controlplane V2 verwenden möchten, geben Sie hier true
an. Andernfalls legen Sie false
fest.
Wir empfehlen, Dataplane V2 zu aktivieren.
Beispiel:
enableDataplaneV2: true
Schritte zur Fehlerbehebung finden Sie unter Fehlerbehebung bei Problemen mit Google Distributed Cloud NFS und DataPlane v2.
dataplaneV2.forwardMode
Veränderlich
String
Mögliche Werte: „snat“, „dsr“
Vorab ausgefüllt: „snat“
Standard: „snat“
Der Weiterleitungsmodus für einen Cluster, für den Dataplane V2 aktiviert ist.
Im SNAT-Modus (Source Network Address Translation) wird ein Paket per SNAT übersetzt, wenn es von einem Load Balancer-Knoten an einen Backend-Pod weitergeleitet wird. Der Pod kann die ursprüngliche Quell-IP-Adresse nicht sehen und das Rückgabepaket muss den Load Balancer-Knoten passieren.
Im DSR-Modus (Direct Server Return) behält ein Paket seine ursprüngliche Quell-IP-Adresse bei, wenn es von einem Load Balancer-Knoten an einen Backend-Pod weitergeleitet wird. Der Pod kann die ursprüngliche Quell-IP-Adresse sehen und das Rückgabepaket geht direkt an den Client, ohne den Load Balancer-Knoten zu passieren.
Beispiel:
dataplaneV2: forwardMode: "dsr"
multipleNetworkInterfaces
Unveränderlich
Boolescher Wert
Vorab ausgefüllt: false
Standard: false
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist, muss dieses Feld false
sein.
Wenn Sie mehrere Netzwerkschnittstellen für Pods aktivieren möchten, legen Sie dafür true
fest.
Weitere Informationen finden Sie unter Mehrere Netzwerkschnittstellen für Pods konfigurieren.
Beispiel:
multipleNetworkInterfaces: true
advancedNetworking
Unveränderlich
Boolescher Wert
Vorab ausgefüllt: false
Standard: false
Wenn Sie ein NAT-Gateway für ausgehenden Traffic erstellen möchten, legen Sie true
fest. Setzen Sie ihn andernfalls auf false
.
Wenn Sie dieses Feld auf true
setzen, müssen Sie auch enableDataplaneV2
auf true
setzen.
Beispiel:
advancedNetworking: true
disableBundledIngress
Legen Sie dafür true
fest, wenn Sie den Gebündelter eingehender Traffic für den Cluster deaktivieren möchten. Legen Sie andernfalls false
fest.
Boolescher Wert
Veränderlich
Vorab ausgefüllt: false
Standard: false
Beispiel:
disableBundledIngress: true
storage.vSphereCSIDisabled
Wenn Sie die Bereitstellung von vSphere-CSI-Komponenten deaktivieren möchten, legen Sie für dieses Feld true
fest. Setzen Sie ihn andernfalls auf false
.
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist, muss dieses Feld true
sein.
Veränderlich
Boolescher Wert
Vorab ausgefüllt: false
Standard: false
Beispiel:
storage: vSphereCSIDisabled: false
masterNode
Dieser Abschnitt enthält Informationen zu den Knoten, die als Knoten der Steuerungsebene für diesen Nutzercluster dienen.
masterNode.controlPlaneLoadBalancer
1.32 und höher
Optional können Sie diesen Abschnitt einfügen, um den Typ des Load-Balancers anzugeben, der für den Traffic der Steuerungsebene im Nutzercluster verwendet werden soll. Fügen Sie masterNode.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, um den Typ des Load-Balancers anzugeben, der für die Datenebene verwendet werden soll.
masterNode.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
in der Konfigurationsdatei des Administratorclusters 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 Topologiedomänen 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 Knoten der Steuerungsebene 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 Nutzercluster anzugeben.
masterNode.cpus
Veränderlich
Ganzzahl
Vorab ausgefüllt: 4
Standard: 4
Die Anzahl der CPUs pro Knoten, der als Steuerungsebene für diesen Nutzercluster dient.
Beispiel:
masterNode: cpus: 8
masterNode.memoryMB
Veränderlich
Ganzzahl
Vorab ausgefüllt: 8192
Standard: 8192
Die Größe des Arbeitsspeichers in Mebibyte pro Knoten, der als Steuerungsebene für diesen Nutzercluster dient. Muss ein Mehrfaches von 4 sein.
Beispiel:
masterNode: memoryMB: 8192
Hinweis: Dieses Feld gibt die Anzahl der Mebibyte des Speichers und nicht die Anzahl der Megabyte an. Ein Mebibyte ist 2^20 = 1.048.576 Byte. Ein Megabyte ist 10^6 = 1.000.000 Byte.
masterNode.replicas
Unveränderlich
Ganzzahl
Mögliche Werte: 1 oder 3
Vorab ausgefüllt: 1
Standard: 1
Die Anzahl der Steuerungsebenenknoten für diesen Nutzercluster. Diese Zahl kann nicht mehr geändert werden, nachdem Sie den Cluster erstellt haben. Wenn Sie die Anzahl der Replikate später aktualisieren möchten, müssen Sie den Nutzercluster neu erstellen.
Wenn das Feld enableAdvancedCluster
true
ist, müssen Sie dieses Feld auf 3
setzen. In erweiterten Clustern werden nur Nutzercluster mit hoher Verfügbarkeit (HA) unterstützt.
Beispiel:
masterNode: replicas: 3
masterNode.autoResize.enabled
Veränderlich
Boolescher Wert
Vorab ausgefüllt: false
Standard: false
Setzen Sie diesen Wert auf true
, um die automatische Größenanpassung der Knoten der Steuerungsebene für den Nutzercluster zu aktivieren. Andernfalls legen Sie false
fest.
Weitere Informationen finden Sie unter Größenanpassung von Knoten für die Steuerungsebenenknoten eines Nutzerclusters aktivieren.
Beispiel:
masterNode: autoResize: enabled: true
masterNode.vsphere
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist, entfernen Sie den gesamten Abschnitt.
masterNode.vsphere.datastore
Optional
Unveränderlich
String
Standard: Der Wert von vCenter.datastore
Der Datenspeicher, in dem die Knoten der Steuerungsebene für diesen Nutzercluster erstellt werden.
Der angegebene Wert muss ein Name und kein Pfad sein. Fügen Sie dem Wert keine Ordner hinzu.
Beispiel:
masterNode: vSphere: datastore: "control-plane-datastore"
Wenn Sie einen Wert für dieses Feld angeben, geben Sie keinen Wert für masterNode.vsphere.storagePolicyName
an. Das Feld masterNode.vsphere.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.
masterNode.vsphere.storagePolicyName
Optional
Unveränderlich
String
Standard: Der Wert von vCenter.storagePolicyName
Der Name einer VM-Speicherrichtlinie für die Knoten der Steuerungsebene.
Weitere Informationen finden Sie unter Speicherrichtlinie konfigurieren.
Beispiel:
masterNode: vSphere: storagePolicyName: "control-plane-storage-policy"
Wenn Sie einen Wert für dieses Feld angeben, geben Sie keinen Wert für masterNode.vsphere.datastore
an.
masterNode.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
in der Konfigurationsdatei des Administratorclusters konfiguriert ist (was darauf hinweist, dass der Cluster Topologiedomänen verwendet), können Sie dieses Feld optional einfügen. Die Anzahl der Topologiedomänen im Array bestimmt, wie die Knoten der Steuerungsebene des Nutzerclusters bereitgestellt werden:
- Ein Element: Alle Knoten der Steuerungsebene für Nutzercluster werden in der angegebenen Topologiedomäne bereitgestellt.
- Drei Elemente: Jeder Knoten der Nutzercluster-Steuerungsebene wird in einer anderen Topologiedomäne bereitgestellt (d. h. ein Knoten pro Topologiedomäne).
1,31
Vorschau
Optional
Array von Strings | Es wird jedoch nur ein Element unterstützt
Unveränderlich
Standard: vSphereInfraConfig.defaultTopologyDomain
, falls in der Konfigurationsdatei für die vSphere-Infrastruktur angegeben
Ein Array von Topologiedomänen.
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist (was darauf hinweist, dass der Cluster Topologie-Domains verwendet), können Sie dieses Feld optional einfügen. Die Knoten der Steuerungsebene des Nutzerclusters werden in der angegebenen Topologiedomain bereitgestellt.
1.30 und niedriger
Nicht verfügbar.
nodePools
Erforderlich
Veränderlich
Array von Objekten, die jeweils einen Knotenpool beschreiben.
Weitere Informationen finden Sie unter Knotenpools erstellen und verwalten.
nodePools[i].name
Erforderlich
Unveränderlich
String
Ein Name Ihrer Wahl für den Knotenpool. Der Name:
- darf höchstens 40 Zeichen enthalten.
- darf nur kleingeschriebene, alphanumerische Zeichen und einen Bindestrich
-
enthalten. - Er muss mit einem Buchstaben beginnen.
- Er muss mit einem alphanumerischen Zeichen enden.
Beispiel:
nodePools: - name: "my-node-pool-1"
nodePools[i].gkeOnPremVersion
Wenn Sie einen Nutzercluster aktualisieren, können Sie angeben, dass ausgewählte Knotenpools bei der vorherigen Version bleiben.
Wenn dieser Knotenpool die vorherige Version beibehalten soll, legen Sie dies auf die vorherige Version fest. Andernfalls entfernen Sie dieses Feld oder legen es auf den leeren String fest. Weitere Informationen finden Sie unter Nutzercluster aktualisieren.
Veränderlich
String
Standard: der Cluster gkeOnPremVersion
Beispiel:
nodePools: - name: "my-node-pool" gkeOnPremVersion: "1.13.0-gke.16"
nodePools[i].cpus
Erforderlich
Veränderlich
Ganzzahl
Vorausgefüllt: 4
Die Anzahl der vCPUs für jeden Knoten im Pool.
Beispiel:
nodePools" - name: "my-node-pool" cpus: 8
nodePools[i].memoryMB
Erforderlich
Veränderlich
Ganzzahl
Vorausgefüllt: 8192
Die Größe des Arbeitsspeichers in Mebibyte für jeden Knoten im Pool. Muss ein Mehrfaches von 4 sein.
Beispiel:
nodePools" - name: "my-node-pool" memoryMB: 8192
Hinweis: Dieses Feld gibt die Anzahl der Mebibyte des Speichers und nicht die Anzahl der Megabyte an. Ein Mebibyte ist 2^20 = 1.048.576 Byte. Ein Megabyte ist 10^6 = 1.000.000 Byte.
nodePools[i].replicas
Erforderlich
Veränderlich
Ganzzahl
Vorausgefüllt: 3
Mögliche Werte: Die Gesamtzahl der nicht markierten Knoten in allen Knotenpools im Cluster muss mindestens 3 sein
Die Anzahl der Knoten im Pool.
Beispiel:
nodePools: - name: "my-node-pool" replicas: 5
nodePools[i].bootDiskSizeGB
Veränderlich
Ganzzahl
Vorab ausgefüllt: 40
Standard: 40
Die Größe des Bootlaufwerks in Gibibyte für jeden Knoten im Pool.
Beispiel:
nodePools - name: "my-node-pool" bootDiskSizeGB: 40
nodePools[i].osImageType
Veränderlich
String
Mögliche Werte: „ubuntu_containerd“, „cos“, „ubuntu_cgv2“, „cos_cgv2“
Vorab ausgefüllt: „ubuntu_cgv2“
Standard: „ubuntu_containerd“
Der Typ des Betriebssystems, der auf den VMs im Knotenpool ausgeführt werden soll.
In Version 1.32 sind Windows Server-Knotenpools veraltet und ab Version 1.33 nicht mehr verfügbar. Die Unterstützung für Windows Server-Knotenpools endet am 5. Mai 2026. Wir empfehlen, „windows“ nicht als Betriebssystem-Image-Typ für neue Cluster zu verwenden.
Beachten Sie die folgende Einschränkung bei erweiterten Clustern:
Version 1.31: Wenn das Feld
enableAdvancedCluster
true
ist, werden in erweiterten Clustern nurubuntu-cgroupv2
undubuntu_containerd
unterstützt.Version 1.32: Alle Betriebssystem-Image-Typen außer „windows“ werden in erweiterten Clustern unterstützt.
Beispiel:
nodePools - name: "my-node-pool" osImageType: "ubuntu_cgv2"
nodePools[i].osImage
Erforderlich, wenn nodePools[i].osImageType
= windows
Veränderlich
String
Der Name einer Windows-VM-Vorlage. Die Vorlage muss auf einem Windows Server 2019-ISO basieren, das Tag en-US für die Sprache/Region.
Weitere Informationen finden Sie im Nutzerhandbuch für Windows Server-Betriebssystem-Knotenpools.
nodePools[i].labels
Veränderlich
Zuordnung
Labels, die auf jedes Kubernetes-Knotenobjekt im Pool angewendet werden sollen.
Beispiel:
nodePools: - name: "my-node-pool" labels: environment: "production" tier: "cache"
Aus Sicherheitsgründen kann der Kubelet sich in bestimmten Namespaces keine Labels zuweisen.
Die reservierten Knotenlabel-Namespaces sind kubernetes.io
, k8s.io
und googleapis.com
.
nodePools[i].taints
Veränderlich
Array von Objekten, die jeweils eine Kubernetes-Markierung beschreiben, die auf alle Knoten im Pool angewendet wird. Markierungen sind Schlüssel/Wert-Paare, die einem effect
zugeordnet sind. Markierungen werden mit Toleranzen für die Pod-Planung verwendet. Geben Sie für effect
einen der folgenden Werte an: NoSchedule
, PreferNoSchedule
oder NoExecute
.
Beispiel:
nodePools: - name: "my-node-pool" taints: - key: "staging" value: "true" effect: "NoSchedule"
nodePools[i].vsphere
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist, entfernen Sie alle Felder im Abschnitt nodePools[i].vsphere
mit Ausnahme von nodePools[i].vsphere.tags
.
nodePools[i].vsphere.datastore
Veränderlich
String
Standard: Der Wert von vCenter.datastore
Der Name des vCenter-Datenspeichers, in dem die Knoten erstellt werden.
Beispiel:
nodePools: - name: "my-node-pool" vsphere: datastore: "my-datastore"
Wenn Sie einen Wert für dieses Feld angeben, geben Sie keinen Wert für nodePools[i].vsphere.storagePolicyName
an.
nodePools[i].vsphere.storagePolicyName
Veränderlich
String
Standard: Der Wert von vCenter.storagePolicyName
Der Name einer VM-Speicherrichtlinie für die Knoten im Pool.
Weitere Informationen finden Sie unter Speicherrichtlinie konfigurieren.
Beispiel:
nodePools: - name: "my-node-pool" vsphere: storagePolicyName: "my-storage-policy"
Wenn Sie einen Wert für dieses Feld angeben, geben Sie keinen Wert für nodePools[i].vsphere.datastore
an.
nodePools[i].vsphere.hostgroups
Füllen Sie diesen Abschnitt aus, wenn Sie Ihren Cluster für die Verwendung der VM-Host-Affinität konfigurieren möchten.
Veränderlich
Array von Strings, von denen jeder der Name einer DRS-Hostgruppe ist.
Das Array kann nur ein Element enthalten.
Beispiel:
nodePools: - name: "my-node-pool" vsphere: hostgroups: - "my-hostgroup"
nodePools[i].vsphere.tags
Veränderlich
Array von Objekten, die jeweils ein vSphere-Tag beschreiben, das auf den VMs im Knotenpool platziert werden soll.
Jedes Tag hat eine Kategorie und einen Namen.
Beispiel:
nodePools: - name: "my-node-pool" vsphere: tags: - category: "purpose" name: "testing"
Wenn Sie Tags an alle VMs in einem Knotenpool anhängen möchten, muss Ihr vCenter-Nutzerkonto diese vSphere-Tagging-Berechtigungen haben:
- vSphere-Tagging.Assign oder Unassign vSphere Tag
- vSphere Tagging.Assign oder Unassign vSphere Tag on Object (vSphere 7)
nodePools[i].autoscaling
Veränderlich
Wenn Sie das Autoscaling für den Knotenpool aktivieren möchten, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.
nodePools[i].autoscaling.minReplicas
Veränderlich
Ganzzahl
Mögliche Werte: größer als oder gleich 1
Vorab ausgefüllt: 0
Die Mindestanzahl der Knoten, die das Autoscaling für den Pool festlegen kann.
Beispiel:
nodePools: - name: "my-node-pool" autoscaling: minReplicas: 5
nodePools[i].autoscaling.maxReplicas
Veränderlich
Ganzzahl
Vorab ausgefüllt: 0
Die maximale Anzahl von Knoten, die das Autoscaling für den Pool festlegen kann.
Beispiel:
nodePools: - name: "my-node-pool" autoscaling: maxReplicas: 10
nodePools[i].enableLoadBalancer
Relevant, wenn loadBalancer.kind
= "MetalLB"
Veränderlich
Boolescher Wert
Vorab ausgefüllt: true
Standard: false
1.32 und höher
Das Verhalten dieses Felds ist dasselbe, wenn enableAdvancedCluster
auf true
(erweiterter Cluster aktiviert) oder false
(erweiterter Cluster nicht aktiviert) festgelegt ist.
Setzen Sie diesen Wert in beiden Fällen auf true
, wenn Sie möchten, dass der MetalLB-Speaker auf den Knoten im Pool ausgeführt werden kann. Setzen Sie ihn andernfalls auf false
.
1,31
Das Verhalten dieses Felds hängt davon ab, ob enableAdvancedCluster
auf true
(erweiterter Cluster aktiviert) oder false
(erweiterter Cluster nicht aktiviert) festgelegt ist:
Wenn der erweiterte Cluster aktiviert ist, hat dieses Feld keine Auswirkungen, da der MetalLB-Speaker immer auf den Steuerungsebenenknoten des Nutzerclusters ausgeführt wird.
Wenn der erweiterte Cluster nicht aktiviert ist: Setzen Sie diesen Wert auf
true
, wenn Sie möchten, dass der MetalLB-Speaker auf den Knoten im Pool ausgeführt werden kann. Setzen Sie ihn andernfalls auffalse
.
1.29 und niedriger
Setzen Sie diesen Wert auf true
, wenn Sie möchten, dass der MetalLB-Speaker auf den Knoten im Pool ausgeführt werden kann. Setzen Sie ihn andernfalls auf false
.
Weitere Informationen finden Sie unter Gebündeltes Load-Balancing mit MetalLB.
Beispiel:
nodePools: - name: "my-node-pool" enableLoadBalancer: true
nodePools[i].updateStrategy.rollingUpdate.maxSurge
Vorschau
Veränderlich
Ganzzahl
Standard: 1
Die maximale Anzahl an Maschinen im Knotenpool, die während eines Updates oder Upgrades gleichzeitig aktualisiert werden können.
nodePools: - name: "my-node-pool" updateStrategy: rollingUpdate: maxSurge: 3
nodePools[i].topologyDomains
1.31 und höher
Wenn infraConfigFilePath
in der Konfigurationsdatei des Administratorclusters konfiguriert ist (wodurch Topologie-Domains aktiviert werden), können Sie dieses Feld optional einfügen.
Array von Strings | Es wird aber nur ein Element unterstützt
Unveränderlich
Standard: vSphereInfraConfig.defaultTopologyDomain
, falls in der Konfigurationsdatei für die vSphere-Infrastruktur angegeben
Knoten in diesem Knotenpool werden in die Topologiedomain eingefügt, die in diesem Feld angegeben ist. Pro Knotenpool ist nur eine Topologiedomäne zulässig. Alle Knoten in einem Knotenpool werden in eine einzelne Topologiedomäne eingefügt.
1.30 und niedriger
Nicht verfügbar.
schedulerConfiguration
1.32 und höher
Vorschau
Optional
Beim Einrichten von Topologiedomänen können Sie optional zusätzliche Konfigurationen einrichten, die an kube-scheduler
übergeben werden.
schedulerConfiguration.defaultTopologySpreadConstraint
Vorschau
Optional
Unveränderlich
Ein Objekt, das eine Standardregel für die Topologie-Streuungseinschränkung auf Clusterebene definiert, die auf die Pod-Planung angewendet wird. Wenn der Nutzercluster mit Topologiedomänen erstellt wird und diese Regel konfiguriert ist, verwendet kube-scheduler
standardmäßig den Standardschlüssel für die Topologie und verteilt Pods von Deployments, Statefulsets und Replicasets darauf. Die Struktur ist dieselbe wie bei den Standardeinschränkungen auf Kubernetes-Clusterebene.
Beispiel:
schedulerConfiguration:
defaultTopologySpreadConstraint:
defaultConstraints:
- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: ScheduleAnyway
defaultingType: List
Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Standardeinschränkungen auf Clusterebene.
1.31 und niedriger
Nicht verfügbar.
antiAffinityGroups.enabled
Veränderlich
Boolescher Wert
Vorab ausgefüllt: true
Standard: true
Wenn dieses Feld true
ist, erstellt Google Distributed Cloud VMware-DRS-Anti-Affinitätsregeln (Distributed Resource Scheduler) für die Knoten Ihres Nutzerclusters, 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.
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üssenantiAffinityGroups.enabled
auffalse
festlegen.Version 1.32: Antiaffinitätsregeln werden in erweiterten Clustern unterstützt.
Beispiel:
antiAffinityGroups: enabled: false
enableVMTracking
Vorschau
Unveränderlich
Vorab ausgefüllt: false
Legen Sie hier true
fest, um das VM-Tracking mit vSphere-Tags zu aktivieren. Legen Sie andernfalls false
fest.
Weitere Informationen finden Sie unter VM-Tracking aktivieren.
Beispiel:
enableVMTracking: true
nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate
Veränderlich
Ganzzahl
Mögliche Werte: 0 oder 1
Vorab ausgefüllt: 0
Standard: 0
Die Anzahl der Knotenpools, die gleichzeitig aktualisiert werden sollen. Der Wert 1
gibt an, dass jeweils ein Knotenpool gleichzeitig aktualisiert werden kann. Der Wert 0
gibt an, dass jeweils eine unbegrenzte Anzahl an Knotenpools gleichzeitig aktualisiert werden kann.
Beachten Sie die folgende Einschränkung bei erweiterten Clustern:
Version 1.31: Wenn das Feld
enableAdvancedCluster
true
ist, werden Richtlinien für Knotenpool-Updates in erweiterten Clustern nicht unterstützt. Entfernen Sie diesen Abschnitt daher aus Ihrer Konfigurationsdatei.Version 1.32: Richtlinien für Knotenpool-Updates werden in erweiterten Clustern unterstützt.
Beispiel:
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
nodePoolUpdatePolicy.updateStrategy.rollingUpdate.maxSurge
Vorschau
Veränderlich
Ganzzahl
Standard: 1
Die maximale Anzahl an Maschinen im Knotenpool, die während eines Updates oder Upgrades gleichzeitig aktualisiert werden können. Gilt für alle Knotenpools, für die keine eigene Updatestrategie angegeben ist.
nodePools: - name: "my-node-pool" updateStrategy: rollingUpdate: maxSurge: 3
authentication
Dieser Abschnitt enthält Informationen zur Authentifizierung und Autorisierung von Clusternutzern.
authentication.oidc
Verwenden Sie diesen Abschnitt nicht. Bearbeiten Sie stattdessen nach der Clustererstellung die benutzerdefinierte ClientConfig-Ressource, wie unter Cluster für Anthos Identity Service mit OIDC konfigurieren beschrieben.
authentication.sni
Wenn Sie ein zusätzliches Bereitstellungszertifikat für den Kubernetes API-Server des Clusters festlegen möchten, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.
authentication.sni.certPath
String
Der Pfad eines Bereitstellungszertifikat für den Kubernetes API-Server.
Beispiel:
authentication: sni: certPath: "my-cert-folder/example.com.crt"
authentication.sni.keyPath
Optional
String
Der Pfad der privaten Schlüsseldatei des Zertifikats.
Beispiel:
authentication: sni: keyPath: "my-cert-folder/example.com.key"
gkeConnect
Erforderlich
Unveränderlich
Dieser Abschnitt enthält Informationen zum Google Cloud -Projekt und zum Dienstkonto, mit dem Sie Ihren Cluster bei einer Google Cloud -Flotte registrieren möchten.
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
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 Nutzercluster werden von den globalen Flotten- und Connect-Diensten verwaltet.
Für neue Cluster, die mit GKE On-Prem API-Clients wie der Google Cloud -Konsole, der Google Cloud CLI oder Terraform erstellt wurden, wird die Region verwendet, die Sie auch für die GKE On-Prem API angeben.
Wenn Sie dieses Feld bei neuen Clustern angeben, muss die von Ihnen angegebene Region mit der in
cloudAuditLogging.clusterLocation
,stackdriver.clusterLocation
undgkeOnPremAPI.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.
Zum Aktualisieren des Werts dieses Felds verwenden Sie gkectl update cluster
.
Informationen zum Ändern Ihres Dienstkontoschlüssels für Connect-Register finden Sie unter Dienstkontoschlüssel rotieren.
Beispiel:
gkeConnect: registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"
gkeConnect.registerServiceAccountKey.secretRef.version
Veränderlich
String
Mögliche Werte: Ganzzahlstring oder „latest“
Standardwert: „latest“
Die Version eines vorbereiteten Secrets im Administratorcluster, das einen JSON-Schlüssel für Ihr Connect-Register-Dienstkonto enthält.
Beispiel:
gkeConnect: registerServiceAccountKey: secretRef: version: "1"
gkeOnPremAPI
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
auffalse
. Wenn Sie keine Cluster in dem Projekt registrieren möchten, deaktivieren Siegkeonprem.googleapis.com
(der Dienstname für die GKE On-Prem API) in dem Projekt. Eine Anleitung finden Sie unter Dienste deaktivieren.
Wenn Sie Ihren Nutzercluster in der GKE On-Prem API registrieren, können Sie die Standardtools – die Google Cloud Console, die Google Cloud CLI und Terraform – verwenden, um den Lebenszyklus des Clusters zu verwalten. Wenn Sie den Cluster registrieren, können Sie außerdem über die Console oder die gcloud CLI Clusterdetails aufrufen. Sie können beispielsweise gcloud
-Befehle ausführen, um Informationen zu Ihrem Nutzercluster abzurufen.
Wenn Sie diesen Abschnitt hinzugefügt und den Cluster erstellt oder aktualisiert haben und ihn dann entfernen und den Cluster aktualisieren, schlägt die Aktualisierung fehl.
gkeOnPremAPI.enabled
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 gkeConnect.location
, stackdriver.clusterLocation
und cloudAuditLogging.clusterLocation
konfiguriert ist. Wenn gkeOnPremAPI.enabled
false
ist, schließen Sie dieses Feld nicht ein.
stackdriver
Erforderlich
Veränderlich
Dieser Abschnitt enthält die erforderlichen Konfigurationen für Cloud Logging und Cloud Monitoring.
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 gkeConnect.location
, gkeOnPremAPI.location
und cloudAuditLogging.clusterLocation
übereinstimmen. Wenn die Regionen nicht identisch sind, schlägt die Clustererstellung fehl.
Beispiel:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Unveränderlich
Boolescher Wert
Vorab ausgefüllt: false
Wenn das Netzwerk des Clusters von einer VPC gesteuert wird, legen Sie dieses 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.
Zum Aktualisieren des Werts dieses Felds verwenden Sie gkectl update cluster
.
Informationen zum Ändern Ihres Logging-Monitoring-Dienstkontoschlüssels finden Sie unter Dienstkontoschlüssel rotieren.
Beispiel:
stackdriver: serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
stackdriver.serviceAccountKey.secretRef.version
Veränderlich
String
Mögliche Werte: Ganzzahlstring oder „latest“
Standardwert: „latest“
Die Version eines vorbereiteten Secrets im Administratorcluster, das einen JSON-Schlüssel für Ihr Logging-Monitoring-Dienstkonto enthält.
Beispiel:
stackdriver: serviceAccountKey: secretRef: version: "1"
stackdriver.disableVsphereResourceMetrics
Veränderlich
Boolescher Wert
Vorab ausgefüllt: false
Standard: false
Setzen Sie diesen Wert auf true
, um die Erfassung von Messwerten aus vSphere zu deaktivieren.
Legen Sie andernfalls false
fest.
Beispiel:
stackdriver: disableVsphereResourceMetrics: true
usageMetering
1.32 und höher
Die Funktion zur Messung der Nutzung wird in Version 1.32 und höher nicht unterstützt. Fügen Sie diesen Abschnitt nicht ein, wenn Sie neue Cluster erstellen. Vorhandene Cluster, in denen diese Funktion verwendet wird, funktionieren jedoch weiterhin. Alternativ empfehlen wir, das vordefinierte Dashboard Anthos Cluster Utilization Metering zu verwenden, um die Ressourcennutzung auf verschiedenen Ebenen zu analysieren. Wenden Sie sich an Cloud Customer Care, wenn die Alternative nicht Ihren Anwendungsfällen entspricht.
1.30 und 1.31
Wir empfehlen, diese Vorschaufunktion nicht zu verwenden, wenn Sie neue Cluster erstellen. Vorhandene Cluster, die diese Funktion verwenden, funktionieren jedoch weiterhin. Alternativ empfehlen wir, das vordefinierte Dashboard Anthos Cluster Utilization Metering zu verwenden, um die Ressourcennutzung auf verschiedenen Ebenen zu analysieren.
Wenn das Feld enableAdvancedCluster
den Wert true
hat, entfernen Sie diesen Abschnitt. Die Nutzungsmessung wird in erweiterten Clustern nicht unterstützt.
1.29 und niedriger
Vorschau
Unveränderlich
Wir empfehlen, diese Vorschaufunktion nicht zu verwenden, wenn Sie neue Cluster erstellen. Vorhandene Cluster, die diese Funktion verwenden, funktionieren jedoch weiterhin. Alternativ empfehlen wir, das vordefinierte Dashboard Anthos Cluster Utilization Metering zu verwenden, um die Ressourcennutzung auf verschiedenen Ebenen zu analysieren.
usageMetering.bigQueryProjectID
Vorschau
Für die Nutzungsmessung erforderlich
unveränderlich
String.
Die ID des Google Cloud -Projekts, in dem Sie Nutzungsmessdaten speichern möchten.
Beispiel:
usageMetering: bigQueryProjectID: "my-bq-project"
usageMetering.bigQueryDatasetID
Vorschau
Für die Nutzungsmessung erforderlich
unveränderlich
String.
Die ID des BigQuery-Datasets, in dem Sie Nutzungsmessdaten speichern möchten. Beispiel:
usageMetering: bigQueryDatasetID: "my-bq-dataset"
usageMetering.bigQueryServiceAccountKeyPath
Vorschau
Für die Nutzungsmessung erforderlich
unveränderlich
String.
Der Pfad der JSON-Schlüsseldatei für Ihr BigQuery-Dienstkonto.
Zum Aktualisieren des Werts dieses Felds verwenden Sie gkectl update cluster
.
Informationen zum Ändern Ihres BigQuery-Dienstkontoschlüssels finden Sie unter Dienstkontoschlüssel rotieren.
Beispiel:
usageMetering: bigQueryServiceAccountKeyPath: "my-key-folder/bq-key.json"
usageMetering.bigQueryServiceAccountKey.secretRef.version
Veränderlich
String
Mögliche Werte: Ganzzahlstring oder „latest“
Standardwert: „latest“
Die Version eines vorbereiteten Secrets im Administratorcluster, das einen JSON-Schlüssel für Ihr BigQuery-Dienstkonto enthält.
Beispiel:
gkeConnect: bigQueryServiceAccountKey: secretRef: version: "1"
usageMetering.enableConsumptionMetering
Vorschau
Erforderlich für Nutzungsmessung
Unveränderlich
boolescher Wert
Vorab ausgefüllt: false
Legen Sie für dieses Feld true
fest, wenn Sie die verbrauchsbasierte Messung aktivieren möchten.
Andernfalls legen Sie "false" fest.
Beispiel:
usageMetering: enableConsumptionMetering: 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.
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
festlegen (was für die Einrichtung von Topologiedomänen erforderlich ist), legen Sie cloudAuditLogging.serviceAccountKeyPath
auf denselben Pfad wie stackdriver.serviceAccountKeyPath
fest.
Zum Aktualisieren des Werts dieses Felds verwenden Sie gkectl update cluster
.
Informationen zum Ändern Ihres Audit-Logging-Dienstkontoschlüssels finden Sie unter Dienstkontoschlüssel rotieren.
Beispiel:
cloudAuditLogging: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
cloudAuditLogging.serviceAccountKey.secretRef.version
Veränderlich
String
Mögliche Werte: Ganzzahlstring oder „latest“
Standardwert: „latest“
Die Version eines vorbereiteten Secrets im Administratorcluster, das einen JSON-Schlüssel für Ihr Audit-Logging-Dienstkonto enthält.
Beispiel:
cloudAuditLogging: serviceAccountKey: secretRef: version: "1"
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. Legen Sie andernfalls false
fest.
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.
Wenn Sie den Cluster mit enableAdvancedCluster
auf true
erstellen (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.
Informationen zum Aktualisieren dieses Felds für einen vorhandenen Cluster finden Sie unter immer aktive Secret-Verschlüsselung.
Beispiel:
secretsEncryption: generatedKey: keyVersion: 1
secretsEncryption.generatedKey.disabled
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
.
Informationen zum Aktualisieren dieses Felds für einen vorhandenen Cluster finden Sie unter immer aktive Secret-Verschlüsselung.
Beispiel:
secretsEncryption: generatedKey: disabled: false