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"