Konfigurationsdatei für den Admincluster

Auf dieser Seite werden die Felder in der Konfigurationsdatei des Administratorclusters für GKE on VMware beschrieben.

Vorlage für Ihre Konfigurationsdatei erstellen

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

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

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

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

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

Ersetzen Sie VERSION durch die gewünschte Versionsnummer, die gleich oder kleiner als Ihre gkectl-Version sein muss. Beispiel: gkectl create-config admin --gke-on-prem-version=1.6.2-gke.0. Wenn Sie dieses Flag weglassen, werden in die generierte Konfigurationsvorlage Werte eingefügt, die auf der neuesten Clusterversion basieren.

Vorlage

Konfigurationsdatei ausfüllen

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

name

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

Ein Name Ihrer Wahl für den Cluster.

Beispiel:

name: "my-admin-cluster"

bundlePath

Erforderlich
Mutable
String

Der Pfad Ihrer GKE on VMware-Bundle-Datei.

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

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

Beispiel:

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

preparedSecrets.enabled

Vorschau
Optional
Unveränderlich
Boolesch
Voreingestellt: false
Standardwert: false

Legen Sie diesen Wert auf true fest, wenn Sie im Administratorcluster vorbereitete Anmeldedaten verwenden möchten. Andernfalls legen Sie false fest.

Beispiel:

preparedSecrets:
  enabled: true

vCenter

Erforderlich
Unveränderlich

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

vCenter.address

Erforderlich
Unveränderlich
String

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

Weitere Informationen finden Sie unter vCenter-Serveradresse suchen.

Beispiele:

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

vCenter.datacenter

Erforderlich
Unveränderlich
String

Der relative Pfad eines vSphere-Rechenzentrums.

Der angegebene Wert bezieht sich auf den Stammordner /.

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

Beispiel:

vCenter:
  datacenter: "my-data-center"

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

Beispiel:

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

vCenter.cluster

Erforderlich
Unveränderlich
String

Der relative Pfad eines vSphere-Clusters, der die ESXi-Hosts darstellt, auf denen Ihre Administratorcluster-VMs ausgeführt werden. Dieser vSphere-Cluster repräsentiert eine Teilmenge der physischen ESXi-Hosts in Ihrem vCenter-Rechenzentrum.

Der angegebene Wert bezieht sich auf /.../DATA_CENTER/vm/.

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

Beispiel:

vCenter:
  cluster: "my-vsphere-cluster"

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

Beispiel:

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

vCenter.resourcePool

Erforderlich
Unveränderlich
String

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

Wenn Sie den Standardressourcenpool verwenden möchten, legen Sie dafür VSPHERE_CLUSTER/Resources fest.

Beispiel:

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

Wenn Sie einen bereits erstellten Ressourcenpool verwenden möchten, legen Sie dafür den relativen Pfad Ihres Ressourcenpools fest.

Der angegebene Wert bezieht sich auf /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/

Wenn der Ressourcenpool /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/ direkt untergeordnet ist, ist der Wert der Name des Ressourcenpools.

Beispiel:

vCenter:
  resourcePool: "my-resource-pool"

Wenn der Ressourcenpool unter einem anderen Ressourcenpool verschachtelt ist, geben Sie hier den vollständigen Pfad zu Ihrem Ressourcenpool an.

Beispiel:

vCenter:
  resourcePool: "my-vsphere-cluster/Resources/parent-resource-pool/child-resource-pool"

vCenter.datastore

Erforderlich
Unveränderlich
String

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

Der angegebene Wert muss ein Name sein, kein Pfad. Nehmen Sie keine Ordner in den Wert auf.

Beispiel:

vCenter:
  datastore: "my-datastore"

vCenter.caCertPath

Erforderlich
Mutable
String

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

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

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

Beispiel:

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

vCenter.credentials.fileRef.path

Erforderlich
String

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

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

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

Beispiel:

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

vCenter.credentials.fileRef.entry

Erforderlich
String

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

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

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

Beispiel:

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

vCenter.folder

Optional
Unveränderlich
String
Standard: Der Ordner im Rechenzentrum

Der relative Pfad eines vSphere-Ordners, den Sie bereits erstellt haben. Dieser Ordner enthält Ihre Administratorcluster-VMs.

Wenn Sie keinen Wert angeben, werden die VMs des Administratorclusters in /.../DATA_CENTER/vm/ gesetzt.

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

