Einfache Cluster erstellen

Dies ist der zweite Teil einer Anleitung, die Sie durch eine kleine Proof-of-Concept-Installation von GKE auf VMware führt. Der erste Teil ist Minimale Infrastruktur einrichten. Hier erfahren Sie, wie Sie Ihre IP-Adressen planen und die erforderliche vSphere- und Google Cloud-Infrastruktur für Ihre Bereitstellung einrichten. Dieses Dokument baut auf der Einrichtung und Planung auf, die Sie im vorherigen Abschnitt durchgeführt haben, und zeigt Ihnen, wie Sie eine Administratorworkstation, einen Administratorcluster und einen Nutzercluster in Ihrer vSphere-Umgebung erstellen. Anschließend können Sie mit dem Bereitstellen einer Anwendung fortfahren.

Wie bei der Infrastruktureinrichtung dieser einfachen Installation sind die Cluster, die Sie mit diesem Dokument einrichten, möglicherweise nicht für Ihre tatsächlichen Produktionsanforderungen und Anwendungsfälle geeignet. Viele weitere Informationen, Best Practices und Anleitungen für Produktionsinstallationen finden Sie in den Installationsanleitungen.

Hinweise

Verfahrensübersicht

Dies sind die wichtigsten Schritte für diese Einrichtung:

  1. Achten Sie darauf, dass Sie alle erforderlichen Informationen haben, die Sie zum Konfigurieren von GKE on VMware benötigen, einschließlich Ihres vCenter-Nutzernamens und -Passworts sowie der IP-Adressen, die Sie im vorherigen Abschnitt vorbereitet haben.
  2. Melden Sie sich in der Google Cloud CLI mit einem Konto an, das die erforderlichen Berechtigungen zum Erstellen von Dienstkonten hat.
  3. Erstellen Sie eine Administratorworkstation mit den Ressourcen und Tools, die Sie zum Erstellen von Administrator- und Nutzerclustern benötigen, einschließlich der zusätzlichen Dienstkonten, die Sie für die Einrichtung benötigen.
  4. Erstellen Sie einen Administratorcluster, um die Kubernetes-Steuerungsebene für Ihre Administrator- und Nutzercluster zu hosten und Nutzercluster zu verwalten und zu aktualisieren.
  5. Erstellen Sie einen Nutzercluster, auf dem tatsächliche Arbeitslasten ausgeführt werden können.

Informationen einholen

Bevor Sie GKE on VMware-Konfigurationsdateien ausfüllen, sollten Sie alle erforderlichen Informationen haben, die Sie unter Minimale Infrastruktur einrichten vorbereitet haben. Sie benötigen alle folgenden Werte, um GKE on VMware zu konfigurieren und diese Einrichtung abzuschließen.

vCenter-Details

IP-Adressen

Prüfen Sie, ob Sie alle IP-Adressen haben, die Sie unter IP-Adressen planen ausgewählt haben, einschließlich:

  • Eine IP-Adresse für Ihre Administrator-Workstation.
  • Zehn IP-Adressen für Ihre Administrator- und Nutzerclusterknoten, einschließlich Adressen für zwei zusätzliche Knoten, die während Clusterupgrades verwendet werden können.
  • Eine virtuelle IP-Adresse (VIP) für den Kubernetes API-Server des Administratorclusters.
  • Eine virtuelle IP-Adresse für den Kubernetes API-Server des Nutzerclusters.
  • Eine virtuelle IP-Adresse für eingehenden Traffic für den Nutzercluster.
  • Zehn Dienst-VIPs für den Nutzercluster.
  • Einen CIDR-Bereich für Nutzercluster-Pods und -Dienste, wenn Sie nicht standardmäßige Bereiche verwenden müssen, wie unter Überschneidungen vermeiden beschrieben.

Außerdem benötigen Sie Folgendes:

  • Die IP-Adresse eines DNS-Servers.
  • Die IP-Adresse eines NTP-Servers.
  • Die IP-Adresse des Standardgateways für das Subnetz mit Ihrer Administratorworkstation und Ihren Clusterknoten.

