Konfigurationsdatei für den Administratorcluster

Auf dieser Seite werden die Felder in der Konfigurationsdatei des Administratorclusters erläutert.

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]

Dabei ist [OUTPUT_FILENAME] ein 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.

Konfigurationsdatei ausfüllen

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

bundlePath

String. Der Pfad Ihrer GKE On-Prem-Bundle-Datei.

Die vollständige GKE On-Prem-Bundle-Datei enthält alle Komponenten in einem bestimmten GKE On-Prem-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.4.3-gke.3-full.tgz"

vCenter

Dieser Abschnitt enthält Informationen zu Ihrer vSphere-Umgebung.

vCenter.address

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

Bevor Sie das Feld address ausfüllen, laden Sie das bereitgestellte Zertifikat Ihres vCenter-Servers herunter und prüfen Sie es. Geben Sie den folgenden Befehl ein, um das Zertifikat herunterzuladen und in einer Datei namens vcenter.pem zu speichern:

true | openssl s_client -connect [VCENTER_IP]:443 -showcerts 2>/dev/null | sed -ne '/-BEGIN/,/-END/p' > vcenter.pem

Dabei ist [VCENTER_IP] die IP-Adresse Ihres vCenter-Servers.

Öffnen Sie die Zertifikatsdatei, um den "Subject Common Name" und den "Subject Alternative Name" festzustellen:

openssl x509 -in vcenter.pem -text -noout

Die Ausgabe enthält den Subject Common Name (CN). Dies kann eine IP-Adresse oder ein Hostname sein. Beispiel:

Subject: ... CN = 203.0.113.100
Subject: ... CN = my-vcenter-server.my-domain.example

Die Ausgabe kann auch unter Subject Alternative Name einen oder mehrere DNS-Namen enthalten:

X509v3 Subject Alternative Name:
    DNS:vcenter.my-domain.example

Wählen Sie den Common Name Subject oder einen der DNS-Namen unter Subject Alternative Name als Wert für vcenter.address in Ihrer Konfigurationsdatei aus. Beispiel:

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

vCenter.credentials.username

String. Ein vCenter-Server-Nutzerkonto. Das Nutzerkonto sollte die Administratorrolle oder entsprechende Berechtigungen haben. Weitere Informationen finden Sie unter vSphere-Anforderungen.

Beispiel:

vCenter:
  credentials:
    username: "my-account@vsphere.local"

vCenter.credentials.password

String. Das Passwort für das vCenter-Server-Nutzerkonto. Beispiel:

vCenter:
  credentials:
    password: "#STyZ2T#Ko2o"

vCenter.datastore

String. Der Name Ihres vCenter-Datenspeichers. Beispiel:

vCenter:
  datastore: "MY-DATASTORE"

vCenter.resourcePool

String. Der Name Ihres vCenter-Ressourcenpools. Beispiel:

Wenn Sie einen nicht standardmäßigen Ressourcenpool verwenden, geben Sie den Namen Ihres vCenter-Ressourcenpools an. Beispiel:

vCenter:
  resourcePool: "MY-POOL"

Wenn Sie den Standardressourcenpool verwenden, geben Sie den folgenden Wert an:

vCenter:
  resourcePool: "[VCENTER_CLUSTER]/Resources"

Dabei ist [VCENTER_CLUSTER] der Name Ihres vCenter-Clusters.

Weitere Informationen finden Sie unter Specifying the root resource pool for a standalone host.

vCenter.caCertPath

String. Wenn ein Client wie GKE On-Prem eine Anfrage an vCenter-Server sendet, muss der Server seine Identität gegenüber dem Client durch Vorlage eines Zertifikats oder eines Zertifikatspakets bestätigen. Um das Zertifikat oder Paket zu prüfen, muss GKE On-Prem das Root-Zertifikat in der Vertrauenskette haben.

Legen Sie für vCenter.caCertPath den Pfad des Root-Zertifikats fest. Beispiel:

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

Ihre VM-Installation hat eine Zertifizierungsstelle (Certificate Authority, CA), die ein Zertifikat für Ihren vCenter-Server ausstellt. Das Root-Zertifikat in der Vertrauenskette ist ein selbst signiertes Zertifikat, das von VMware erstellt wurde.