Der Wert kann der Name eines Ordners sein.

Beispiel:

vCenter:
  folder: "my-folder"

Wenn Ihr VM-Ordner in einem anderen VM-Ordner verschachtelt ist, geben Sie hier den vollständigen Pfad zu Ihrem VM-Ordner an.

Beispiel:

vCenter:
  folder: "/my-datacenter/vm/vm-folder/nested-vm-folder"

Beachten Sie, dass Sie den ersten Schrägstrich (/) im vollständigen Pfad des VM-Ordners einfügen müssen.

vCenter.dataDisk

Erforderlich
Unveränderlich
String

GKE on VMware erstellt ein VM-Laufwerk (VMDK) für Kubernetes-Objektdaten. Das Installationsprogramm erstellt das VMDK für Sie. Sie müssen jedoch im Feld vCenter.dataDisk einen relativen Pfad für das VMDK angeben.

Der angegebene Wert bezieht sich auf /.../DATA_CENTER/datastore/.

Wenn sich das VMDK im Ordner /.../DATA_CENTER/datastore/ befinden soll, ist der Wert der Name des VMDK.

Wenn Sie adminMaster.replicas auf 3 setzen, dürfen Sie dieses Feld NICHT festlegen. Für den Hochverfügbarkeits-Administratorcluster werden die Datenlaufwerkspfade für die drei Maschinen der Administrator-Steuerungsebene automatisch unter /anthos/ADMIN_CLUSTER/default/ generiert.

Beispiel:

vCenter:
  dataDisk: "my-disk.vmdk"

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

Beispiel:

vCenter:
  dataDisk: "data-disks/data-disk-1.vmdk"

Wenn Sie einen vSAN-datastore verwenden, muss sich das VMDK in einem Ordner befinden, den Sie bereits erstellt haben.

Sie können govc verwenden, um einen Ordner zu erstellen:

govc datastore.mkdir -namespace=true data-disks

network

Erforderlich
Unveränderlich

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

network.hostConfig

Unveränderlich

Dieser Abschnitt ist erforderlich, wenn eine oder mehrere der folgenden Bedingungen zutreffen:

  • network.ipMode.type ist auf "static" gesetzt.
  • loadBalancer.kind ist auf "Seesaw" gesetzt.
  • adminMaster.replicas ist auf 3 gesetzt.

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.

network.hostConfig.dnsServers

Erforderlich, wenn der Abschnitt „network.hostConfig“ ausgefüllt ist.
Unveränderlich
Array von Strings
Das Array enthält maximal drei Elemente.

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

Beispiel:

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

network.hostConfig.ntpServers

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

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

Beispiel:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Optional
Unveränderlich
Array von Strings

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

Beispiel:

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

network.ipMode.type

Erforderlich
Unveränderlich
String
Vorausgefüllt: "dhcp"
Standardwert: "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/admin-cluster-ipblock.yaml"

network.serviceCIDR

Erforderlich
Unveränderlich
String
Kleinstmöglicher Bereich: /24
Größtmöglicher Bereich: /12
Vorausgefüllt: „10.96.232.0/24“
Standardwert: „10.96.232.0/24“

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

Beispiel:

network:
  serviceCIDR: "10.96.232.0/24"

network.podCIDR

Erforderlich
Unveränderlich
String
Kleinstmöglicher Bereich: /18
Größtmöglicher Bereich: /8
Vorausgefüllt: „192.168.0.0/16“
Standardwert: „192.168.0.0/16“

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

Beispiel:

network:
  podCIDR: "192.168.0.0/16"

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

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

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

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

  • IP-Adressen von Knoten in einem beliebigen Cluster

  • Von Load-Balancer-Maschinen verwendete IP-Adressen

  • Von Knoten der Steuerungsebene und Load-Balancern verwendete VIPs

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

Wir empfehlen, dass sich Ihre Dienst- und Pod-Bereiche im RFC 1918-Adressbereich 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
Unveränderlich
String

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

Beispiel:

network:
  vCenter:
    networkName: "my-network"

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

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

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

Beispiel:

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

network.controlPlaneIPBlock

Wenn Sie einen Administratorcluster mit Hochverfügbarkeit erstellen möchten, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.

Ein Hochverfügbarkeits-Administratorcluster hat drei Knoten, auf denen Komponenten der Steuerungsebene ausgeführt werden.