Details zu Google Cloud

Bei der Google Cloud CLI anmelden

Für die Einrichtung von GKE on VMware sind mehrere Dienstkonten mit unterschiedlichen Berechtigungen erforderlich. Sie müssen das Dienstkonto für den Komponentenzugriff zwar manuell erstellen, aber das gkeadm-Befehlszeilentool kann beim Erstellen der Administrator-Workstation die Standardversionen der verbleibenden Konten erstellen und konfigurieren. Dazu müssen Sie jedoch in der Google Cloud CLI mit einem Konto angemeldet sein, das die erforderlichen Berechtigungen zum Erstellen und Konfigurieren von Dienstkonten hat, da gkeadm bei dieser Einrichtung Ihr aktuelles account-Attribut der gcloud CLI verwendet.

  1. Melden Sie sich in der gcloud CLI an. Sie können jedes Google-Konto verwenden. Es muss jedoch über die erforderlichen Berechtigungen verfügen. Wenn Sie den vorherigen Teil dieser Anleitung befolgt haben, haben Sie sich wahrscheinlich bereits mit einem entsprechenden Konto angemeldet, um Ihr Dienstkonto für den Komponentenzugriff zu erstellen.

    gcloud auth login
    
  2. Prüfen Sie, ob das account-Attribut der gcloud CLI richtig 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]
    

Erstellen Sie eine Administrator-Workstation.

Bevor Sie Cluster erstellen können, müssen Sie eine Administratorworkstation einrichten und dann eine SSH-Verbindung herstellen. Die Administratorworkstation ist eine eigenständige VM mit den Tools und Ressourcen, die Sie zum Erstellen von GKE Enterprise-Clustern in Ihrer vSphere-Umgebung benötigen. 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.

Vorlagen generieren

Führen Sie den folgenden Befehl aus, um Vorlagenkonfigurationsdateien zu generieren:

./gkeadm create config

Durch die Ausführung dieses Befehls werden die folgenden Vorlagenkonfigurationsdateien im aktuellen Verzeichnis erstellt:

  • credential.yaml, mit dem Sie Ihre vCenter-Anmeldedaten angeben
  • admin-ws-config.yaml, mit dem Sie die Konfigurationseinstellungen Ihrer Administratorworkstation angeben

Datei mit Anmeldedaten 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"

Konfigurationsdatei der Administratorworkstation ausfüllen

Öffnen Sie admin-ws-config.yaml zum Bearbeiten. Wenn der Vorgang abgeschlossen ist, enthält diese Datei alle Informationen, die gkeadm zum Erstellen einer Administratorworkstation für diese Basisinstallation benötigt. Einige Felder sind bereits mit Standardwerten oder generierten Werten ausgefüllt. Ändern Sie diese Werte für diese einfache Installation nicht.

Füllen Sie die übrigen Felder wie unten beschrieben mit den zuvor erfassten Informationen aus. Wenn Sie sich nicht sicher sind, wie Felder formatiert werden sollen, finden Sie unten eine vollständige Beispielkonfigurationsdatei. Weitere Informationen finden Sie auch in der Referenz zur Konfigurationsdatei für die Administratorworkstation. 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.

