Nutzercluster-Konfigurationsdatei 1.29

Auf dieser Seite werden die Felder in der Konfigurationsdatei des Nutzerclusters 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 gewünschte Versionsnummer. Beispiel: gkectl create-config cluster --gke-on-prem-version=1.10.0-gke.8.

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 bedingt 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 und kein Standardwert angegeben wurde, ist das Feld 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.

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 Sie vorbereitete Anmeldedaten verwenden möchten, füllen Sie dieses Feld aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.

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

Unveränderlich
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. Bei Controlplane V2 wird die Steuerungsebene für einen Nutzercluster auf einem oder mehreren Knoten im Nutzercluster selbst ausgeführt. Zu den Vorteilen von Controlplane V2 gehören:

  • Architekturelle Konsistenz zwischen Administrator- und Nutzerclustern.

  • Fehlerisolation Ein Fehler im Administratorcluster wirkt sich nicht auf Nutzercluster aus.

  • Operative Trennung. Ein Administratorcluster-Upgrade führt nicht zu einer Ausfallzeit für Nutzercluster.

  • Bereitstellungstrennung. Sie können die Admin- und Nutzercluster in verschiedenen Fehlerdomains 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 es, Controlplane V2 zu aktivieren.

Beispiel:

enableControlplaneV2: true

vCenter

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

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änderlicher
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 angeben für network.vCenter.networkName und alle erforderlichen Felder im Abschnitt vCenter.

Beispiele:

vCenter:
  address: "203.0.113.101"
vCenter:
  address: "my-vcenter-server-2.my-domain.example"

vCenter.datacenter

Unveränderlicher
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 oder vCenter.storagePolicyName.
  • vCenter.cluster oder vCenter.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änderlicher
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 oder vCenter.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änderlicher
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 bezieht sich auf /.../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änderlicher
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änderlicher
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änderlicher
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, die 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änderlicher
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änderlicher
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änderlicher
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 nur aus, wenn Ihr Administratorcluster eine private Registry verwendet und Sie möchten, dass Ihr Nutzercluster eine andere private Registry verwendet. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.

Wenn Sie andere Einstellungen als die des Administratorclusters verwenden möchten, gehen Sie so vor:

  • Unterschiedlicher Nutzername, anderes Passwort, anderes Zertifikat

  • (Nur für Steuerungsebene V2 verfügbar) Andere private Registry-Adresse

Füllen Sie hier die privateRegistry-Felder aus. Die neuen Einstellungen werden beim Erstellen und Aktualisieren des Clusters übernommen.

privateRegistry.address

Unveränderlicher
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änderlicher
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änderlicher
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, die 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änderlicher
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

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 auf static gesetzt.
  • enableControlplaneV2 ist auf true festgelegt oder darf standardmäßig auf true festgelegt werden.
  • 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.

Beispiel:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Erforderlich, wenn network.ipMode.type = static
Unveränderlich
String

Der 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

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 einmalig 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 Sie für enableControlplaneV2 den Wert true festlegen, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.

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 optional einen Hostnamen hat.

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

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

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

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

Beispiel:

loadBalancer:
  kind: "MetalLB"

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
Unveränderlich
Ganzzahl
Vorausgefüllt: 30243

Der Ingress-Proxy in einem Nutzercluster wird durch Kubernetes-Dienste vom Typ LoadBalancer bereitgestellt. Der Dienst hat einen ServicePort für HTTP. Für die HTTP-ServicePorts müssen einen nodePort-Wert auswählen.

Legen Sie für dieses Feld den Wert nodePort fest.

Beispiel:

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

Erforderlich, wenn loadBalancer.kind = ManualLB
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. Für den HTTPS-ServicePort müssen Sie einen nodePort-Wert auswählen.

Legen Sie für dieses Feld den Wert nodePort fest. 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

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 den Abschnitt loadBalancer.manualLB aus. Weitere Informationen finden Sie unter Modus "Manuelles Load-Balancing" aktivieren.

loadBalancer.f5BigIP.address

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

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

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

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

Erforderlich, wenn loadBalancer.kind = "f5BigIP" und Sie SNAT verwenden
String

Der Name Ihres SNAT-Pools.

Beispiel:

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

loadBalancer.seesaw

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 Balancers:

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.

Wenn Sie aktuell den Seesaw-Load Balancer verwenden, empfehlen wir Ihnen, zu MetalLB zu migrieren.

loadBalancer.seesaw.ipBlockFilePath

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

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

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

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

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 2^20 = 1.048.576 Byte. Ein Megabyte ist 10^6 = 1.000.000 Byte.

loadBalancer.seesaw.vCenter.networkName

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

Unveränderlich
Relevant, wenn loadBalancer.kind = Seesaw
Boolescher Wert
Vorab ausgefüllt: false
Standardeinstellung: 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

Unveränderlich
Relevant, wenn loadBalancer.kind = Seesaw
Boolescher Wert
Vorab ausgefüllt: true
Standardeinstellung: true

Wenn Sie true festlegen, 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. Es wird empfohlen, dass Sie hier true festlegen. 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 ihn auskommentiert.

Weitere Informationen finden Sie unter Gebündeltes Load-Balancing mit MetalLB.

loadBalancer.metalLB.addressPools

Erforderlich, wenn loadBalancer.kind = 'MetalLB`
Veränderlich

