Administratorcluster erstellen

In diesem Dokument wird gezeigt, wie Sie einen Administratorcluster für Anthos-Cluster auf VMware (GKE On-Prem) erstellen. Der Administratorcluster führt die Kubernetes-Steuerungsebene für den Administratorcluster selbst und für die zugehörigen Nutzercluster aus. Sie müssen einen Administratorcluster erstellen, bevor Sie Nutzercluster zum Ausführen Ihrer Arbeitslasten erstellen.

Weitere Informationen zum Administratorcluster finden Sie in der Installationsübersicht.

Verfahrensübersicht

Dies sind die primären Schritte zum Erstellen eines Administratorclusters:

  1. Stellen Sie eine Verbindung zu Ihrer Administrator-Workstation her.
    Diese VM hat die erforderlichen Tools, um neue Cluster zu erstellen.
  2. Füllen Sie Ihre Konfigurationsdateien aus.
    Geben Sie die Details für den neuen Administratorcluster an, indem Sie eine Konfigurationsdatei für den Administratorcluster, eine Konfigurationsdatei für die Anmeldedaten und möglicherweise eine IP-Blockdatei ausfüllen und validieren.
  3. Importieren Sie Betriebssystem-Images in vSphere und übertragen Sie Container-Images gegebenenfalls in die private Registry.
    Führen Sie gkectl prepare aus.
  4. (Optional) Erstellen Sie einen Seesaw-Load-Balancer.
    Wenn Sie sich für die Verwendung des Seesaw-Load-Balancers entschieden haben, führen Sie gkectl create loadbalancer aus.
  5. Erstellen Sie einen Administratorcluster.
    Erstellen Sie mit gkectl einen neuen Administratorcluster, wie in den Konfigurationsdateien angegeben. Die onprem-admin-cluster-controller im temporären Bootstrap-Cluster verwaltet die Erstellung des Administratorclusters.
  6. Prüfen Sie, ob der Administratorcluster ausgeführt wird.
    Rufen Sie mit kubectl die Clusterknoten auf.

Am Ende dieses Verfahrens haben Sie einen laufenden Administratorcluster, mit dem Sie Nutzercluster erstellen und verwalten können.

Hinweise

  • Sie müssen eine Administrator-Workstation erstellt haben.

  • Lesen Sie das Dokument zur Planung der IP-Adressen. Achten Sie darauf, dass genügend IP-Adressen verfügbar sind, und prüfen Sie noch einmal, wie die Clusterknoten ihre IP-Adressen bestimmen sollen: über DHCP oder statisch. Wenn Sie statische IP-Adressen verwenden möchten, müssen Sie eine IP-Blockdatei ausfüllen, die die von Ihnen ausgewählten Adressen enthält.

  • Lesen Sie die Übersicht über das Load-Balancing und prüfen Sie noch einmal Ihre Entscheidung, welche Art von Load-Balancer Sie verwenden möchten. Bei bestimmten Load-Balancern müssen Sie den Load-Balancer einrichten, bevor Sie Ihren Administratorcluster erstellen.

  • Sehen Sie sich den Abschnitt privateRegistry an und entscheiden Sie, ob Sie eine öffentliche oder private Registry für Anthos-Cluster auf VMware-Komponenten verwenden möchten.

  • Sehen Sie sich das Feld osImageType an und entscheiden Sie, welche Art von Betriebssystem Sie auf Ihren Administratorclusterknoten ausführen möchten.

1) Verbindung zu Ihrer Administrator-Workstation herstellen

Folgen Sie der Anleitung zum Abrufen einer SSH-Verbindung zu Ihrer Administrator-Workstation. Die Administrator-Workstation bietet die Tools, die Sie zum Erstellen Ihres Administratorclusters benötigen. Auf der Administrator-Workstation ist auch das Dienstkonto für den Komponentenzugriff aktiviert.

Führen Sie alle verbleibenden Schritte in diesem Thema auf Ihrer Administrator-Workstation im Basisverzeichnis aus.

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

Machen Sie sich mit der Konfigurationsdatei vertraut, indem Sie sich das Dokument zur Administratorcluster-Konfigurationsdatei ansehen. Möglicherweise möchten Sie dieses Dokument in einem separaten Tab oder Fenster geöffnet lassen, da Sie sich beim Ausführen der folgenden Schritte darauf beziehen.