Feld oder Abschnitt Anleitung
gcp.componentAccessServiceAccountKeyPath Der Pfad der JSON-Schlüsseldatei, die Sie für Ihr Dienstkonto für den Komponentenzugriff erstellt haben
vCenter.credentials.address Die IP-Adresse oder der Hostname Ihres vCenter-Servers.
vCenter.datacenter Der Name Ihres vCenter-Rechenzentrums.
vCenter.datastore Der Name Ihres vCenter-Datenspeichers.
vCenter.cluster Der Name Ihres vCenter-Clusters.
vCenter.network Der Name des vCenter-Netzwerks, in dem Sie die Administratorworkstation erstellen möchten.
vCenter.resourcePool Legen Sie dieses Feld auf "CLUSTER_NAME/Resources" fest und ersetzen Sie CLUSTER_NAME durch den Namen Ihres vSphere-Clusters.
vCenter.caCertPath Der Pfad zum Root-CA-Zertifikat für Ihren vCenter-Server.
proxyURL Wenn der Computer, auf dem Sie gkeadm ausführen, einen Proxyserver für den Zugriff auf das Internet verwenden muss, legen Sie dieses Feld auf die URL des Proxyservers fest.
adminWorkstation.ipAllocationMode Legen Sie für dieses Feld "static" fest.
adminWorkstation.network.hostConfig.ip Die IP-Adresse, die Sie zuvor für Ihre Administratorworkstation ausgewählt haben.
adminWorkstation.network.hostConfig.gateway Die IP-Adresse des Standardgateways für das Subnetz, das Sie für Ihre Administratorworkstation und Clusterknoten verwenden möchten.
adminWorkstation.network.hostConfig.netmask Die Netzmaske für das Netzwerk, das Ihre Administrator-Workstation enthält.
adminWorkstation.network.hostConfig.dns IP-Adressen für DNS-Server, die Ihre Administratorworkstation verwenden kann.
adminWorkstation.proxyURL Wenn sich Ihr Netzwerk hinter einem Proxyserver befindet und Sie möchten, dass sowohl Ihre Administrator-Workstation als auch Ihre Cluster denselben Proxyserver verwenden, geben Sie in diesem Feld die URL des Proxyservers an.

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 mit dem folgenden Befehl:

./gkeadm create admin-workstation --auto-create-service-accounts

Führen Sie den folgenden Befehl aus:

  • Erstellt Ihre Administratorworkstation
  • Erstellt automatisch alle zusätzlichen Dienstkonten, die Sie für Ihre Installation benötigen
  • Erstellt Vorlagenkonfigurationsdateien für Ihre Administrator- und Nutzercluster

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.

Verbindung zu Ihrer Administrator-Workstation herstellen

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

Generierte Dateien ansehen

Listen Sie auf Ihrer Administrator-Workstation die Dateien im Basisverzeichnis auf:

ls -1

Die Ausgabe sollte Folgendes enthalten:

  • admin-cluster.yaml, eine Vorlagenkonfigurationsdatei zum Erstellen Ihres Administratorclusters.
  • user-cluster.yaml, eine Vorlagenkonfigurationsdatei zum Erstellen Ihres Nutzerclusters.
  • 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üsseldatei 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

Nachdem Sie eine Administratorworkstation mit vCenter und anderen Details konfiguriert haben, können Sie damit einen Administratorcluster in Ihrer vSphere-Umgebung erstellen. Stellen Sie wie oben beschrieben sicher, dass Sie eine SSH-Verbindung zu Ihrer Administrator-Workstation haben, bevor Sie mit diesem Schritt beginnen. Die folgenden Befehle werden auf der Administrator-Workstation ausgeführt.

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 zuvor geplant haben.

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 GKE on VMware Ihren Administratorclusterknoten zuweist.

In der IP-Blockdatei geben Sie auch eine Subnetzmaske und ein Standardgateway für die Knoten des Administratorclusters an.

Konfigurationsdatei für den Administratorcluster ausfüllen

Öffnen Sie admin-cluster.yaml zum Bearbeiten. Wenn der Vorgang abgeschlossen ist, enthält diese Datei alle Informationen, die gkectl zum Erstellen eines Administratorclusters für diese Basisinstallation benötigt. Einige der Felder sind bereits mit Standardwerten, generierten Werten oder Werten ausgefüllt, die Sie bei der Konfiguration Ihrer Administrator-Workstation angegeben haben, z. B. vCenter-Details: Ändern Sie diese Werte für diese einfache Installation nicht.