Array von Objekten, die jeweils Informationen zu einem Adresspool enthalten, der vom MetalLB-Load-Balancer verwendet werden soll.

loadBalancer.metalLB.addressPools[i].name

Erforderlich, wenn loadBalancer.kind = MetalLB
Veränderlich
String

Ein Name Ihrer Wahl für den Adresspool.

Beispiel:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
loadBalancer.metalLB.addressPools[i].addresses

Erforderlich, wenn loadBalancer.kind = MetalLB
Veränderlich

Array von Strings, von denen jeder ein Adressbereich ist. Jeder Bereich muss das Format CIDR-Bereich oder Bindestrich haben.

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
Standardeinstellung: 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
Standardeinstellung: 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

Unveränderlich
Boolescher Wert
Vorab ausgefüllt: true
Standard: true

Ab Version 1.30 ist Dataplane V2 für neue Nutzercluster erforderlich und muss auf true festgelegt sein. Dataplane V2 ist erforderlich, um Controlplane V2 zu verwenden. Zu den Vorteilen von Dataplane V2 gehören:

  • 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 werden, 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 der Dataplane 2.

dataplaneV2.forwardMode

Unverä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"

Hinweis: Je nach Clusterversion kann beim Aktualisieren dieses Felds ein bekanntes Problem auftreten. Bitte wenden Sie die oben genannte Problemumgehung an, wenn Ihre Clusterversion betroffen ist.

multipleNetworkInterfaces

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

Wenn Sie mehrere Netzwerkschnittstellen für Pods aktivieren möchten, legen Sie dafür true fest. Andernfalls legen Sie false 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. Setzen Sie ihn andernfalls auf false.

Boolescher Wert
Veränderlich
Vorausgefü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.

Veränderlich
Boolescher Wert
Vorausgefü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.cpus

Veränderlich
Ganzzahl
Voreingestellt: 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
Voreingestellt: 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 Repliken später aktualisieren möchten, müssen Sie den Nutzercluster neu erstellen.

Beispiel:

masterNode:
  replicas: 3

masterNode.autoResize.enabled

Veränderlich
Boolescher Wert
Vorausgefü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.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.

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 Knotenpools aktualisieren.

Veränderlicher
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
Voreingestellt: 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änderlicher
String
Mögliche Werte: „ubuntu_containerd“, „cos“, „ubuntu_cgv2“, „cos_cgv2“, „windows“
Vorab ausgefüllt: „ubuntu_cgv2“
Standard: „ubuntu_containerd“

Der Typ des Betriebssystems, der auf den VMs im Knotenpool ausgeführt werden soll.

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.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
Vorausgefü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
Vorab ausgefüllt: true
Standard: false

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

antiAffinityGroups.enabled

Veränderlich
Boolescher Wert
Vorab ausgefüllt: true Standard: REVIEWERS: GIBT ES HIERFÜR EINEN STANDARDWERT?

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

Beispiel:

antiAffinityGroups:
  enabled: true

Wenn dieses Feld true ist, erstellt Google Distributed Cloud VMware-DRS-Anti-Affinitätsregeln (Distributed Resource Scheduler) für Ihre Nutzerclusterknoten, 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.

enableVMTracking

Vorschau
Unveränderlich
Vorab ausgefüllt: false

Legen Sie hier true fest, um das VM-Tracking mit vSphere-Tags zu aktivieren. Letzen 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: TODO: REVIEWERS: GIBT ES HIERFÜR EINEN STANDARDWERT?

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.

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änderlicher
String
Standard: global

Die Flottenmitgliedschaft bei den einzelnen 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 der globalen Flotte und Connect-Diensten verwaltet.

  • Für neue Cluster, die mit GKE On-Prem API-Clients wie der Google Cloud Console, 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 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.

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änderlicher
String
Mögliche Werte: Ganzzahlstring oder "latest"
Standardwert: "latest"

Die Version eines vorbereiteten Secrets im Administratorcluster, das einen JSON-Schlüssel für Connect-Register-Dienstkonto enthält.

Beispiel:

gkeConnect:
  registerServiceAccountKey:
    secretRef:
      version: "1"

gkeOnPremAPI

Wenn ab 1.16 und höher die GKE On-Prem API in Ihrem Google 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 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 hinzufü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änderlicher
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 die 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

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 oder lassen ihn auskommentiert.

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

Dieser Abschnitt ist im Nutzercluster erforderlich, wenn Sie den Lebenszyklus von Nutzerclustern in der Google Cloud Console 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 vorhandene 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 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 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änderlicher
String
Mögliche Werte: Ganzzahlstring oder "latest"
Standardwert: "latest"

Die Version eines vorbereiteten Secrets im Admin-Cluster, 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
Vorausgefü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.

Beispiel:

stackdriver:
  disableVsphereResourceMetrics: true

usageMetering

Vorschau
Unveränderlich

Wenn Sie die Nutzungsmessung für Ihren Cluster aktivieren möchten, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.

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änderlicher
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 in gkeConnect.projecID und stackdriver.projectID festgelegten ID übereinstimmen. Wenn die Projekt-IDs nicht identisch sind, schlägt die Clustererstellung fehl. Diese Anforderung gilt nicht für vorhandene 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.

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änderlicher
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. Setzen Sie ihn andernfalls auf false.

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.

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