Wenn Sie diesen Abschnitt ausfüllen, müssen Sie auch adminMaster.replicas auf 3 setzen.

network.controlPlaneIPBlock.netmask

Erforderlich für eine Steuerungsebene mit Hochverfügbarkeit
Unveränderlich
String

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

Beispiel:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

Erforderlich für eine Steuerungsebene mit Hochverfügbarkeit
Unveränderlich
String

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

Beispiel:

network:
  controlPlaneIPBlock:
    gateway: "172.16.22.1"

network.controlPlaneIPBlock.ips

Erforderlich für eine Steuerungsebene mit Hochverfügbarkeit
Unveränderlich
Array mit drei Objekten, von denen jedes eine IP-Adresse und einen optionalen Hostnamen hat.

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

Beispiel:

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

loadBalancer

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

loadBalancer.vips.controlPlaneVIP

Erforderlich
Unveränderlich
String

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

Beispiel:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.kind

Erforderlich
Unveränderlich
String
Vorausgefüllt: "MetalLB"

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

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

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.
Unveränderlich

loadBalancer.manualLB.ingressHTTPNodePort

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

loadBalancer.manualLB.ingressHTTPSNodePort

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

loadBalancer.manualLB.konnectivityServerNodePort

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

loadBalancer.manualLB.controlPlaneNodePort

Erforderlich, wenn loadBalancer.kind = "ManualLB" und adminMaster.replicas = 1
Unveränderlich
Ganzzahl
Vorausgefüllt: 30968

Der Kubernetes API-Server im Administratorcluster wird durch einen Kubernetes-Service verfügbar gemacht. Für den Service müssen Sie einen nodePort-Wert auswählen.

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

Beispiel:

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.f5BigIP

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

loadBalancer.f5BigIP.address

Erforderlich, wenn loadBalancer.kind = "f5BigIp"
Unveränderlich
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"
Veränderbar
String

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

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

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

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

Beispiel:

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

loadBalancer.f5BigIP.credentialsfileRef.entry

Erforderlich, wenn loadBalancer.kind = "f5BigIp"
Veränderbar
String

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

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

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

Beispiel:

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

loadBalancer.f5BigIP.partition

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

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

Beispiel:

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

loadBalancer.f5BigIP.snatPoolName

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

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

Beispiel:

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

loadBalancer.seesaw

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

Informationen zum Einrichten des Seesaw-Load-Balancers finden Sie unter Gebündeltes Load-Balancing mit Seesaw.

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/admin-seesaw-ipblock.yaml"

loadBalancer.seesaw.vrid

Erforderlich, wenn loadBalancer.kind = "Seesaw"
Unveränderlich
Ganzzahl
Mögliche Werte: 1–255

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
Ganzzahl

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
Vorausgefüllt: 2
Standardwert:

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
Vorausgefüllt: 3.072 Standardwert: 1.024

Die Größe des Arbeitsspeichers in Megabyte für jede Seesaw-VM.

Beispiel:

loadBalancer:
  seesaw:
    memoryMB: 8192

loadBalancer.seesaw.vCenter.networkName

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

Der Name des vCenter-Netzwerks, das Ihre Seesaw-VMs enthält.

Beispiel:

loadBalancer:
  seesaw:
    vCenter:
      networkName: "my-seesaw-network"

loadBalancer.seesaw.enableHA

Optional
Relevant, wenn loadBalancer.kind = "Seesaw"
Unveränderlich
Boolesch
Vorausgefüllt: „false“
Standardwert: „false“

Wenn Sie einen hochverfügbaren Seesaw-Load-Balancer erstellen möchten, legen Sie für dieses Feld true fest. Andernfalls legen Sie false fest. Ein Seesaw-Load-Balancer mit Hochverfügbarkeit verwendet ein Master-/Sicherungs-Paar von VMs.

Beispiel:

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Optional
Relevant, wenn loadBalancer.kind = "Seesaw"
Unveränderlich
Boolesch
Vorausgefüllt: false
Standardwert: false

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

antiAffinityGroups.enabled