Füllen Sie die übrigen Felder wie unten beschrieben mit den zuvor erfassten Informationen aus. Wenn Sie sich nicht sicher sind, wie Felder formatiert werden sollen, finden Sie unten eine vollständige Beispielkonfigurationsdatei. Weitere Informationen finden Sie auch in der Referenz zur Konfigurationsdatei des Administratorclusters. 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.

Feld oder Abschnitt Anleitung
vCenter.dataDisk Der Name, den Sie für das VM-Laufwerk (VMDK) verwenden möchten, das vom Installationsprogramm für Kubernetes-Objektdaten erstellt wird.
network.hostConfig.dnsServers IP-Adressen für DNS-Server, die Ihre Cluster-VMs verwenden können.
network.hostConfig.ntpServers IP-Adressen für Zeitserver, die Ihre Cluster-VMs verwenden können.
network.ipMode.type Legen Sie für dieses Feld "static" fest.
network.ipMode.ipBlockFilePath Der Pfad zur IP-Blockdatei, die Sie zuvor erstellt haben.
network.serviceCIDR und network.podCIDR Ändern Sie diese Werte nur, wenn Sie nicht standardmäßige Bereiche verwenden müssen, wie unter Überschneidungen vermeiden beschrieben.
loadBalancer.vips.controlPlaneVIP Die virtuelle IP-Adresse (VIP), die Sie für den Kubernetes API-Server des Administratorclusters ausgewählt haben.
loadbalancer.kind Legen Sie für dieses Feld "MetalLB" fest.
antiAffinityGroups Legen Sie dieses Feld auf "false" fest
gkeConnect.projectID Geben Sie in dieses Feld die Projekt-ID Ihres Google-Projekts ein.
gkeConnect.registerServiceAccountKeyPath Geben Sie in dieses Feld den JSON-Schlüssel Ihres connect-register-Dienstkontos an.

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"
  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

Betriebssystem-Images in vSphere importieren

Führen Sie gkectl prepare mit Ihrer fertigen Konfigurationsdatei aus, um Knotenbetriebssystem-Images in vSphere zu importieren:

gkectl prepare --config admin-cluster.yaml --skip-validation-all

Wenn Sie diesen Befehl ausführen, werden die Images in vSphere importiert und als VM-Vorlagen markiert, einschließlich des Images für Ihren Administratorcluster.

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 für diese einfache Installation entweder in der Google Cloud Console oder über die Befehlszeile auf Ihrer Administratorworkstation erstellen. Derzeit können Sie mit der Google Cloud Console nur Nutzercluster erstellen.

Console

Bei diesem Ansatz wird ein Google Cloud-Dienst namens GKE On-Prem API verwendet, um Cluster in Ihrer vSphere-Umgebung zu erstellen und zu verwalten. Wenn Sie einen Nutzercluster über die Google Cloud Console erstellen, wird diese API automatisch im ausgewählten Flottenhostprojekt aktiviert. Weitere Informationen dazu finden Sie unter Nutzercluster in der Google Cloud Console erstellen. Bei diesem Ansatz können Sie sich als Clusterersteller automatisch mit Ihrer Google-Identität in Ihrem neuen Cluster in der Google Cloud Console anmelden. Für alle anderen Nutzer müssen Sie jedoch die Authentifizierung einrichten.

  1. Rufen Sie in der Google Cloud Console die Seite „GKE Enterprise-Cluster“ auf.

    Zur Seite „GKE Enterprise-Cluster“

  2. Wählen Sie das Google Cloud-Projekt aus, in dem Sie den Cluster erstellen möchten. Das ausgewählte Projekt wird auch Ihr Flotten-Hostprojekt sein. 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.

  3. Klicken Sie auf Cluster erstellen.

  4. Klicken Sie im Dialogfeld auf Lokal.

  5. Klicken Sie neben VMware vSphere auf Konfigurieren.

  6. Prüfen Sie die Voraussetzungen und klicken Sie auf Weiter.

