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
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.
Vorlage
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.5.2-gke.3-full.tgz"
vCenter
Dieser Abschnitt enthält Informationen zu Ihrer vCenter-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
Ersetzen Sie VCENTER_IP
durch die IP-Adresse Ihres vCenter-Servers.
Öffnen Sie die Zertifikatsdatei, um den "Subject Common Name" und den "Subject Alternative Name" zu ermitteln:
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.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.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"
Ersetzen Sie VCENTER_CLUSTER
durch den Namen Ihres vCenter-Clusters:
vCenter.datastore
String. Der Name Ihres vCenter-Datenspeichers. Beispiel:
vCenter: datastore: "MY-DATASTORE"
Weitere Informationen finden Sie unter Root-Ressourcenpool für einen eigenständigen Host angeben.
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
Ersetzen Sie SERVER_ADDRESS
durch 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.credentials.fileRef.path
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. Beispiel:
vCenter: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
vCenter.credentials.fileRef.entry
String. 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-creds"
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.hostConfig
Dieser Abschnitt enthält Informationen zu von Ihrem Cluster verwendeten NTP-Servern, DNS-Servern und DNS-Suchdomains.
Wenn Sie für eines oder beide der folgenden Felder einen Wert angegeben haben, füllen Sie diesen Abschnitt aus. Andernfalls entfernen Sie diesen Abschnitt:
loadBalancer.seesaw.ipBlockFilePath
network.ipMode.ipBlockFilePath
network.hostConfig.dnsServers
Stringarray Die Adressen der DNS-Server, die von den Hosts verwendet werden sollen. Beispiel:
network: hostConfig: dnsServers: - "172.16.255.1" - "172.16.255.2"
network.hostConfig.ntpServers
Stringarray Die Adressen der Zeitserver, die von den Hosts verwendet werden sollen. Beispiel:
network: hostConfig: ntpServers: - "216.239.35.0"
network.hostConfig.searchDomainsForDNS
Stringarray 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
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.ipMode.ipBlockFilePath
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"
festgelegt haben, entfernen Sie dieses Feld.
String. Der Pfad der IP-Blockdatei für Ihre Administratorclusterknoten. Beispiel:
network: ipMode: ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"
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 Bereich 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"
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.
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.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.
loadBalancer.f5BigIP.address
String. Die Adresse Ihres F5 BIG-IP-Load-Balancers. Beispiel:
loadBalancer: f5BigIP: address: "203.0.113.2"
loadBalancer.f5BigIP.fileRef.path
String. Der Pfad einer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort eines Kontos enthält, mit dem GKE On-Prem eine Verbindung zu Ihrem F5 BIG-IP-Load-Balancer herstellen kann. Beispiel:
loadBalancer: f5BigIP: fileRef: path: ""my-config-folder/admin-creds.yaml"
loadBalancer.f5BigIP.fileRef.entry
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: fileRef: entry: "f5-creds"
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. 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.
loadBalancer.seesaw.ipBlockFilePath
String. Legen Sie dies auf den Pfad der IP-Blockdatei für Ihre Seesaw-VMs fest. Beispiel:
loadBalancer: seesaw: ipBlockFilePath: "admin-seesaw-ipblock.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
antiAffinityGroups.enabled
Boolescher Wert. Legen Sie dafür true
fest, wenn das Erstellen von DRS-Regeln aktiviert werden soll. Andernfalls legen Sie false
fest. Beispiel:
antiAffinityGroups: enabled: true
GKE On-Prem erstellt automatisch die DRS-Anti-Affinitätsregeln (Distributed Resource Scheduler) für die Knoten Ihres Adminstratorclusters, damit sie auf mindestens drei physische 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 drei physische Hosts verfügbar.
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 drei Hosts haben, für die vSphere-VMs geplant werden können, legen Sie für antiAffinityGroups.enabled
den Wert false
fest.
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.
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.fileRef.path
String. Der Pfad einer Konfigurationsdatei für Anmeldedaten, die den Nutzernamen und das Passwort eines Kontos enthält, mit dem GKE On-Prem auf Ihre private Docker-Registry zugreifen kann. Beispiel:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.credentials.fileRef.entry
String. 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.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 das Dienstkonto, das Sie zum Herunterladen von GKE On-Prem-Komponenten verwenden möchten. Beispiel:
gcrKeyPath: "my-key-folder/access-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.
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"
autoRepair.enabled
Boolescher Wert. Legen Sie für diesen Wert true
fest, um die automatische Knotenreparatur zu aktivieren.
Andernfalls legen Sie false
fest. Beispiel:
autoRepair: enabled: true