name

Wenn Sie einen Namen für den Administratorcluster angeben möchten, füllen Sie das Feld name aus.

bundlePath

Das Bundle ist eine komprimierte Datei, die Clusterkomponenten enthält. Es ist in der Administrator-Workstation enthalten. Dieses Feld ist bereits für Sie ausgefüllt.

vCenter

Die meisten Felder in diesem Abschnitt sind bereits mit den Werten gefüllt, die Sie beim Erstellen der Administrator-Workstation eingegeben haben. Eine Ausnahme ist das Feld dataDisk, das Sie jetzt ausfüllen müssen.

network

Legen Sie fest, wie die Clusterknoten ihre IP-Adressen abrufen sollen. Folgende Optionen sind verfügbar:

  • Von einem DHCP-Server, den Sie im Voraus eingerichtet haben. Legen Sie network.ipMode.type auf "dhcp" fest.

  • Aus einer Liste der von Ihnen angegebenen statischen IP-Adressen. Legen Sie network.ipMode.type auf "static" fest und erstellen Sie eine IP-Blockdatei, die die statischen IP-Adressen bereitstellt. Ein Beispiel für eine IP-Blockdatei finden Sie unter Beispiel für ausgefüllte Konfigurationsdateien.

Füllen Sie bei Bedarf die restlichen Felder im Netzwerkabschnitt der Konfigurationsdatei aus:

  • Wenn Sie statische IP-Adressen für Ihre Clusterknoten verwenden möchten, sind das Feld network.ipMode.ipBlockFilePath und der Abschnitt network.hostconfig erforderlich. Der Abschnitt network.hostconfig enthält Informationen zu NTP-Servern, DNS-Servern und DNS-Suchdomains, die von Ihren Clusterknoten verwendet werden.

    Wenn Sie den Seesaw-Load-Balancer verwenden, ist der Abschnitt network.hostconfig erforderlich, auch wenn Sie DHCP für Ihre Clusterknoten verwenden möchten.

  • Die Felder network.podCIDR und network.serviceCIDR haben bereits ausgefüllte Werte, die Sie unverändert lassen können, sofern sie nicht mit Adressen in Konflikt stehen, die bereits in Ihrem Netzwerk verwendet werden. Kubernetes verwendet diese Bereiche, um den Pods und Services in Ihrem Cluster IP-Adressen zuzuweisen.

Unabhängig davon, ob Sie einen DHCP-Server verwenden oder eine Liste statischer IP-Adressen angeben, müssen Sie für Ihre Administratorclusterknoten genügend IP-Adressen haben. Dies schließt die Knoten im Administratorcluster ein, die die Steuerungsebenen für alle zugehörigen Nutzercluster ausführen. Wie viele IP-Adressen Sie benötigen, erfahren Sie unter IP-Adressen planen.

loadBalancer

Legen Sie eine VIP für den Kubernetes API-Server Ihres Administratorclusters fest. Legen Sie eine andere VIP für den Add-on-Server fest. Geben Sie Ihre VIPs als Werte für loadBalancer.vips.controlPlaneVIP und loadBalancer.vips.addonsVIP an.

Weitere Informationen finden Sie unter VIPs im Subnetz des Administratorclusters.

Entscheiden Sie, welche Art von Load-Balancing Sie verwenden möchten. Folgende Optionen sind verfügbar:

  • Gebündeltes MetalLB-Load-Balancing. Legen Sie loadBalancer.kind auf "MetalLB" fest.

  • Gebündeltes Seesaw-Load-Balancing. Legen Sie loadBalancer.kind auf "Seesaw" fest und füllen Sie den Abschnitt loadBalancer.seesaw aus.

  • Integriertes Load-Balancing mit F5 BIG-IP. Legen Sie loadBalancer.kind auf "F5BigIP" fest und füllen Sie den Abschnitt f5BigIP aus.

  • Manuelles Load-Balancing. Legen Sie loadBalancer.kind auf "ManualLB" fest und füllen Sie den Abschnitt manualLB aus.

Weitere Informationen zu den Load-Balancing-Optionen finden Sie unter Load-Balancing – Übersicht.

antiAffinityGroups

Legen Sie antiAffinityGroups.enabled entsprechend Ihren Anforderungen auf true oder false fest.