Clustergrundlagen

  1. Geben Sie einen Namen für den Nutzercluster ein.
  2. Wählen Sie unter Administratorcluster den zuvor erstellten 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.

  3. 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
    • Logging-, Monitoring- und Audit-Daten für Systemkomponenten
  4. Wählen Sie die GKE on VMware-Version für Ihren Nutzercluster aus.

  5. 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. Für diese einfache Installation benötigt Ihr Cluster jeweils eine Adresse für drei Knoten und eine zusätzliche IP-Adresse, die während des Upgrades des Nutzerclusters für einen temporären Knoten verwendet werden kann.

  1. Legen Sie im Abschnitt Knoten-IP-Adressen Statisch als IP-Modus des Clusters fest.

  2. Verwenden Sie die zuvor geplanten Adressen für Ihre Nutzerclusterknoten und geben Sie die folgenden Informationen ein:

    1. Geben Sie die IP-Adresse des Gateways für den Nutzercluster ein.
    2. Geben Sie die Subnetzmaske für die Nutzerclusterknoten ein.
    3. Geben Sie im Abschnitt IP-Adressen die IP-Adressen und optional die Hostnamen für die Worker-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 GKE on VMware den Namen der VM aus vSphere als Hostname.
    4. Klicken Sie nach Bedarf auf + IP-Adresse hinzufügen, um weitere IP-Adressen einzugeben.

  3. Behalten Sie im Abschnitt Dienst- und Pod-CIDRs die Standardwerte bei, es sei denn, Sie müssen nicht standardmäßige Bereiche verwenden, wie unter Überschneidungen vermeiden beschrieben.

  4. Geben Sie im Abschnitt Hostkonfiguration die folgenden Informationen an:

    1. Geben Sie die IP-Adressen von DNS-Servern ein, die Ihr Nutzercluster verwenden kann.
    2. Geben Sie die IP-Adressen der NTP-Server ein.
  5. Klicken Sie auf Weiter, um zum Abschnitt Load-Balancer zu gelangen.

Load-Balancer

Konfigurieren Sie MetalLB als Load-Balancer.

  1. Lassen Sie für Load-Balancer-Typ den Wert MetalLB ausgewählt.

  2. 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. Dieser muss in dem Adresspool enthalten sein, den Sie im Abschnitt Adresspools angeben.

  3. Geben Sie im Abschnitt Adresspools einen Adresspool für den Load-Balancer an, einschließlich der virtuellen IP-Adresse für eingehenden Traffic. Dies sind die zuvor geplanten Dienst-VIPs.

    1. Klicken Sie auf + IP-Adressbereich hinzufügen.
    2. Geben Sie einen Namen für den Adresspool ein.
    3. Geben Sie den IP-Adressbereich entweder in CIDR-Notation (z. B. 192.0.2.0/26) oder in 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.
    4. Wählen Sie unter Zuweisung von IP-Adressen die Option Automatisch aus.
    5. Klicken Sie zum Schluss auf Fertig.
  4. Klicken Sie auf Weiter.

Steuerungsebene

Verwenden Sie die Standardwerte in diesem Abschnitt. Klicken Sie auf Weiter.

Produkte

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

  2. Klicken Sie auf Weiter.

Knotenpools

Der Cluster muss mindestens einen Knotenpool haben. 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.

Sie werden nach dem Erstellen automatisch im 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 beim Prüfen der Einstellungen ein Fehler auftritt, wird in der Google Cloud Console eine Fehlermeldung angezeigt. Diese sollte deutlich genug sein, damit Sie das Konfigurationsproblem beheben und noch einmal versuchen können, 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

Stellen Sie sicher, dass eine SSH-Verbindung zu Ihrer Administrator-Workstation wie oben beschrieben besteht, bevor Sie mit diesem Verfahren beginnen. Die folgenden Befehle werden auf der Administrator-Workstation ausgeführt.

Statische IP-Adressen für den Nutzercluster angeben