Optional
Mutable
Boolesch
Vorausgefüllt: true

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 GKE on VMware die DRS-Anti-Affinitätsregeln (Distributed Resource Scheduler) für Ihre Administratorclusterknoten, wodurch 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 gemäß dieser Regel die Clusterknoten auf drei ESXi-Hosts verteilt sind, empfehlen wir dringend, mindestens vier ESXi-Hosts verfügbar zu haben. Dies schützt Sie vor dem Verlust der Steuerungsebene des Administratorclusters. Angenommen, Sie haben nur drei ESXi-Hosts und der Knoten Ihres Administratorclusters für die Steuerungsebene befindet sich auf einem ausgefallenen ESXi-Host. Die DRS-Regel verhindert, dass der Knoten der Steuerungsebene auf einem der beiden verbleibenden ESXi-Hosts platziert wird.

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

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

adminMaster

Vorschau
Optional
Unveränderlich

Bearbeiten Sie diesen Bereich, wenn Sie eine der folgenden Aktionen ausführen möchten:

  • CPUs für die Knoten der Steuerungsebene des Administratorclusters angeben
  • Arbeitsspeicher für die Knoten der Steuerungsebene des Administratorclusters angeben
  • Administratorcluster mit Hochverfügbarkeit erstellen

Andernfalls lassen Sie die vorab ausgefüllten Werte unverändert.

adminMaster.cpus

Vorschau
Optional
Unveränderlich
Ganzzahl
Vorausgefüllt: 4
Standard: 4

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

Beispiel:

adminMaster:
  cpus: 4

adminMaster.memoryMB

Vorschau
Optional
Unveränderlich
Ganzzahl
Vorausgefüllt: 16384
Standardwert: 16384

Die Anzahl von Mebibyte an Arbeitsspeicher für jeden Knoten der Steuerungsebene im Administratorcluster.

Beispiel:

adminMaster:
  memoryMB: 16384

adminMaster.replicas

Optional
Unveränderlich
Ganzzahl
Mögliche Werte: 1 oder 3
Vorausgefüllt: 1
Standardwert: 1

Die Anzahl der Knoten der Steuerungsebene im Administratorcluster. Legen Sie diesen Wert auf 3 fest, wenn Sie einen Hochverfügbarkeits-Administratorcluster erstellen möchten. Setzen Sie ihn andernfalls auf 1.

Wenn Sie dieses Feld auf 3 setzen, müssen Sie auch die Abschnitte network.controlPlaneIPBlock und network.hostConfig ausfüllen.

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

Beispiel:

adminMaster:
  replicas: 3

addonNode.autoResize.enabled

Optional
Mutable
Boolesch
Vorausgefüllt: false
Standard: false

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

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

Beispiel:

addonNode:
  autoResize:
    enabled: true

proxy

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

proxy.url

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

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

Beispiel:

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

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

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

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

proxy.noProxy

Optional
Unveränderlich
String

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

Beispiel:

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

privateRegistry

Wenn Sie eine private Container Registry haben, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.

privateRegistry.address

Erforderlich für private Registry
Unveränderlich
String

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

Beispiele:

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

privateRegistry.credentials.fileRef.path

Erforderlich für private Registry
Veränderlich
String

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

Beispiel:

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

privateRegistry.credentials.fileRef.entry

Erforderlich für private Registry
Veränderlich
String

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

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

privateRegistry.caCertPath

Erforderlich für private Registry
Veränderlich
String

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

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

Beispiel:

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

componentAccessServiceAccountKeyPath

Erforderlich
Mutable
String

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

Beispiel:

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

gkeConnect

Erforderlich
Mutable

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

Beim Erstellen oder Aktualisieren von Clustern werden auf dem Administratorcluster mehrere RBAC-Richtlinien konfiguriert. Diese RBAC-Richtlinien sind erforderlich, damit Sie Nutzercluster in der Google Cloud Console erstellen können.

gkeConnect.projectID

Erforderlich
Unveränderlich
String

Die ID Ihres Flotten-Hostprojekts. Bei neuen Clustern muss diese Projekt-ID mit der in stackdriver.projectID und cloudAuditLogging.projectID festgelegten ID ü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.registerServiceAccountKeyPath

Erforderlich
Mutable
String

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

Beispiel:

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

gkeOnPremAPI

Optional

Wenn in Version 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 in stackdriver.clusterLocation konfigurierten Region für die GKE On-Prem API registriert.

  • Wenn Sie alle Cluster im Projekt in der GKE On-Prem API registrieren möchten, führen Sie die Schritte unter Vorbereitung aus, um die GKE On-Prem API im Projekt zu aktivieren und zu verwenden.

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

