In diesem Dokument wird gezeigt, wie Sie einfache Cluster für eine kleine Proof-of-Concept-Installation von Anthos-Cluster auf VMware (GKE On-Prem) erstellen.
Das sind die wichtigsten Schritte:
Erstellen Sie eine Administrator-Workstation.
Administratorcluster auf Ihrer Administrator-Workstation erstellen
Auf Ihrer Administrator-Workstation einen Nutzercluster erstellen
Hinweise
Richten Sie Ihre vSphere- und Google Cloud-Umgebungen ein, wie unter Minimale Infrastruktur einrichten beschrieben.
Informationen einholen
Tragen Sie vor dem Ausfüllen der Konfigurationsdatei einer Administrator-Workstation die folgenden Informationen zusammen:
Den Nutzernamen und das Passwort Ihres vCenter-Kontos
Das Root-CA-Zertifikat für Ihren vCenter-Server
Der Name Ihres vSphere-Rechenzentrums.
Der Name Ihres vSphere-Clusters.
Der Name Ihres vSphere-Datenspeichers.
Den Namen Ihres vSphere-Netzwerks
Die unter IP-Adressen planen beschriebenen IP-Adressen
Die ID Ihres Google Cloud-Projekts
Den Pfad der JSON-Schlüsseldatei für Ihr Dienstkonto für den Komponentenzugriff
Anmelden
Das gkeadm
-Befehlszeilentool verwendet das SDK-account
-Attribut zum Erstellen von Dienstkonten. Legen Sie deshalb das account
-Attribut Ihres SDK fest, bevor Sie gkeadm
ausführen, um eine Administrator-Workstation zu erstellen.
Melde dich mit einem beliebigen Google-Konto an. Dadurch wird das SDK-Attribut account
festgelegt:
gcloud auth login
Prüfen Sie, ob das SDK-Attribut account
korrekt festgelegt ist:
gcloud config list
Die Ausgabe enthält die Werte des SDK-Attributs account
.
Beispiel:
[core] account = my-name@google.com disable_usage_reporting = False Your active configuration is: [default]
Ihrem SDK-Konto Rollen zuweisen
Das Google-Konto, das als SDK-Attribut account
festgelegt ist, muss diese IAM-Rollen haben, damit gkeadm
Dienstkonten für Sie erstellen und verwalten kann:
resourcemanager.projectIamAdmin
serviceusage.serviceUsageAdmin
iam.serviceAccountCreator
iam.serviceAccountKeyAdmin
Zum Gewähren von Rollen müssen Sie für Ihr Google Cloud-Projekt bestimmte Berechtigungen haben. Weitere Informationen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
Wenn Sie die erforderlichen Berechtigungen haben, können Sie die Rollen selbst zuweisen. Andernfalls muss eine andere Person in Ihrer Organisation die Rollen für Sie zuweisen.
So weisen Sie die Rollen zu:
Linux und macOS
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/serviceusage.serviceUsageAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountKeyAdmin"
Windows
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/serviceusage.serviceUsageAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountKeyAdmin"
Ersetzen Sie Folgendes:
PROJECT_ID
ist die ID Ihres Google Cloud-ProjektsACCOUNT
: Wert Ihres SDK-account
-Attributs
Erstellen Sie eine Administrator-Workstation.
Für die Schritte in diesem Abschnitt wird das gkeadm
-Befehlszeilentool verwendet, das für 64-Bit-Linux, Windows 10, Windows Server 2019 und macOS 10.15 oder höher verfügbar ist.
Laden Sie gkeadm
in Ihr aktuelles Verzeichnis herunter.
Vorlagen generieren
./gkeadm create config
Mit dem vorherigen Befehl wurden diese Dateien in Ihrem aktuellen Verzeichnis erstellt:
credential.yaml
admin-ws-config.yaml
credential.yaml
ausfüllen
Geben Sie in credential.yaml
Ihren vCenter-Nutzernamen und das Passwort ein. Beispiel:
kind: CredentialFile items: - name: vCenter username: "my-account-name" password: "AadmpqGPqq!a"
Mit der Konfigurationsdatei der Administrator-Workstation vertraut machen
Scannen Sie die Dokumentation zur Konfigurationsdatei der Administrator-Workstation, um einen allgemeinen Überblick über den Inhalt der Datei zu erhalten. Wenn Sie die Seite in einem separaten Tab oder Fenster geöffnet lassen, können Sie immer wieder darauf zugreifen, wenn Sie die Werte in die Felder eintragen.
admin-ws-config.yaml
ausfüllen
Öffnen Sie admin-ws-config.yaml
zum Bearbeiten.
In die folgenden Felder werden automatisch Standardwerte oder generierte Werte eingefügt:
vCenter: credentials: fileRef: credentials: entry: adminWorkstation: name: cpus: memoryMB: diskGB: dataDiskName: dataDiskMB: ntpServer:
Füllen Sie das Feld gcp.componentAccessServiceAccountKeyPath aus.
Füllen Sie die folgenden Felder unter vCenter aus.
credentials: address: datacenter: datastore: cluster: network: caCertPath:
Setzen Sie vCenter.resourcePool auf CLUSTER_NAME/Resources. Ersetzen Sie CLUSTER_NAME durch den Namen Ihres vSphere-Clusters.
Wenn erforderlich, füllen Sie das Feld aus.
Füllen Sie bei Bedarf das Feld adminWorkstation.proxyURL aus.
Legen Sie für adminWorkstation.network.ipAllocationMode den Wert "static"
fest.
Füllen Sie die folgenden Felder unter adminWorkstation.network.hostConfig aus:
ip: gateway: netmask: dns:
Beispielkonfigurationsdatei für die Administrator-Workstation
Hier sehen Sie ein Beispiel für eine ausgefüllte Konfigurationsdatei für die Administrator-Workstation:
gcp: componentAccessServiceAccountKeyPath: "/usr/local/google/home/me/keys/component-access-key.json" vCenter: credentials: address: "vc01.example" fileRef: path: "credential.yaml" entry: "vCenter" datacenter: "vc01" datastore: "vc01-datastore-1" cluster: "vc01-workloads-1" network: "vc01-net-1" resourcePool: "vc01-workloads-1/Resources" caCertPath: "/usr/local/google/home/stevepe/certs/vc01-cert.pem" proxyUrl: "" adminWorkstation: name: gke-admin-ws-220304-014925 cpus: 4 memoryMB: 8192 diskGB: 50 dataDiskName: gke-on-prem-admin-workstation-data-disk/gke-admin-ws-220304-014925-data-disk.vmdk dataDiskMB: 512 network: ipAllocationMode: "static" hostConfig: ip: "172.16.20.49" gateway: "172.16.20.1" netmask: "255.255.255.0" dns: - "203.0.113.1" proxyUrl: "" ntpServer: ntp.ubuntu.com
Admin-Workstation erstellen
Erstellen Sie Ihre Administrator-Workstation und erstellen Sie automatisch Dienstkonten:
./gkeadm create admin-workstation --auto-create-service-accounts
Die Ausgabe enthält detaillierte Informationen zur Erstellung Ihrer Administrator-Workstation und einen Befehl, mit dem Sie eine SSH-Verbindung zu Ihrer Administrator-Workstation abrufen können:
... Admin workstation is ready to use. Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation This file is required for future upgrades SSH into the admin workstation with the following command: ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49 ********************************************************************
Weitere Informationen zum Erstellen einer Administrator-Workstation finden Sie unter Administrator-Workstation erstellen.
Dateien auf Ihrer Administrator-Workstation aufrufen
Verwenden Sie den in der vorherigen Ausgabe angezeigten Befehl, um eine SSH-Verbindung zu Ihrer Administrator-Workstation herzustellen. Beispiel:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49
Listen Sie die Dateien im Basisverzeichnis auf:
ls -1
Die Ausgabe enthält die JSON-Schlüsseldateien für zwei Dienstkonten, die gkeadm
für Sie erstellt hat: ein Connect-Register-Dienstkonto und ein Logging-Monitoring-Dienstkonto. Notieren Sie sich den Namen der JSON-Schlüsseldateien für Ihr Connect-Register-Dienstkonto. Sie benötigen sie später beim Erstellen der Cluster. Beispiel:
admin-cluster.yaml admin-ws-config.yaml sa-key.json connect-register-sa-2203040617.json credential.yaml log-mon-sa-2203040617.json logs vc01-cert.pem user-cluster.yaml
Administratorcluster erstellen
Rufen Sie eine SSH-Verbindung zu Ihrer Administrator-Workstation ab:
Statische IP-Adressen für Ihren Administratorcluster angeben
Erstellen Sie eine IP-Blockdatei mit dem Namen admin-cluster-ipblock.yaml
, um die statischen IP-Adressen anzugeben, die Sie für Ihre Administratorclusterknoten verwenden möchten.
Sie benötigen fünf IP-Adressen für die folgenden Knoten in Ihrem Administratorcluster:
Drei Knoten zum Ausführen der Steuerungsebene des Administratorclusters und der Add-ons
Einen zusätzlichen Knoten, der vorübergehend während der Upgrades verwendet werden soll
Einen Knoten zum Ausführen der Steuerungsebene für den Nutzercluster, den Sie später erstellen
Hier sehen Sie ein Beispiel für eine IP-Blockdatei mit Adressen für fünf Knoten:
blocks: - netmask: 255.255.255.0 gateway: 172.16.20.1 ips: - ip: 172.16.20.50 hostname: admin-vm-1 - ip: 172.16.20.51 hostname: admin-vm-2 - ip: 172.16.20.52 hostname: admin-vm-3 - ip: 172.16.20.53 hostname: admin-vm-4 - ip: 172.16.20.54 hostname: admin-vm-5
Das Feld ips
enthält ein Array von IP-Adressen und Hostnamen. Dies sind die IP-Adressen und Hostnamen, die Anthos-Cluster auf VMware Ihren Administratorclusterknoten zuweist.
In der IP-Blockdatei geben Sie auch eine Subnetzmaske und ein Standardgateway für die Knoten des Administratorclusters an.
Mit der Konfigurationsdatei des Administratorclusters vertraut machen
Scannen Sie die Dokumentation zur Konfigurationsdatei für den Administratorcluster, um einen allgemeinen Überblick über den Inhalt der Datei zu erhalten. Wenn Sie die Seite in einem separaten Tab oder Fenster geöffnet lassen, können Sie immer wieder darauf zugreifen, wenn Sie die Werte in die Felder eintragen.
Konfigurationsdatei für den Administratorcluster ausfüllen
Als gkeadm
die Administrator-Workstation erstellt hat, wurde eine zweite Konfigurationsdatei mit dem Namen admin-cluster.yaml
erzeugt. Diese Konfigurationsdatei dient zum Erstellen Ihres Administratorclusters.
Öffnen Sie admin-cluster.yaml
zum Bearbeiten.
Mehrere Felder in der Konfigurationsdatei des Administratorclusters sind bereits mit Standardwerten, generierten Werten oder Werten gefüllt, die Sie beim Erstellen der Administrator-Workstation angegeben haben. Sie können diese Felder nicht ändern.
Füllen Sie das Feld vCenter.dataDisk aus.
Füllen Sie die folgenden Felder unter network.hostConfig aus:
dnsServers: ntpServers:
Setzen Sie network.ipMode.type auf "static"
.
Setzen Sie network.ipMode.ipBlockFilePath auf "admin-cluster-ipblock.yaml"
.
Geben Sie die Standardwerte für network.serviceCIDR und network.podCIDR ein oder behalten Sie sie bei.
Füllen Sie die folgenden Felder unter loadBalancer.vips aus:
controlPlaneVIP: addonsVIP:
Setzen Sie loadBalancer.kind auf "MetalLB"
.
Setzen Sie antiAffinityGroups.enabled auf false
.
Legen Sie gkeConnect.projectID auf die ID Ihres Google Cloud-Projekts fest.
Legen Sie für gkeConnect.registerServiceAccountKeyPath den Pfad der JSON-Schlüsseldatei für Ihr Connect-Register-Dienstkonto fest.
Beispiel für die Konfigurationsdatei eines Administratorclusters
Hier sehen Sie ein Beispiel für eine ausgefüllte Konfigurationsdatei für einen Administratorcluster:
apiVersion: v1 kind: AdminCluster name: "gke-admin-01" bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.11.0-gke.543-full.tgz" vCenter: address: "vc01.example" datacenter: "vc-01" cluster: "vc01-workloads-1" resourcePool: "my-cluster/Resources" datastore: "vc01-datastore-1" caCertPath: "/usr/local/google/home/me/certs/vc01-cert.pem"" credentials: fileRef: path: "credential.yaml" entry: "vCenter" dataDisk: "vc01-admin-disk.vmdk" network: hostConfig: dnsServers: - "203.0.113.1" - "198.51.100.1" ntpServers: - "216.239.35.4" ipMode: type: "static" serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16" vCenter: networkName: "vc01-net-1" loadBalancer: vips: controlPlaneVIP: "172.16.20.59" addonsVIP: "172.16.20.60" kind: "MetalLB" antiAffinityGroups: enabled: false componentAccessServiceAccountKeyPath: "sa-key.json" gkeConnect: projectID: "my-project-123" registerServiceAccountKeyPath: "connect-register-sa-2203040617.json" stackdriver: projectID: "my-project-123" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "log-mon-sa-2203040617.json" disableVsphereResourceMetrics: false
Konfigurationsdatei für den Administratorcluster validieren
Überprüfen Sie, ob die Konfigurationsdatei für den Administratorcluster gültig ist und zum Erstellen des Clusters verwendet werden kann:
gkectl check-config --config admin-cluster.yaml
Bereiten Sie die vSphere-Umgebung vor.
Führen Sie gkectl prepare
aus, um Ihre vSphere-Umgebung zu initialisieren:
gkectl prepare --config admin-cluster.yaml --skip-validation-all
Erstellen Sie den Administratorcluster.
Erstellen Sie den Administratorcluster:
gkectl create admin --config admin-cluster.yaml
Erstellen eines Administratorclusters nach einem Fehler fortsetzen
Wenn die Erstellung des Administratorclusters fehlschlägt oder abgebrochen wird, können Sie den Befehl create
noch einmal ausführen:
gkectl create admin --config admin-cluster.yaml
Suchen Sie die kubeconfig-Datei des Administratorclusters
Mit dem Befehl gkectl create admin
wird im aktuellen Verzeichnis die kubeconfig-Datei kubeconfig
erstellt. Sie benötigen diese kubeconfig-Datei später, um mit Ihrem Administratorcluster zu interagieren.
Prüfen Sie, ob der Administratorcluster ausgeführt wird
Prüfen Sie, ob der Administratorcluster ausgeführt wird:
kubectl get nodes --kubeconfig kubeconfig
Die Ausgabe zeigt die Knoten des Administratorclusters. Beispiel:
gke-admin-master-hdn4z Ready control-plane,master ... gke-admin-node-7f46cc8c47-g7w2c Ready ... gke-admin-node-7f46cc8c47-kwlrs Ready ...
Nutzercluster erstellen
Sie können einen Nutzercluster entweder in der Google Cloud Console oder über die Befehlszeile auf Ihrer Administrator-Workstation erstellen.
Console
In diesem Abschnitt wird gezeigt, wie Sie einen Nutzercluster erstellen, der für die minimale Infrastruktur mit MetalLB als Load-Balancer konfiguriert ist.
Wenn Sie einen Nutzercluster erstellen, aktiviert die Google Cloud Console automatisch die GKE On-Prem API in dem Google Cloud-Projekt, das Sie für die Clustererstellung auswählen. Die GKE On-Prem API wird in der Infrastruktur von Google Cloud ausgeführt. Die Google Cloud Console verwendet diese API, um den Cluster in Ihrem vSphere-Rechenzentrum zu erstellen. Zum Verwalten Ihrer Cluster muss die GKE On-Prem API Metadaten zum Status Ihres Clusters in der Google Cloud-Region speichern, die Sie beim Erstellen des Clusters angeben. Diese Metadaten ermöglichen der GKE On-Prem API die Verwaltung des Nutzercluster-Lebenszyklus und enthalten keine arbeitslastspezifischen Daten.
Rufen Sie in der Google Cloud Console die Anthos-Seite Cluster auf.
Wählen Sie das Google Cloud-Projekt aus, in dem Sie den Cluster erstellen möchten. Das ausgewählte Projekt wird auch als Flotten-Hostprojekt verwendet. Dies muss dasselbe Projekt sein, bei dem der Administratorcluster registriert ist. Nachdem der Nutzercluster erstellt wurde, wird er automatisch bei der Flotte des ausgewählten Projekts registriert.
Klicken Sie auf Cluster erstellen.
Klicken Sie im Dialogfeld auf Lokal.
Klicken Sie neben VMware vSphere auf Konfigurieren.
Prüfen Sie die Voraussetzungen und klicken Sie auf Weiter.
Clustergrundlagen
- Geben Sie einen Namen für den Nutzercluster ein.
Wählen Sie unter Administratorcluster den Administratorcluster aus der Liste aus. Wenn der zu verwendende Administratorcluster nicht angezeigt wird, lesen Sie den Abschnitt zur Fehlerbehebung. Der Administratorcluster wird nicht in der Drop-down-Liste Clustergrundlagen angezeigt.
Wählen Sie im Feld GCP API-Standort die Google Cloud-Region aus der Liste aus. Mit dieser Einstellung steuern Sie nicht nur die Region, in der die GKE On-Prem API ausgeführt wird, sondern auch die Region, in der Folgendes gespeichert wird:
- Die Metadaten des Nutzerclusters, die die GKE On-Prem API zum Verwalten des Clusterlebenszyklus benötigt
- Cloud Logging- und Cloud Monitoring-Daten von Systemkomponenten
- Das von Cloud-Audit-Logs erstellte Administrator-Audit-Log
Wählen Sie die Anthos-Cluster auf VMware-Version des Nutzerclusters aus.
Klicken Sie auf Weiter, um den Abschnitt Netzwerk aufzurufen.
Netzwerk
In diesem Abschnitt geben Sie die IP-Adressen für die Knoten, Pods und Services Ihres Clusters an. Ein Nutzercluster muss eine IP-Adresse für jeden Knoten und eine zusätzliche IP-Adresse haben, die während des Upgrades des Nutzerclusters für einen temporären Knoten verwendet wird. Weitere Informationen finden Sie unter Wie viele IP-Adressen benötigt ein Nutzercluster?.
Wählen Sie im Abschnitt Knoten-IP-Adressen den IP-Modus für den Nutzercluster aus. Entscheiden Sie sich für eine der folgenden Möglichkeiten:
DHCP: Wählen Sie DHCP aus, wenn Ihre Clusterknoten ihre IP-Adresse von einem DHCP-Server abrufen sollen.
Statisch: Wählen Sie Statisch aus, wenn Sie statische IP-Adressen für Ihre Clusterknoten bereitstellen möchten.
Wenn Sie DHCP ausgewählt haben, fahren Sie mit dem nächsten Schritt fort, um Service- und Pod-CIDRs anzugeben. Geben Sie für den statischen IP-Modus die folgenden Informationen an:
- Geben Sie die IP-Adresse des Gateways für den Nutzercluster ein.
Geben Sie die Subnetzmaske für die Nutzerclusterknoten ein.
Geben Sie im Abschnitt IP-Adressen die IP-Adressen und optional die Hostnamen für die Knoten im Nutzercluster ein. Sie können entweder eine einzelne IPv4-Adresse (z. B. 192.0.2.1) oder einen CIDR-Block von IPv4-Adressen (z. B. 192.0.2.0/24) eingeben.
- Wenn Sie einen CIDR-Block eingeben, geben Sie keinen Hostnamen ein.
- Wenn Sie eine einzelne IP-Adresse eingeben, können Sie optional einen Hostnamen eingeben. Wenn Sie keinen Hostnamen eingeben, verwendet Anthos-Cluster auf VMware den VM-Namen aus vSphere als Hostnamen.
Klicken Sie nach Bedarf auf + IP-Adresse hinzufügen, um weitere IP-Adressen einzugeben.
Im Abschnitt Service- und Pod-CIDRs stellt die Google Cloud Console die folgenden Adressbereiche für Ihren Kubernetes-Service und -Pod bereit:
- Service-CIDR: 10.96.0.0/20
- Pod-CIDR: 192.168.0.0/16
Wenn Sie Ihre eigenen Adressbereiche eingeben möchten, finden Sie Best Practices unter IP-Adressen für Pods und Services.
Wenn Sie Statischer IP-Modus ausgewählt haben, geben Sie die folgenden Informationen im Abschnitt Hostkonfiguration an:
- Geben Sie die IP-Adressen der DNS-Server ein.
- Geben Sie die IP-Adressen der NTP-Server ein.
- Geben Sie optional DNS-Suchdomains ein.
Klicken Sie auf Weiter, um zum Abschnitt Load-Balancer zu gelangen.
Load-Balancer
Konfigurieren Sie MetalLB als Load-Balancer.
Lassen Sie für Load-Balancer-Typ den Wert MetalLB ausgewählt.
Geben Sie im Abschnitt Virtuelle IP-Adressen Folgendes ein:
VIP der Steuerungsebene: Die Ziel-IP-Adresse, die für den an den Kubernetes API-Serverserver des Nutzerclusters gesendeten Traffic verwendet werden soll. Diese IP-Adresse muss sich in derselben L2-Domain wie die Administratorclusterknoten befinden. Fügen Sie diese Adresse nicht im Abschnitt Adresspools hinzu.
Ingress-VIP: Die IP-Adresse, die auf dem Load-Balancer für den Ingress-Proxy konfiguriert werden soll. Sie müssen dies einem Adresspool im Abschnitt Adresspools hinzufügen.
Geben Sie im Abschnitt Adresspools einen Adresspool für die Ingress-VIP an.
- Klicken Sie auf + IP-Adressbereich hinzufügen.
- Geben Sie einen Namen für den Adresspool ein.
- Geben Sie einen IP-Adressbereich in einer CIDR-Notation (z. B. 192.0.2.0/26) oder der Bereichsnotation (z. B. 192.0.2.64-192.0.2.72) ein. Die IP-Adressen in jedem Pool dürfen sich nicht überschneiden und müssen sich im selben Subnetz wie die Clusterknoten befinden.
Wählen Sie unter Zuweisung von IP-Adressen eine der folgenden Optionen aus:
- Automatisch: Wählen Sie diese Option aus, wenn der MetalLB-Controller automatisch IP-Adressen aus dem Adresspool den Services vom Typ
LoadBalancer
zuweisen soll. - Manuell: Wählen Sie diese Option aus, wenn Sie Adressen aus dem Pool verwenden möchten, um Adressen für Services vom Typ
LoadBalancer
manuell anzugeben.
- Automatisch: Wählen Sie diese Option aus, wenn der MetalLB-Controller automatisch IP-Adressen aus dem Adresspool den Services vom Typ
Klicken Sie auf Fehlerhafte IP-Adressen vermeiden, wenn der MetalLB-Controller keine Adressen aus dem Pool verwenden soll, die auf .0 oder .255 enden. Dadurch wird verhindert, dass fehlerhafte Geräte versehentlich Traffic löschen, der an diese speziellen IP-Adressen gesendet wird.
Wiederholen Sie diese Schritte für alle Suchabfragen, für die dies erforderlich ist. Klicken Sie zum Schluss auf Fertig.
Klicken Sie auf Weiter.
Steuerungsebene
Prüfen Sie die Standardwerte, die für die Knoten im Administratorcluster konfiguriert sind, die die Komponenten der Steuerungsebene für Ihren Nutzercluster ausführen. Die Standardwerte sind für die minimale Infrastruktur ausreichend, aber Sie können die Werte nach Bedarf anpassen.
Klicken Sie auf Weiter.
Produkte
Deaktivieren Sie die Option Anti-Affinitätsgruppen aktivieren. Beim Einrichten der minimalen Infrastruktur haben Sie nur einen ESXi-Host erstellt, sodass Sie keine Anti-Affinitätsgruppen aktivieren sollten.
Klicken Sie auf Weiter.
Knotenpools
Ihr Cluster wird mit mindestens einem Knotenpool erstellt. Ein Knotenpool ist eine Vorlage für die in diesem Cluster erstellten Knotengruppen. Weitere Informationen finden Sie unter Knotenpools erstellen und verwalten.
Prüfen Sie die für den Knotenpool konfigurierten Standardwerte. Die Standardwerte sind für die minimale Infrastruktur ausreichend, aber Sie können die Werte nach Bedarf anpassen.
Prüfen und abschließen
Klicken Sie auf Prüfen und abschließen, um den Nutzercluster zu erstellen. Das Erstellen des Nutzerclusters dauert mindestens 10 Minuten. Die Google Cloud Console zeigt Statusmeldungen an, während die Einstellungen geprüft und der Cluster in Ihrem Rechenzentrum erstellt wird.
Der Operator, der den Nutzercluster in der Google Cloud Console erstellt, wird nach der Erstellung automatisch beim Cluster angemeldet. Andere Operatoren müssen den Schritten unter Von der Cloud Console aus in einem Cluster anmelden folgen, um Zugriff auf den Cluster zu erhalten.
Wenn bei der Prüfung der Einstellungen ein Fehler auftritt, wird in der Google Cloud Console eine Fehlermeldung angezeigt, die klar genug sein sollte, um das Konfigurationsproblem zu beheben. Versuchen Sie danach noch einmal, den Cluster zu erstellen.
Weitere Informationen zu möglichen Fehlern und zu deren Behebung finden Sie unter Fehlerbehebung bei der Erstellung von Nutzerclustern in der Google Cloud Console.
kubeconfig-Datei des Nutzerclusters erstellen
Um über die Befehlszeile auf den Nutzercluster in Ihrem Rechenzentrum zuzugreifen, müssen Sie eine kubeconfig
-Datei vom Administratorcluster abrufen. Wenn die Google Cloud Console anzeigt, dass der Nutzerclusterstatus fehlerfrei ist, führen Sie den folgenden Befehl auf der Administratorworkstation aus, um eine neue kubeconfig
-Datei für den Nutzercluster lokal zu speichern. Ersetzen Sie Folgendes:
- CLUSTER_NAME: der Name des neu erstellten Nutzerclusters
- ADMIN_CLUSTER_KUBECONFIG: der Pfad zur
kubeconfig
-Datei des Administratorclusters - USER_CLUSTER_KUBECONFIG: der Name der
kubeconfig
-Datei des Nutzerclusters, die vom Befehl ausgegeben wird
kubectl get secret admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ -n CLUSTER_NAME \ -o=jsonpath='{.data.admin\.conf}' | base64 -d > USER_CLUSTER_KUBECONFIG
Nachdem die Datei gespeichert wurde, können Sie mit kubectl
auf den Nutzercluster zugreifen. Beispiel:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get namespaces
Befehlszeile
Rufen Sie eine SSH-Verbindung zu Ihrer Administrator-Workstation ab:
Geben Sie statische IP-Adressen für den Nutzercluster an.
Erstellen Sie eine IP-Blockdatei mit dem Namen
user-cluster-ipblock.yaml
, um die statischen IP-Adressen anzugeben, die Sie für Ihren Nutzercluster verwenden möchten. Sie benötigen drei IP-Adressen für Ihre Nutzerclusterknoten und eine zusätzliche Adresse, die während der Upgrades vorübergehend verwendet werden soll. Hier sehen Sie ein Beispiel für eine IP-Blockdatei mit vier Adressen:blocks: - netmask: 255.255.255.0 gateway: 172.16.20.1 ips: - ip: 172.16.20.55 hostname: user-vm-1 - ip: 172.16.20.56 hostname: user-vm-2 - ip: 172.16.20.57 hostname: user-vm-3 - ip: 172.16.20.58 hostname: user-vm-4
Konfigurationsdatei des Nutzerclusters ausfüllen
Als gkeadm
die Administrator-Workstation erstellt hat, wurde eine zweite Konfigurationsdatei mit dem Namen user-cluster.yaml
erzeugt. Diese Konfigurationsdatei dient zum Erstellen Ihres Nutzerclusters.
Machen Sie sich mit der Konfigurationsdatei des Nutzerclusters vertraut.
Scannen Sie die Dokumentation zur Konfigurationsdatei für den Nutzercluster, um einen allgemeinen Überblick über den Inhalt der Datei zu erhalten. Wenn Sie die Seite in einem separaten Tab oder Fenster geöffnet lassen, können Sie immer wieder darauf zugreifen, wenn Sie die Werte in die Felder eintragen.
Öffnen Sie
user-cluster.yaml
zum Bearbeiten.Mehrere Felder in der Konfigurationsdatei des Nutzerclusters sind bereits mit Standardwerten, generierten Werten oder Werten gefüllt, die Sie beim Erstellen der Administrator-Workstation angegeben haben. Sie können diese Felder nicht ändern.
Geben Sie für name einen Namen Ihrer Wahl für den Nutzercluster an.
Felder im Netzwerkabschnitt ausfüllen
Geben Sie im Abschnitt network.hostConfig IP-Adressen für die folgenden Felder ein:
dnsServers: ntpServers:
Setzen Sie network.ipMode.type auf
"static"
.Setzen Sie network.ipMode.ipBlockFilePath auf
"user-cluster-ipblock.yaml"
.Geben Sie die Standardwerte für network.serviceCIDR und network.podCIDR ein oder behalten Sie sie bei.
Felder im Load-Balancer-Abschnitt ausfüllen
Füllen Sie die folgenden Felder unter loadBalancer.vips aus:
controlPlaneVIP: ingressVIP:
Setzen Sie loadBalancer.kind auf
"MetalLB"
.Füllen Sie loadBalancer.metalLB aus. Weitere Informationen finden Sie unter Gebündeltes Load-Balancing mit MetalLB.
Legen Sie für mindestens einen Ihrer Knotenpools enableLoadBalancer auf
true
fest. Weitere Informationen finden Sie unter Gebündeltes Load-Balancing mit MetalLB.Setzen Sie antiAffinityGroups.enabled auf
false
.
Beispiel für die Konfigurationsdatei eines Nutzerclusters
Hier sehen Sie ein Beispiel für eine ausgefüllte Konfigurationsdatei für einen Nutzercluster:
apiVersion: v1 kind: UserCluster name: "my-user-cluster" gkeOnPremVersion: "1.11.0-gke.543" network: hostConfig: dnsServers: - "203.0.113.1" - "198.51.100.1" ntpServers: - "216.239.35.4" ipMode: type: "static" serviceCIDR: "10.96.0.0/20" podCIDR: "192.168.0.0/16" loadBalancer: vips: controlPlaneVIP: "172.16.20.61" ingressVIP: "172.16.20.62" kind: "MetalLB" metalLB: addressPools: - name: "uc-address-pool" addresses: - "172.16.20.63-172.16.20.72" nodePools: - name: "uc-node-pool" cpus: 4 memoryMB: 8192 replicas: 3 enableLoadBalancer: true antiAffinityGroups: enabled: false gkeConnect: projectID: "my-project-123" registerServiceAccountKeyPath: "connect-register-sa-2203040617.json" stackdriver: projectID: "my-project-123" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "log-mon-sa-2203040617.json" disableVsphereResourceMetrics: false autoRepair: enabled: true
Konfiguration prüfen und Cluster erstellen
Prüfen Sie, ob die Konfigurationsdatei des Nutzerclusters gültig ist und zum Erstellen des Clusters verwendet werden kann:
gkectl check-config --kubeconfig kubeconfig --config user-cluster.yaml
Nutzercluster erstellen:
gkectl create cluster --kubeconfig kubeconfig --config user-cluster.yaml
Die Erstellung eines Clusters dauert etwa 30 Minuten.
Nutzercluster kubeconfig suchen
Mit dem Befehl gkectl create cluster
wird im aktuellen Verzeichnis die kubeconfig-Datei USER_CLUSTER_NAME-kubeconfig
erstellt. Sie benötigen diese kubeconfig-Datei später, um mit Ihrem Nutzercluster zu interagieren.
Prüfen, ob Ihr Nutzercluster ausgeführt wird
Prüfen Sie, ob Ihr Nutzercluster ausgeführt wird:
kubectl get nodes --kubeconfig USER_CLUSTER_KUBECONFIG
Ersetzen Sie USER_CLUSTER_KUBECONFIG durch den Pfad Ihrer kubeconfig-Datei.
Die Ausgabe zeigt die Knoten des Nutzerclusters. Beispiel:
my-user-cluster-node-pool-69-d46d77885-7b7tx Ready ... my-user-cluster-node-pool-69-d46d77885-lsvzk Ready ... my-user-cluster-node-pool-69-d46d77885-sswjk Ready ...