Wenn Sie nicht die VMware-Standardzertifizierungsstelle verwenden möchten, können Sie VMware so konfigurieren, dass eine andere Zertifizierungsstelle genutzt wird.

Wenn Ihr vCenter-Server ein von der VMware-Standardzertifizierungsstelle ausgestelltes Zertifikat verwendet, laden Sie es so herunter:

curl -k "https://[SERVER_ADDRESS]/certs/download.zip" > download.zip

Dabei ist [SERVER_ADDRESS] die Adresse Ihres vCenter-Servers.

Installieren Sie den Befehl unzip und entpacken Sie die Zertifikatsdatei:

sudo apt-get install unzip
unzip downloads.zip

Wenn der Befehl zum Entpacken beim ersten Mal nicht funktioniert, geben Sie den Befehl noch einmal ein.

Suchen Sie die Zertifikatsdatei in certs/lin.

vCenter.datacenter

String. Der Name Ihres vCenter-Rechenzentrums. Beispiel:

vCenter:
  datacenter: "MY-DATACENTER"

vCenter.cluster

String. Der Name Ihres vCenter-Clusters. Beispiel:

vCenter:
  cluster: "MY-CLUSTER"

vCenter.dataDisk

String. GKE On-Prem erstellt ein virtuelles Laufwerk (Virtual Machine Disk, VMDK) für Kubernetes-Objektdaten. Das Installationsprogramm erstellt das VMDK für Sie, Sie müssen jedoch im Feld vCenter.dataDisk einen Namen für das VMDK angeben. Beispiel:

vCenter:
  dataDisk: "my-disk.vmdk"

network

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

network.ipMode.type

String. 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.serviceCIDR und network.podCiDR

Strings. Der Administratorcluster muss einen Bereich von IP-Adressen für Dienste und einen Bereich von IP-Adressen für Pods haben. Diese Bereiche werden durch die Felder network.serviceCIDR und network.podCIDR angegeben. In diese Felder werden Standardwerte eingefügt. Sie können die Werte auch ändern.

Die Bereiche für Dienste und Pods dürfen sich nicht überschneiden. Außerdem dürfen sich diese beiden Bereiche nicht mit IP-Adressen überschneiden, die für Knoten in einem Cluster verwendet werden.

Beispiel:

network:
  ...
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"

network.vCenter.networkName

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

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 nicht eindeutig ist, kann ein Pfad zum Netzwerk angegeben werden, z. B. /DATACENTER/network/NETWORK_NAME.

Beispiel:

network:
  vCenter:
    networkName: "MY-CLUSTER-NETWORK"