Verwenden Sie dieses Feld, um anzugeben, ob Anthos-Cluster auf VMware DRS-Anti-Affinitätsregeln (Distributed Resource Scheduler) für Ihre Administratorclusterknoten erstellen soll, wodurch sie auf mindestens drei physische Hosts in Ihrem Rechenzentrum verteilt werden.

adminMaster

Wenn Sie CPU und Arbeitsspeicher für den Knoten der Steuerungsebene des Administratorclusters angeben möchten, füllen Sie den adminMaster aus.

addonNode

Legen Sie addonNode.autoResize.enabled entsprechend Ihren Anforderungen auf true oder false fest.

proxy

Wenn sich das Netzwerk mit den Knoten des Administratorclusters hinter einem Proxyserver befindet, füllen Sie den Abschnitt proxy aus.

privateRegistry

Entscheiden Sie, wo Sie Container-Images für die Anthos-Cluster auf VMware-Komponenten beibehalten möchten. Folgende Optionen sind verfügbar:

  • Container Registry

  • Ihre eigene private Docker-Registry.

Wenn Sie Ihre eigene private Registry verwenden möchten, füllen Sie den Abschnitt privateRegistry aus.

componentAccessServiceAccountKeyPath

Anthos-Cluster auf VMware verwendet Ihr Dienstkonto für den Komponentenzugriff, um Clusterkomponenten aus Container Registry herunterzuladen. Dieses Feld enthält den Pfad einer JSON-Schlüsseldatei für Ihr Dienstkonto für den Komponentenzugriff.

Dieses Feld ist bereits für Sie ausgefüllt.

gkeConnect

Registrieren Sie Ihren Administratorcluster für eine Google Cloud-Flotte. Füllen Sie dazu den Abschnitt gkeConnect aus.

stackdriver

Wenn Sie Cloud Logging und Cloud Monitoring für Ihren Cluster aktivieren möchten, füllen Sie den Abschnitt stackdriver aus.

Dieser Abschnitt ist standardmäßig erforderlich. Das heißt, wenn Sie diesen Abschnitt nicht ausfüllen, müssen Sie beim Ausführen von gkectl create admin das Flag --skip-validation-stackdriver angeben.

cloudAuditLogging

Wenn Sie die Audit-Logs des Kubernetes API-Servers Ihres Clusters in Cloud-Audit-Logs einbinden möchten, füllen Sie den Abschnitt cloudAuditLogging aus.

clusterBackup

Wenn Sie die Sicherung des Administratorclusters aktivieren möchten, legen Sie clusterBackup.datastore auf den vSphere-Datenspeicher fest, in dem Sie Clustersicherungen speichern möchten.

autoRepair

Wenn Sie die automatische Knotenreparatur für Ihren Administratorcluster aktivieren möchten, legen Sie autoRepair.enabled auf true fest.

secretsEncryption

Wenn Sie die immer aktive Secret-Verschlüsselung aktivieren möchten, füllen Sie den Abschnitt secretsEncryption aus.

osImageType

Wählen Sie aus, welche Art von Betriebssystem-Image Sie für die Administratorclusterknoten verwenden möchten, und füllen Sie den Abschnitt osImageType entsprechend aus.

Beispiel für ausgefüllte Konfigurationsdateien

Hier ist ein Beispiel für eine ausgefüllte IP-Blockdatei und eine ausgefüllte Administratorcluster-Konfigurationsdatei. Die Konfiguration aktiviert einige, aber nicht alle verfügbaren Features.

vc-01-ipblock.yaml

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
    - ip: 172.16.20.15
      hostname: admin-host6
    - ip: 172.16.20.16
      hostname: admin-host7
    - ip: 172.16.20.17
      hostname: admin-host8

vc-01-admin-cluster.yaml

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: "vc-01-pool-1"
  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"
    ipBlockFilePath: "vc-01-ipblock.yaml"
  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: true
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
clusterBackup:
  datastore: "vc-01-datastore-bu"
autoRepair:
  enabled: true
osImageType: "ubuntu_containerd"

Konfigurationsdatei validieren

Nachdem Sie die Konfigurationsdatei des Administratorclusters ausgefüllt haben, führen Sie gkectl check-config aus, um zu prüfen, ob die Datei gültig ist:

gkectl check-config --config ADMIN_CLUSTER_CONFIG