Erstellen Sie eine IP-Blockdatei mit dem Namen user-cluster-ipblock.yaml, um die statischen IP-Adressen anzugeben, die Sie für Ihre Nutzerclusterknoten zuvor geplant haben. 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. Einige der Felder sind bereits mit Standardwerten, generierten Werten oder Werten ausgefüllt, die Sie bei der Konfiguration Ihrer Administrator-Workstation angegeben haben, z. B. vCenter-Details: Ändern Sie diese Werte für diese einfache Installation nicht.

  1. Öffnen Sie user-cluster.yaml zum Bearbeiten.

  2. Füllen Sie die übrigen Felder wie unten beschrieben mit den zuvor erfassten Informationen aus. Wenn Sie sich nicht sicher sind, wie Felder formatiert werden sollen, finden Sie unten eine vollständige Beispielkonfigurationsdatei. Weitere Informationen finden Sie auch in der Referenz zur Konfigurationsdatei für Nutzercluster. Es kann sinnvoll sein, die Seite in einem separaten Tab oder Fenster geöffnet zu lassen, damit Sie beim Ausfüllen der Werte für die Felder darauf zurückgreifen können.

Feld oder Abschnitt Anleitung
name Der Name Ihrer Wahl für den Nutzercluster
network.hostConfig.dnsServers IP-Adressen für DNS-Server, die Ihre Cluster-VMs verwenden können.
network.hostConfig.ntpServers IP-Adressen für Zeitserver, die Ihre Cluster-VMs verwenden können.
network.ipMode.type Legen Sie für dieses Feld "static" fest.
network.ipMode.ipBlockFilePath Der Pfad zu user-cluster-ipblock.yaml.
network.serviceCIDR und network.podCIDR Ändern Sie diese Werte nur, wenn Sie nicht standardmäßige Bereiche verwenden müssen, wie unter Überschneidungen vermeiden beschrieben.
loadBalancer.vips.controlPlaneVIP Die virtuelle IP-Adresse (VIP), die Sie für den Kubernetes API-Server des Nutzerclusters ausgewählt haben.
loadBalancer.vips.ingressVIP Die virtuelle IP-Adresse, die auf dem Load-Balancer für den Ingress-Proxy konfiguriert werden soll.
loadbalancer.kind Legen Sie für dieses Feld "MetalLB" fest.
loadbalancer.metalLB.addressPools Geben Sie einen Adresspool für den Load-Balancer an. Dies sind die Dienst-VIPs, die Sie zuvor geplant haben. Geben Sie eine name für den Adresspool und den ausgewählten addresses an. Der Adresspool muss die virtuelle IP-Adresse des Proxy-Servers für eingehenden Traffic enthalten.
nodePools Verwenden Sie die vorab ausgefüllten Werte für einen einzelnen Knotenpool und geben Sie den ausgewählten Wert für name an. Legen Sie enableLoadBalancer für Ihren Knotenpool auf true fest. Dies ist für die Verwendung von MetalLB erforderlich, da es auf Ihren Clusterknoten ausgeführt wird.
antiAffinityGroups Legen Sie dieses Feld auf "false" fest
gkeConnect.projectID Geben Sie in dieses Feld die Projekt-ID Ihres Google-Projekts ein.
gkeConnect.registerServiceAccountKeyPath Geben Sie in dieses Feld den JSON-Schlüssel Ihres connect-register-Dienstkontos an.

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

  1. 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
    
  2. Nutzercluster erstellen:

    gkectl create cluster --kubeconfig kubeconfig --config user-cluster.yaml
    

    Die Erstellung eines Clusters dauert etwa 30 Minuten.

Suchen Sie die kubeconfig-Datei des Nutzerclusters

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

Nächste Schritte

Sie haben diese Mindestinstallation von GKE auf VMware jetzt abgeschlossen. Optional können Sie Ihre Installation in Aktion sehen, indem Sie eine Anwendung bereitstellen.