network.ipBlockFilePath {:#network-ipblockfilepath-field}

Wenn Sie für ipMode.type den Wert "static" festlegen, füllen Sie dieses Feld aus.

Wenn Sie für ipMode.type den Wert "dhcp" festlegen, entfernen Sie dieses Feld oder lassen Sie es auskommentiert.

String. Der Pfad der hostconfig-Datei für Ihren Administratorcluster. Beispiel:

network:
  ipBlockFilePath: "/my-config-directory/admin-hostconfig.yaml"

loadBalancer

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

loadBalancer.vips.controlPlaneVIP

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.vips.addonsVIP

String. Die IP-Adresse, die Sie auf dem Load-Balancer für Add-ons konfiguriert haben. Beispiel:

loadBalancer:
  vips:
    addonsVIP: "203.0.113.4"

loadBalancer.kind

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

loadBalancer:
  kind: "Seesaw"

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.controlPlaneNodePort

Integer. Der Kubernetes API-Server im Administratorcluster ist als Dienst vom Typ NodePort implementiert. 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:
    contolPLaneNodePort: 30968

loadBalancer.manualLB.addonsNodePort

Integer. Der Add-on-Server im Administratorcluster ist als Dienst vom Typ NodePort implementiert. 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:
    addonsNodePort: 31405

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.

loadBalancer.f5BigIP.address

String. Die Adresse Ihres F5 BIG-IP-Load-Balancers. Beispiel:

loadBalancer:
  f5BigIP:
    address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.username

String. Der Nutzername eines Kontos, das von GKE On-Prem verwendet werden kann, um eine Verbindung zum F5 BIG-IP-Load-Balancer herzustellen. Beispiel:

loadBalancer:
  f5BigIP:
    credentials:
      username: "my-admin-f5-name"

loadBalancer.f5BigIP.credentials.password

String. Das Passwort, das von GKE On-Prem verwendet werden kann, um eine Verbindung zu Ihrem F5 BIG-IP-Load-Balancer herzustellen. Beispiel:

loadBalancer:
  f5BigIP:
    credentials:
      password: "rJDlm^%7aOzw"

loadBalancer.f5BigIP.partition

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

String. Wenn Sie SNAT verwenden, ist dies der Name Ihres SNAT-Pools. Wenn Sie SNAT nicht verwenden, entfernen Sie dieses Feld oder lassen es auskommentiert. 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.

loadBalancer.seesaw.ipBlockFilePath

String. Legen Sie hier den Pfad der hostconfig-Datei für Ihre Seesaw-VM fest. Beispiel:

loadbalancer:
  seesaw:
    ipBlockFilePath: "admin-seesaw-hostconfig.yaml"

loadBalancer.seesaw.vird

Integer. Die virtuelle Router-ID Ihrer Seesaw-VM. Diese Kennung muss in einem VLAN einmalig sein. Gültiger Bereich ist 1 – 255. Beispiel:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

String. Die VIP Ihrer Seesaw-VM oder Ihres VM-Paares. Beispiel:

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

Integer. Die Anzahl der CPUs für Ihre Seesaw-VM. Beispiel:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Integer. Die Anzahl der Megabyte des Arbeitsspeichers für Ihre Seesaw-VM. Beispiel:

loadBalancer:
  seesaw:
    memoryMB: 8192

loadBalancer.seesaw.vCenter.networkName

String. Der Name des Netzwerks, das Ihre Seesaw-VMs enthält. Beispiel:

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

loadBalancer.seesaw.enableHA

Boolescher Wert. Wenn Sie einen hochverfügbaren Seesaw-Load-Balancer erstellen möchten, legen Sie für dieses Feld true fest. Andernfalls legen Sie false fest. Beispiel:

loadBalancer:
  seesaw:
    enableHA: true

proxy

Wenn sich Ihr Netzwerk hinter einem Proxyserver befindet, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt.

proxy.url

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 lokalen GKE On-Prem-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.

proxy.noProxy

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-Prem 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 Docker-Registry haben, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt oder lassen ihn auskommentiert.

privateRegistry.address

String. Die IP-Adresse der Maschine, auf der Ihre private Docker-Registry ausgeführt wird. Beispiel:

privateRegistry:
  address: "203.0.113.10"

privateRegistry.credentials.username

String. Der Nutzername eines Kontos, mit dem GKE On-Prem auf Ihre private Docker-Registry zugreifen kann. Beispiel:

privateRegistry:
  credentials:
    username: "my-registry-account"

privateRegistry.credentials.password

String. Das Passwort für das Konto, das GKE On-Prem für den Zugriff auf Ihre private Docker-Registry verwenden kann. Beispiel:

privateRegistry:
  credentials:
    password: "H0!%fwH0rBnh"

privateRegistry.caCertPath

String. 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 das Feld auf den Pfad des Zertifikats der Zertifizierungsstelle fest. Beispiel:

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

gcrKeyPath

String. Der Pfad der JSON-Schlüsseldatei für Ihr Dienstkonto auf der Zulassungsliste. Beispiel:

gcrKeyPath: "my-key-folder/whitelisted-key.json"

stackdriver

Dieser Abschnitt enthält Informationen zu dem Projekt und Dienstkonto, das Sie zum Speichern von Logs und Messwerten verwenden möchten.

stackdriver.projectID

String. Die Projekt-ID des Google Cloud-Projekts, in dem Sie Logs aufrufen möchten. Beispiel:

stackdriver:
  projectID: "my-logs-project"

stackdriver.clusterLocation

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

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

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

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

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

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

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

String. Die Projekt-ID des Google Cloud-Projekts, in dem Sie Audit-Logs aufrufen möchten. Beispiel:

cloudAuditLogging:
  projectid: "my-audit-project"

cloudAuditLogging.clusterlocation

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

cloudAuditLogging:
  clusterlocation: "us-central1"

cloudAuditLogging.serviceaccountkeypath

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

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