Ersetzen Sie ADMIN_CLUSTER_CONFIG durch den Pfad Ihrer Konfigurationsdatei für den Administratorcluster.

Wenn der Befehl Fehlermeldungen 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.

3. Betriebssystem-Images abrufen

Führen Sie gkectl prepare aus, um Ihre vSphere-Umgebung zu initialisieren:

gkectl prepare --config ADMIN_CLUSTER_CONFIG

Mit dem Befehl gkectl prepare werden folgende vorbereitende Aufgaben ausgeführt:

  • Die Betriebssystem-Images werden in vSphere importiert und als VM-Vorlagen markiert.

  • Wenn Sie eine private Docker-Registry verwenden, werden die Container-Images in Ihre Registry übertragen.

  • Optional werden die Build-Attestierungen der Container-Images validiert, um sicherzustellen, dass die Images von Google erstellt und signiert wurden und bereit für die Bereitstellung sind.

4. (Optional) Seesaw-Load-Balancer erstellen

Beachten Sie, dass Sie mehrere Load-Balancing-Optionen für Ihren Administratorcluster haben: Metal LB, Seesaw, F5 BIG-IP oder manuell.

Wenn Sie den Seesaw-Load-Balancer verwenden möchten, führen Sie den Schritt in diesem Abschnitt aus. Andernfalls können Sie diesen Abschnitt überspringen.

Erstellen und konfigurieren Sie die VMs für den Seesaw-Load-Balancer:

gkectl create loadbalancer --config ADMIN_CLUSTER_CONFIG

5 Erstellen Sie den Administratorcluster.

Erstellen Sie den Administratorcluster:

gkectl create admin --config ADMIN_CLUSTER_CONFIG

Erstellung des 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_CONFIG

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.

Die kubeconfig-Datei enthält den Namen Ihres Administratorclusters. Führen Sie folgenden Befehl aus, um den Clusternamen aufzurufen:

kubectl config get-clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Die Ausgabe zeigt den Namen des Clusters. Beispiel:

NAME
gke-admin-tqk8x

Wenn Sie möchten, können Sie den Namen und den Speicherort der kubeconfig-Datei ändern.

Verwalten Sie die Datei checkpoint.yaml:

Wenn Sie den Befehl gkectl create admin zum Erstellen des Administratorclusters ausgeführt haben, wird eine Prüfpunktdatei im selben Datenspeicherordner wie das Datenlaufwerk des Administratorclusters erstellt. Standardmäßig hat diese Datei den Namen DATA_DISK_NAME‑checkpoint.yaml. Wenn die Länge von DATA_DISK_NAME größer oder gleich 245 Zeichen ist, lautet der Name aufgrund des vSphere-Limits für die Dateinamenlänge DATA_DISK_NAME.yaml.

Diese Datei enthält den Status des Administratorclusters und die Anmeldedaten. Sie wird für zukünftige Upgrades verwendet. Löschen Sie diese Datei nur, wenn Sie die Schritte zum Löschen eines Administratorclusters ausführen.

Wenn Sie die VM-Verschlüsselung in Ihrer Instanz von vCenter Server aktiviert haben, benötigen Sie die Berechtigung Kryptografische Vorgänge.Direktzugriff, bevor Sie Ihren Administratorcluster erstellen oder aktualisieren. Andernfalls wird der Prüfpunkt nicht hochgeladen. Wenn Sie diese Berechtigung nicht erhalten, können Sie das Hochladen der Prüfpunktdatei mithilfe des ausgeblendeten Flags --disable-checkpoint deaktivieren, wenn Sie einen relevanten Befehl ausführen.

Die Datei checkpoint.yaml wird automatisch aktualisiert, wenn Sie den Befehl gkectl upgrade admin ausführen oder wenn Sie einen gkectl update-Befehl ausführen, der sich auf den Administratorcluster auswirkt.

6. Prüfen Sie, ob der Administratorcluster ausgeführt wird

Prüfen Sie, ob der Administratorcluster ausgeführt wird:

kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Ersetzen Sie ADMIN_CLUSTER_KUBECONFIG durch den Pfad der kubeconfig-Datei des Administratorclusters.

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

Fehlerbehebung

Siehe Fehlerbehebung beim Erstellen und Upgraden von Clustern.

Nächste Schritte

Nutzercluster erstellen