Wenn Sie Ihren Administratorcluster in der GKE On-Prem API registrieren, können Sie Standardtools – die Google Cloud Console, die Google Cloud CLI oder Terraform – verwenden, um Nutzercluster zu aktualisieren, die vom Administratorcluster verwaltet werden. Wenn Sie den Cluster registrieren, können Sie auch gcloud-Befehle ausführen, um Informationen zu Ihren Clustern abzurufen.

Nachdem Sie diesen Abschnitt hinzugefügt und den Administratorcluster erstellt oder aktualisiert haben, schlägt die Aktualisierung fehl, wenn Sie den Abschnitt anschließend entfernen und den Cluster aktualisieren.

gkeOnPremAPI.enabled

Erforderlich, wenn der Abschnitt gkeOnPremAPI enthalten ist.
Mutable
Boolesch
Standardwert: true

Der Cluster wird standardmäßig 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 dann den Cluster:

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Unveränderlich
String
Standardwert:stackdriver.clusterLocation

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

stackdriver

Standardmäßig erforderlich
Anpassbar

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

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

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

stackdriver.projectID

Erforderlich für Logging und Monitoring
Unveränderlich
String

Die ID Ihres Flotten-Hostprojekts. Bei neuen Clustern muss diese Projekt-ID mit der in gkeConnect.projectID und cloudAuditLogging.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 Logrouter so konfigurieren, dass Logs an Log-Buckets in einem anderen Projekt weitergeleitet werden. 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
Voreingestellt: "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 die Konfigurationsdatei aufnehmen, muss die Region, die Sie hier festlegen, mit der Region übereinstimmen, die Sie in gkeOnPremAPI.location und cloudAuditLogging.clusterLocation festgelegt haben. Wenn die Regionen nicht identisch sind, schlägt die Clustererstellung fehl.

Beispiel:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Optional
Unveränderlich
Boolesch
Vorausgefüllt: false

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

Beispiel:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Erforderlich für Logging und Monitoring
Veränderbar
String

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

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

Beispiel:

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

stackdriver.disableVsphereResourceMetrics

Optional
Anpassbar
Relevant für Logging und Monitoring
Boolesch
Vorausgefüllt: falsch
Standardwert: false

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

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

Beispiel:

stackdriver:
  disableVsphereResourceMetrics: true

cloudAuditLogging

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

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

cloudAuditLogging.projectID

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

Die ID Ihres Flotten-Hostprojekts. Bei neuen Clustern muss diese Projekt-ID mit der 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 Logrouter so konfigurieren, dass Logs an Log-Buckets in einem anderen Projekt weitergeleitet werden. 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 die Konfigurationsdatei aufnehmen, muss die Region, die Sie hier festlegen, mit der Region übereinstimmen, die Sie in gkeOnPremAPI.location und stackdriver.clusterLocation festgelegt haben. Wenn die Regionen nicht identisch sind, schlägt die Clustererstellung 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.

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

Beispiel:

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

clusterBackup.datastore

Vorschau
Optional
Anpassbar
String

Wenn Sie die Sicherung des Administratorclusters aktivieren möchten, legen Sie diesen auf den vSphere-Datenspeicher fest, in dem Sie Clustersicherungen speichern möchten.

Beispiel:

clusterBackup:
  datastore: "my-datastore"

autoRepair.enabled

Optional
Mutable
Boolesch
Vorausgefüllt: true

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

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

Beispiel:

autoRepair:
  enabled: true

secretsEncryption

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

secretsEncryption.mode

Erforderlich für die Verschlüsselung von Secrets
Unveränderlich
String
Möglicher Wert: "GeneratedKey"
Vorausgefüllt: "GeneratedKey"

Der Secret-Verschlüsselungsmodus.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Erforderlich für die Verschlüsselung von Secrets
Veränderbar
Ganzzahl
Vorausgefüllt: 1

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

Beispiel:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Optional für die Verschlüsselung von Secrets
Veränderbar
Boolesch
Vorausgefüllt: Falsch

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

Beispiel:

secretsEncryption:
  generatedKey:
    disabled: false

osImageType

Optional
String
Mögliche Werte: "Ubuntu_containerd" oder "cos"
Vorausgefüllt: "Ubuntu_containerd"
Standardwert: "Ubuntu_containerd"

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

Beispiel:

osImageType: "cos"