Erfahren Sie, wie Sie einen Administrator- und einen Nutzercluster mit grundlegender Konfiguration erstellen.
Bei den Schritten in diesem Thema wird davon ausgegangen, dass Sie gkeadm
zum Erstellen Ihrer Administratorworkstation verwendet haben.
Wenn Sie nicht gkeadm
verwendet haben, sondern stattdessen das erweiterte Thema Administrator-Workstation mit einer statischen IP-Adresse erstellen ausgeführt haben, müssen Sie möglicherweise die in den einzelnen Schritten der folgenden Anleitung erläuterten Anpassungen vornehmen.
Für eine DHCP-Administrator-Workstation müssen Sie die entsprechende DHCP-Installationsanleitung verwenden.
Wenn Sie sich hinter einem Proxy befinden, verwenden alle gkectl
-Befehle automatisch denselben Proxy, den Sie in Ihrer Konfigurationsdatei für Internetanfragen von der Administrator-Workstation festgelegt haben. Befindet sich Ihre Administrator-Workstation nicht hinter demselben Proxy, finden Sie weitere Informationen unter "Manuelle Proxyoptionen" in den Themen der erweiterten Installationsanleitung: Statische IP-Adresse | DHCP.
SSH-Verbindung zur Administrator-Workstation herstellen
Stellen Sie eine SSH-Verbindung zu Ihrer Administrator-Workstation her, indem Sie die Anweisungen unter SSH-Verbindung zu Ihrer Administrator-Workstation abrufen befolgen.
Ihr Dienstkonto auf der Zulassungsliste ist auf Ihrer Administrator-Workstation aktiviert. Führen Sie alle verbleibenden Schritte in diesem Thema auf Ihrer Administratorworkstation aus.
Statische IP-Adressen für den Administratorcluster konfigurieren
Erstellen Sie eine Hostkonfigurationsdatei mit dem Namen admin-hostconfig.yaml
, um die statischen IP-Adressen anzugeben, die Sie für Ihren Administratorcluster verwenden möchten. Für diese Übung müssen Sie fünf IP-Adressen angeben, die vom Administratorcluster verwendet werden sollen.
Im Folgenden finden Sie ein Beispiel für eine Hostkonfigurationsdatei mit fünf Hosts:
hostconfig: dns: 172.16.255.1 tod: 216.239.35.0 otherdns: - 8.8.8.8 - 8.8.4.4 othertod: - ntp.ubuntu.com searchdomainsfordns: - "my.local.com" blocks: - netmask: 255.255.252.0 gateway: 172.16.23.254 ips: - ip: 172.16.20.10 hostname: admin-host1 - ip: 172.16.20.11 hostname: admin-host2 - ip: 172.16.20.12 hostname: admin-host3 - ip: 172.16.20.13 hostname: admin-host4 - ip: 172.16.20.14 hostname: admin-host5
Das Feld ips
enthält ein Array von IP-Adressen und Hostnamen. Dies sind die IP-Adressen und Hostnamen, die GKE On-Prem den Knoten Ihres Administratorclusters zuweist.
In der Hostkonfigurationsdatei geben Sie auch die Adressen der DNS-Server, Zeitserver und des Standard-Gateways an, die von den Knoten des Administratorclusters verwendet werden.
Das Feld searchdomainsfordns
ist ein Array von DNS-Suchdomains, die im Cluster verwendet werden sollen. Diese Domains werden als Teil einer Domainsuchliste verwendet.
Statische IP-Adressen für den Nutzercluster konfigurieren
Erstellen Sie zur Angabe der statischen IP-Adressen, die Sie für Ihren Nutzercluster verwenden möchten, eine Hostkonfigurationsdatei mit dem Namen user-hostconfig.yaml
.
Im Folgenden finden Sie ein Beispiel für eine Hostkonfigurationsdatei mit drei Hosts:
hostconfig: dns: 172.16.255.1 tod: 216.239.35.0 otherdns: - 8.8.8.8 - 8.8.4.4 othertod: - ntp.ubuntu.com searchdomainsfordns: - "my.local.com" blocks: - netmask: 255.255.252.0 gateway: 172.16.23.254 ips: - ip: 172.16.20.15 hostname: user-host1 - ip: 172.16.20.16 hostname: user-host2 - ip: 172.16.20.17 hostname: user-host3
Das Feld ips
enthält ein Array von IP-Adressen und Hostnamen. Dies sind die IP-Adressen und Hostnamen, die GKE On-Prem Ihren Nutzerclusterknoten zuweist.
In der Hostkonfigurationsdatei geben Sie auch die Adressen der DNS-Server, Zeitserver und des Standardgateways an, die von den Knoten des Nutzerclusters verwendet werden.
Das Feld searchdomainsfordns
ist ein Array von DNS-Suchdomains, die im Cluster verwendet werden sollen. Diese Domains werden als Teil einer Domainsuchliste verwendet.
Ausgefüllte Felder in der GKE On-Prem-Konfigurationsdatei
Sie haben beim Erstellen der Administrator-Workstation eine Konfigurationsdatei mit dem Namen admin-ws-config.yaml
ausgefüllt. Das gkeadm
-Befehlszeilentool hat die Datei admin-ws-config.yaml
zum Erstellen der Administrator-Workstation verwendet.
Als gkeadm
die Administrator-Workstation erstellt hat, wurde eine zweite Konfigurationsdatei mit dem Namen config.yaml
erzeugt. Diese Konfigurationsdatei, die sich auf Ihrer Administrator-Workstation befindet, dient zum Erstellen von GKE On Prem-Clustern.
Die Dateien admin-ws-config.yaml
und config.yaml
haben mehrere Felder gemeinsam. Die Werte für diese gemeinsamen Felder sind bereits in der Datei config.yaml
ausgefüllt.
Die folgenden Felder sind bereits mit Werten gefüllt, die Sie beim Erstellen der Administrator-Workstation angegeben haben:
vcenter: credentials: address: username: password: datacenter: datastore: cluster: network: resourcepool: cacertpath: gkeconnect: projectid: registerserviceaccountkeypath: agentserviceaccountkeypath: stackdriver: projectid: serviceaccountkeypath: gcrkeypath:
Rest Ihrer GKE On-Prem-Konfigurationsdatei ausfüllen
Als Nächstes füllen Sie die verbleibenden Felder der Datei config.yaml
aus.
bundlepath
Die GKE On-Prem-Bundle-Datei enthält alle Komponenten in einem bestimmten GKE On-Prem-Release. Legen Sie den Wert von bundlepath
auf den Pfad zur Bundle-Datei der Administrator-Workstation fest.
bundlepath: /var/lib/gke/bundles/gke-onprem-vsphere-1.3.2-gke.1-full.tgz
vcenter.datadisk
GKE On-Prem erstellt ein VM-Laufwerk (VMDK), das die Kubernetes-Objektdaten für den Administratorcluster enthält. Das Installationsprogramm erstellt das VMDK für Sie, aber Sie müssen im Feld vcenter.datadisk
einen Namen für das VMDK angeben.
Beispiel:
vcenter: ... datadisk: "my-disk.vmdk"
- vSAN-Datenspeicher: Ordner für das VMDK erstellen
Wenn Sie einen vSAN-Datenspeicher verwenden, müssen Sie das VMDK in einem Ordner ablegen. Sie müssen den Ordner im Voraus manuell erstellen. Erstellen Sie dazu mit
govc
einen Ordner:govc datastore.mkdir -namespace=true my-gke-on-prem-folder
Legen Sie dann
vcenter.datadisk
auf den Pfad des VMDK einschließlich des Ordners fest. Beispiel:vcenter: ... datadisk: "my-gke-on-prem-folder/my-disk.vmdk"
In Version 1.1.1 ist es aufgrund eines bekannten Problems erforderlich, dass Sie die UUID (Universally Unique Identifier) des Ordners anstelle seines Pfads angeben.
proxy
Wenn sich Ihr Netzwerk hinter einem Proxyserver befindet, müssen Sie die Proxyadresse und alle weiteren Adressen angeben, die nicht über den Proxyserver geleitet werden sollen.
Legen Sie proxy.url
fest, um die HTTP
-Adresse Ihres Proxyservers anzugeben. Sie müssen die Portnummer angeben, auch wenn sie mit dem Standardport des Schemas identisch ist.
Der hier angegebene Proxyserver wird von Ihren lokalen GKE On-Prem-Clustern verwendet. Außerdem wird Ihre Administrator-Workstation automatisch so konfiguriert, dass sie denselben Proxyserver verwendet, sofern Sie nicht die Umgebungsvariable HTTPS_PROXY
auf Ihrer Administrator-Workstation festgeleget haben.
Legen Sie proxy.noproxy
fest, um eine Liste von IP-Adressen, IP-Adressbereichen, Hostnamen und Domainnamen zu definieren, die nicht über den Proxyserver geleitet werden sollen. Wenn GKE On-Prem eine Anfrage an eine dieser Adressen, Hosts oder Domains sendet, wird diese Anfrage direkt gesendet.
Beispiel:
proxy: url: "http://my-proxy.example.local:80" noproxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"
admincluster.ipblockfilepath
Da Sie statische IP-Adressen verwenden, benötigen Sie eine Hostkonfigurationsdatei, wie unter Statische IP-Adressen konfigurieren beschrieben. Geben Sie den Pfad zu Ihrer Hostkonfigurationsdatei im Feld admincluster.ipblockfilepath
ein. Beispiel:
admincluster: ipblockfilepath: "/my-config-directory/admin-hostconfig.yaml"
admincluster.bigip.credentials
GKE On-Prem benötigt die IP-Adresse oder den Hostnamen, den Nutzernamen und das Passwort Ihres F5 BIG-IP-Load-Balancers. Legen Sie die Werte unter admincluster.bigip
fest, um diese Informationen bereitzustellen. Fügen Sie einen Anchor &bigip-credentials
nach credentials
ein, sodass Sie diese Informationen nicht im Abschnitt usercluster
wiederholen müssen. Beispiel:
admincluster: ... bigip: credentials: &bigip-credentials address: "203.0.113.2" username: "my-admin-f5-name" password: "rJDlm^%7aOzw"
admincluster.bigip.partition
Zuvor haben Sie eine BIG-IP-Partition für Ihren Administratorcluster erstellt. Legen Sie admincluster.bigip.partition
auf den Namen Ihrer Partition fest. Beispiel:
admincluster: ... bigip: partition: "my-admin-f5-partition"
admincluster.vips
Setzen Sie den Wert von admincluster.vips.controlplanevip
auf die IP-Adresse, die Sie für den Load-Balancer für den Kubernetes API-Server des Administratorclusters konfiguriert haben. Legen Sie den Wert von ingressvip
auf die IP-Adresse fest, die Sie auf dem Load-Balancer für den Dienst für eingehenden Traffic des Administratorclusters konfiguriert haben. Beispiel:
admincluster: ... vips: controlplanevip: 203.0.113.3 ingressvip: 203.0.113.4
admincluster.serviceiprange
und admincluster.podiprange
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 admincluster.serviceiprange
und admincluster.podiprange
angegeben. Diese Felder werden ausgefüllt, wenn Sie gkectl create-config
ausführen. 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:
admincluster: ... serviceiprange: 10.96.232.0/24 podiprange: 192.168.0.0/16
usercluster.ipblockfilepath
Da Sie statische IP-Adressen verwenden, benötigen Sie eine Hostkonfigurationsdatei, wie unter Statische IP-Adressen konfigurieren beschrieben. Geben Sie den Pfad zu Ihrer Hostkonfigurationsdatei im Feld usercluster.ipblockfilepath
ein. Beispiel:
usercluster: ipblockfilepath: "/my-config-directory/user-hostconfig.yaml"
usercluster.bigip.credentials
Fügen Sie eine Referenz *bigip-credentials
nach usercluster.bigip.credentials
ein, um address
, username
und password
zu verwenden, die Sie in admincluster.bigip.credentials
angegeben haben. Beispiel:
usercluster: ... bigip: credentials: *bigip-credentials
usercluster.bigip.partition
Zuvor haben Sie eine BIG-IP-Partition für Ihren Nutzercluster erstellt. Legen Sie usercluster.bigip.partition
auf den Namen Ihrer Partition fest. Beispiel:
usercluster: ... bigip: partition: "my-user-f5-partition" ...
usercluster.vips
Setzen Sie den Wert von usercluster.vips.controlplanevip
auf die IP-Adresse, die Sie für den Load-Balancer für den Kubernetes API-Server des Nutzerclusters konfiguriert haben. Legen Sie den Wert von ingressvip
auf die IP-Adresse fest, die Sie auf dem Load-Balancer für den Dienst für eingehenden Traffic des Nutzerclusters konfiguriert haben. Beispiel:
usercluster: ... vips: controlplanevip: 203.0.113.6 ingressvip: 203.0.113.7
usercluster.serviceiprange
und usercluster.podiprange
Der Nutzercluster muss einen IP-Adressbereich für Dienste und einen IP-Adressbereich für Pods haben. Diese Bereiche werden durch die Felder usercluster.serviceiprange
und usercluster.podiprange
angegeben. Diese Felder werden ausgefüllt, wenn Sie gkectl create-config
ausführen. 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:
usercluster: ... serviceiprange: 10.96.233.0/24 podiprange: 172.16.0.0/12
VMware DRS-Anti-Affinitätsregeln deaktivieren
GKE On-Prem erstellt automatisch die DRS-Anti-Affinitätsregeln (Distributed Resource Scheduler) für die Knoten Ihres Nutzerclusters, wodurch 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. Informationen zum Aktivieren von DRS finden Sie unter Enabling VMware DRS in a cluster.
- Das vSphere-Nutzerkonto im Feld
vcenter
hat die BerechtigungHost.Inventory.EditCluster
. - 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 nicht mindestens drei Hosts haben, für die vSphere-VMs geplant werden können, fügen Sie Ihrer Konfigurationsdatei usercluster.antiaffinitygroups.enabled: false
hinzu.
Beispiel:
usercluster: ... antiaffinitygroups: enabled: false
Weitere Informationen finden Sie in den Versionshinweisen für Version 1.1.0-gke.6.
lbmode
Legen Sie lbmode
auf "Integrated"
fest. Beispiel:
lbmode: "Integrated"
stackdriver.clusterlocation
Legen Sie stackdriver.clusterlocation
auf eine Google Cloud-Region fest, in der Logs gespeichert werden sollen. Es empfiehlt sich, eine Region in der Nähe Ihres lokalen Rechenzentrums auszuwählen.
stackdriver.enablevpc
Setzen Sie stackdriver.enablevpc
auf true
, wenn das Netzwerk Ihres Clusters durch eine VPC gesteuert wird. So wird gewährleistet, dass alle Telemetriedaten über die eingeschränkten IP-Adressen von Google übertragen werden.
Zusätzliche Felder in der Konfigurationsdatei
Die Konfigurationsdatei von GKE On-Prem enthält zusätzlich zu den in diesem Thema gezeigten Feldern mehrere andere Felder. Sie können beispielsweise das Feld manuallbspec
verwenden, um GKE On-Prem für die Ausführung im manuellen Load-Balancing-Modus zu konfigurieren.
Eine vollständige Beschreibung der Felder in der Konfigurationsdatei finden Sie unter Über DHCP installieren und Über statische IP-Adressen installieren.
Konfigurationsdatei validieren
Nachdem Sie die Konfigurationsdatei geändert haben, führen Sie gkectl check-config
aus, um zu prüfen, ob die Datei gültig ist und für die Installation verwendet werden kann:
gkectl check-config --config config.yaml
Wenn der Befehl FAILURE
-Meldungen zurückgibt, beheben Sie die Probleme und validieren Sie die Datei noch einmal.
Wenn Sie die zeitaufwendigeren Validierungen überspringen möchten, übergeben Sie das Flag --fast
.
Verwenden Sie die Flags --skip-validation-xxx
, um einzelne Validierungen zu überspringen. Weitere Informationen zum Befehl check-config
finden Sie unter Vorabprüfungen ausführen.
gkectl prepare
ausführen
Führen Sie gkectl prepare
aus, um Ihre vSphere-Umgebung zu initialisieren:
gkectl prepare --config config.yaml --skip-validation-all
Administrator- und Nutzercluster erstellen
Erstellen Sie den Administratorcluster und den Nutzercluster mit dem Befehl
gkectl create cluster
.gkectl create cluster --config config.yaml --skip-validation-all
Der Befehl
gkectl create cluster
erstelltkubeconfig
-Dateien mit dem Namen[CLUSTER_NAME]-kubeconfig
im aktuellen Verzeichnis, wobei [CLUSTER_NAME] der Name ist, den Sie fürcluster
festgelegt haben. Beispiel:MY-CLUSTER-kubeconfig
.Die GKE-On-Prem-Dokumentation verwendet die folgenden Platzhalter, um auf diese
kubeconfig
-Dateien zu verweisen:- Administratorcluster: [ADMIN_CLUSTER_KUBECONFIG]
- Nutzercluster: [USER_CLUSTER_KUBECONFIG]
Prüfen Sie, ob der Cluster erstellt und ausgeführt wird:
Führen Sie den folgenden Befehl aus, um den Administratorcluster zu prüfen:
kubectl get nodes --kubeconfig [ADMIN_CLUSTER_KUBECONFIG]
Die Ausgabe listet die Knoten des Administratorclusters auf.
Führen Sie den folgenden Befehl aus, um den Nutzercluster zu prüfen:
kubectl get nodes --kubeconfig [USER_CLUSTER_KUBECONFIG]
Die Ausgabe listet die Knoten des Nutzerclusters auf. Beispiel:
NAME STATUS ROLES AGE VERSION xxxxxx-1234-ipam-15008527 Ready <none> 12m v1.14.7-gke.24 xxxxxx-1234-ipam-1500852a Ready <none> 12m v1.14.7-gke.24 xxxxxx-1234-ipam-15008536 Ready <none> 12m v1.14.7-gke.24
Fahren Sie mit dem nächsten Abschnitt fort, um zu erfahren, wie Sie eine Anwendung in Ihrem Nutzercluster bereitstellen.