Einfache Cluster erstellen

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:

  1. Erstellen Sie eine Administrator-Workstation.

  2. Administratorcluster auf Ihrer Administrator-Workstation erstellen

  3. 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:

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-Projekts
  • ACCOUNT: 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.

  1. Rufen Sie in der Google Cloud Console die Anthos-Seite Cluster auf.

    Zur Seite "Anthos-Cluster"

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

  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 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
    • Cloud Logging- und Cloud Monitoring-Daten von Systemkomponenten
    • Das von Cloud-Audit-Logs erstellte Administrator-Audit-Log
  4. Wählen Sie die Anthos-Cluster auf VMware-Version des Nutzerclusters 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. 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?.

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

  2. 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:

    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 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.
    4. Klicken Sie nach Bedarf auf + IP-Adresse hinzufügen, um weitere IP-Adressen einzugeben.

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

  4. Wenn Sie Statischer IP-Modus ausgewählt haben, geben Sie die folgenden Informationen im Abschnitt Hostkonfiguration an:

    1. Geben Sie die IP-Adressen der DNS-Server ein.
    2. Geben Sie die IP-Adressen der NTP-Server ein.
    3. Geben Sie optional DNS-Suchdomains 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. Sie müssen dies einem Adresspool im Abschnitt Adresspools hinzufügen.

  3. Geben Sie im Abschnitt Adresspools einen Adresspool für die Ingress-VIP an.

    1. Klicken Sie auf + IP-Adressbereich hinzufügen.
    2. Geben Sie einen Namen für den Adresspool ein.
    3. 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.
    4. 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.
    5. 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.

    6. Wiederholen Sie diese Schritte für alle Suchabfragen, für die dies erforderlich ist. Klicken Sie zum Schluss auf Fertig.

  4. Klicken Sie auf Weiter.

Steuerungsebene

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

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

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

  1. Rufen Sie eine SSH-Verbindung zu Ihrer Administrator-Workstation ab:

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

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

  2. Ö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.

  3. Geben Sie für name einen Namen Ihrer Wahl für den Nutzercluster an.

Felder im Netzwerkabschnitt ausfüllen

  1. Geben Sie im Abschnitt network.hostConfig IP-Adressen für die folgenden Felder ein:

    dnsServers:
    ntpServers:
    
  2. Setzen Sie network.ipMode.type auf "static".

  3. Setzen Sie network.ipMode.ipBlockFilePath auf "user-cluster-ipblock.yaml".

  4. Geben Sie die Standardwerte für network.serviceCIDR und network.podCIDR ein oder behalten Sie sie bei.

Felder im Load-Balancer-Abschnitt ausfüllen

  1. Füllen Sie die folgenden Felder unter loadBalancer.vips aus:

    controlPlaneVIP:
    ingressVIP:
    
  2. Setzen Sie loadBalancer.kind auf "MetalLB".

  3. Füllen Sie loadBalancer.metalLB aus. Weitere Informationen finden Sie unter Gebündeltes Load-Balancing mit MetalLB.

  4. Legen Sie für mindestens einen Ihrer Knotenpools enableLoadBalancer auf true fest. Weitere Informationen finden Sie unter Gebündeltes Load-Balancing mit MetalLB.

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

  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.

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

Nächste Schritte

Anwendung bereitstellen