Admin- und Nutzercluster erstellen

Informationen zum Erstellen eines Administrator- und Nutzerclusters mit der grundlegenden Konfiguration

Bei den Schritten in diesem Thema wird davon ausgegangen, dass Sie zum Erstellen Ihrer Admin-Workstation gkeadm verwendet haben. Wenn Sie gkeadm nicht verwendet und stattdessen das erweiterte Thema Admin-Workstation mit einer statischen IP-Adresse erstellen verwendet haben, müssen Sie möglicherweise Anpassungen vornehmen, wie in den einzelnen Schritten erläutert. Für eine DHCP-Administrator-Workstation müssen Sie die entsprechende DHCP-Installationsanleitung verwenden.

Wenn Sie sich hinter einem Proxy befinden, verwenden alle gkectl-Befehle automatisch denselben Proxy, den Sie in Ihrer Konfigurationsdatei für Internetanfragen von der Administrator-Workstation festgelegt haben. Befindet sich Ihre Administrator-Workstation nicht hinter demselben Proxy, finden Sie weitere Informationen unter "Manuelle Proxy-Optionen" in den erweiterten Themen von Administrator-Workstation erstellen: Statische IP | DHCP.

SSH-Verbindung zu Ihrer Administrator-Workstation herstellen

Stellen Sie eine SSH-Verbindung zu Ihrer Administrator-Workstation her, indem Sie die Anweisungen unter Herstellen einer SSH-Verbindung zu Ihrer Administrator-Workstation befolgen.

Ihr Dienstkonto auf der weißen Liste ist auf Ihrer Administrator-Workstation aktiviert. Führen Sie alle verbleibenden Schritte in diesem Thema auf Ihrer Administrator-Workstation aus.

Statische IP-Adressen für Ihren Administratorcluster konfigurieren

Erstellen Sie eine Hostkonfigurationsdatei mit dem Namen admin-hostconfig.yaml, um die statischen IP-Adressen anzugeben, die Sie für Ihren Administratorcluster verwenden möchten. Für diese Übung müssen Sie fünf IP-Adressen angeben, die vom Administratorcluster verwendet werden sollen.

Im Folgenden finden Sie ein Beispiel für eine Hostkonfigurationsdatei mit fünf Hosts:

hostconfig:
  dns: 172.16.255.1
  tod: 216.239.35.0
  otherdns:
  - 8.8.8.8
  - 8.8.4.4
  othertod:
  - ntp.ubuntu.com
  searchdomainsfordns:
  - "my.local.com"
blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.10
      hostname: admin-host1
    - ip: 172.16.20.11
      hostname: admin-host2
    - ip: 172.16.20.12
      hostname: admin-host3
    - ip: 172.16.20.13
      hostname: admin-host4
    - ip: 172.16.20.14
      hostname: admin-host5

Das Feld ips enthält ein Array von IP-Adressen und Hostnamen. Dies sind die IP-Adressen und Hostnamen, die Anthos GKE On-Prem Ihren Administrator-Clusterknoten zuweist.

In der Hostkonfigurationsdatei geben Sie auch die Adressen der DNS-Server, Zeitserver und des Standard-Gateways an, das von den Knoten des Administratorclusters verwendet wird.

Das Feld searchdomainsfordns ist ein Array von DNS-Suchdomains, die im Cluster verwendet werden sollen. Diese Domains werden als Teil einer Domain-Suchliste verwendet.

Statische IP-Adressen für Ihren Nutzercluster konfigurieren

Erstellen Sie zur Angabe der statischen IP-Adressen, die Sie für Ihren Nutzercluster verwenden möchten, eine Hostkonfigurationsdatei mit dem Namen user-hostconfig.yaml.

Im Folgenden finden Sie ein Beispiel für eine Hostkonfigurationsdatei mit fünf Hosts:

hostconfig:
  dns: 172.16.255.1
  tod: 216.239.35.0
  otherdns:
  - 8.8.8.8
  - 8.8.4.4
  othertod:
  - ntp.ubuntu.com
  searchdomainsfordns:
  - "my.local.com"
blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.15
      hostname: user-host1
    - ip: 172.16.20.16
      hostname: user-host2
    - ip: 172.16.20.17
      hostname: user-host3

Das Feld ips enthält ein Array von IP-Adressen und Hostnamen. Dies sind die IP-Adressen und Hostnamen, die GKE On-Prem Ihren Nutzerclusterknoten zuweist.

In der Hostkonfigurationsdatei geben Sie auch die Adressen der DNS-Server, Zeitserver und des Standard-Gateways an, die von den Knoten des Nutzerclusters verwendet werden.

Das Feld searchdomainsfordns ist ein Array von DNS-Suchdomains, die im Cluster verwendet werden sollen. Diese Domains werden als Teil einer Domain-Suchliste verwendet.

Füllen Sie Felder in Ihrer GKE On-Prem-Konfigurationsdatei aus

Denken Sie daran, dass Sie beim Erstellen der Administrator-Workstation eine Konfigurationsdatei mit dem Namen admin-ws-config.yaml ausgefüllt haben. Das Befehlszeilentool gkeadm hat die Datei admin-ws-config.yaml zum Erstellen der Administrator-Workstation verwendet.

Wenn gkeadm Ihre Administrator-Workstation erstellt hat, wurde eine zweite Konfigurationsdatei mit dem Namen config.yaml generiert. Diese Konfigurationsdatei, die sich auf Ihrer Administrator-Workstation befindet, dient zum Erstellen von GKE On Prem-Clustern.

Die Dateien admin-ws-config.yaml und config.yaml haben häufig mehrere Felder gemeinsam. Die Werte für diese gemeinsamen Felder sind bereits in der Datei config.yaml ausgefüllt.

Die folgenden Felder sind bereits mit Werten gefüllt, die Sie beim Erstellen der Administrator-Workstation angegeben haben:

vcenter:
  credentials:
    address:
    username:
    password:
  datacenter:
  datastore:
  cluster:
  network:
  resourcepool:
  cacertpath:
gkeconnect:
  projectid:
  registerserviceaccountkeypath:
  agentserviceaccountkeypath:
stackdriver:
  projectid:
  serviceaccountkeypath:
gcrkeypath:

Den Rest Ihrer GKE On-Prem-Konfigurationsdatei ausfüllen

Als Nächstes müssen Sie die übrigen Felder in der Datei config.yaml ausfüllen.

bundlepath

Die GKE On-Prem-Bundle-Datei enthält alle Komponenten in einem bestimmten GKE On-Prem-Release. Legen Sie den Wert von bundlepath auf den Pfad der Bundle-Datei der Administrator-Workstation fest.

bundlepath: /var/lib/gke/bundles/gke-onprem-vsphere-1.4.0-gke.13-full.tgz

vcenter.datadisk

GKE On-Prem erstellt ein VM-Laufwerk (VMDK), das die Kubernetes-Objektdaten für den Administratorcluster enthält. Das Installationsprogramm erstellt das VMDK für Sie, aber Sie müssen im Feld vcenter.datadisk einen Namen für das VMDK angeben. Beispiel:

vcenter:
  ...
  datadisk: "my-disk.vmdk"
vSAN-Datenspeicher: einen Ordner für das VMDK erstellen

Wenn Sie einen vSAN-Datenspeicher verwenden, müssen Sie die VMDK in einem Ordner ablegen. Sie müssen den Ordner im Voraus manuell erstellen. Erstellen Sie dazu mit govc einen Ordner:

govc datastore.mkdir -namespace=true my-gke-on-prem-folder

Setzen Sie vcenter.datadisk auf den Pfad des Zertifikats der Zertifizierungsstelle. Beispiel:

vcenter:
...
datadisk: "my-gke-on-prem-folder/my-disk.vmdk"

In Version 1.1.1 ist es aufgrund eines bekannten Problems erforderlich, dass Sie den UUID (Universally Unique Identifier) des Ordners anstelle seines Pfads angeben.

proxy

Wenn sich Ihr Netzwerk hinter einem Proxyserver befindet, müssen Sie die Proxyadresse und alle Adressen angeben, die nicht über den Proxyserver geleitet werden sollen.

Legen Sie proxy.url fest, um die HTTP-Adresse Ihres Proxyservers anzugeben. Sie müssen die Portnummer angeben, auch wenn sie mit dem Standardport des Schemas identisch ist. Der hier angegebene Proxyserver wird von Ihren GKE On-Prem-Clustern verwendet. Außerdem wird Ihre Admin-Workstation automatisch so konfiguriert, dass sie denselben Proxyserver verwendet, sofern Sie nicht die Umgebungsvariable HTTPS_PROXY auf Ihrer Admin-Workstation festlegen.

Legen Sie proxy.noproxy fest, um eine Liste von IP-Adressen, IP-Adressbereichen, Hostnamen und Domainnamen zu definieren, die nicht über den Proxyserver gehen sollen. Wenn GKE On-Prem eine Anfrage an eine dieser Adressen, Hosts oder Domains sendet, wird diese Anfrage direkt gesendet.

Beispiel:

proxy:
  url: "http://my-proxy.example.local:80"
  noproxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"

admincluster.ipblockfilepath

Da Sie statische IP-Adressen verwenden, benötigen Sie eine Hostkonfigurationsdatei, wie unter Statische IP-Adressen konfigurieren beschrieben. Geben Sie den Pfad zu Ihrer Hostkonfigurationsdatei im Feld admincluster.ipblockfilepath ein. Beispiel:

admincluster:
  ipblockfilepath: "/my-config-directory/admin-hostconfig.yaml"

admincluster.bigip.credentials

GKE On-Prem benötigt die IP-Adresse oder den Hostnamen, den Nutzernamen und das Passwort Ihres F5 BIG-IP-Load-Balancers. Legen Sie die Werte unter admincluster.bigip fest, um diese Informationen anzugeben. Fügen Sie einen Anchor von &bigip-credentials nach credentials ein, sodass Sie diese Informationen nicht im Abschnitt usercluster wiederholen müssen. Beispiel:

admincluster:
  ...
  bigip:
    credentials: &bigip-credentials
      address: "203.0.113.2"
      username: "my-admin-f5-name"
      password: "rJDlm^%7aOzw"

admincluster.bigip.partition

Zuvor haben Sie eine BIG-IP-Partition für Ihren Administratorcluster erstellt. Setzen Sie admincluster.bigip.partition auf den Namen Ihrer Partition. Beispiel:

admincluster:
  ...
  bigip:
    partition: "my-admin-f5-partition"

admincluster.vips

Setzen Sie den Wert von admincluster.vips.controlplanevip auf die IP-Adresse, die Sie für den Load-Balancer für den Kubernetes API-Server des Administratorclusters konfiguriert haben. Legen Sie den Wert von ingressvip auf die IP-Adresse fest, die Sie auf dem Load-Balancer für den Ingress-Dienst des Administratorclusters konfiguriert haben. Beispiel:

admincluster:
  ...
  vips:
    controlplanevip: 203.0.113.3
    ingressvip: 203.0.113.4

admincluster.serviceiprange und admincluster.podiprange

Der Administratorcluster muss einen Bereich von IP-Adressen für Dienste und einen Bereich von IP-Adressen für Pods haben. Diese Bereiche werden durch die Felder admincluster.serviceiprange und admincluster.podiprange angegeben. Diese Felder werden ausgefüllt, wenn Sie gkectl create-config ausführen. Wenn Sie möchten, können Sie die Werte in Werte Ihrer Wahl ändern.

Die Dienst- und Pod-Bereiche dürfen sich nicht überschneiden. Außerdem dürfen sich die Dienst- und Pod-Bereiche nicht mit IP-Adressen überschneiden, die für Knoten in einem Cluster verwendet werden.

Beispiel:

admincluster:
  ...
  serviceiprange: 10.96.232.0/24
  podiprange: 192.168.0.0/16

usercluster.ipblockfilepath

Da Sie statische IP-Adressen verwenden, benötigen Sie eine Hostkonfigurationsdatei, wie unter Statische IP-Adressen konfigurieren beschrieben. Geben Sie den Pfad zu Ihrer Hostkonfigurationsdatei im Feld usercluster.ipblockfilepath ein. Beispiel:

usercluster:
  ipblockfilepath: "/my-config-directory/user-hostconfig.yaml"

usercluster.bigip.credentials

Fügen Sie eine Referenz, *bigip-credentials, nach usercluster.bigip.credentials ein, um dieselben address, username und password zu verwenden, die Sie in admincluster.bigip.credentials angegeben haben. Beispiel:

usercluster:
  ...
  bigip:
    credentials: *bigip-credentials

usercluster.bigip.partition

Zuvor haben Sie eine BIG-IP-Partition für Ihren Nutzercluster erstellt. Setzen Sie usercluster.bigip.partition auf den Namen Ihrer Partition. Beispiel:

usercluster:
  ...
  bigip:
    partition: "my-user-f5-partition"
  ...

usercluster.vips

Legen Sie den Wert von usercluster.vips.controlplanevip auf die IP-Adresse fest, die Sie für den Load-Balancer für den Kubernetes API-Server des Nutzerclusters konfiguriert haben. Legen Sie den Wert von ingressvip auf die IP-Adresse fest, die Sie auf dem Load-Balancer für den Ingress-Dienst des Nutzerclusters konfiguriert haben. Beispiel:

usercluster:
  ...
  vips:
    controlplanevip: 203.0.113.6
    ingressvip: 203.0.113.7

usercluster.serviceiprange und usercluster.podiprange

Der Nutzercluster muss einen IP-Adressbereich für Dienste und einen IP-Adressbereich für Pods haben. Diese Bereiche werden durch die Felder usercluster.serviceiprange und usercluster.podiprange angegeben. Diese Felder werden ausgefüllt, wenn Sie gkectl create-config ausführen. Wenn Sie möchten, können Sie die Werte in Werte Ihrer Wahl ändern.

Die Dienst- und Pod-Bereiche dürfen sich nicht überschneiden. Außerdem dürfen sich die Dienst- und Pod-Bereiche nicht mit IP-Adressen überschneiden, die für Knoten in einem Cluster verwendet werden.

Beispiel:

usercluster:
  ...
  serviceiprange: 10.96.233.0/24
  podiprange: 172.16.0.0/12

VMware DRS-Anti-Affinitätsregeln deaktivieren

GKE On-Prem erstellt automatisch die DRS-Anti-Affinitätsregeln (Distributed Resource Scheduler) für die Knoten Ihres Nutzerclusters, wodurch sie auf mindestens drei physische Hosts in Ihrem Rechenzentrum verteilt werden.

Für diese Funktion muss die vSphere-Umgebung die folgenden Bedingungen erfüllen:

  • VMware DRS ist aktiviert. Für BlackBerry DRS ist die vplaner Enterprise Plus-Lizenzversion erforderlich. Informationen zum Aktivieren von DRS finden Sie unter BlackBerry DRS in einem Cluster aktivieren.
  • Das vSphere-Nutzerkonto im Feld vcenter hat die Berechtigung Host.Inventory.EditCluster.
  • Es sind mindestens drei physische Hosts verfügbar.

Denken Sie daran, dass Sie mit einer vSphere-Standardlizenz keine VMware-DRS aktivieren können.

Wenn Sie DRS nicht aktiviert haben oder nicht mindestens drei Hosts haben, für die vSphere VMs geplant werden können, fügen Sie Ihrer Konfigurationsdatei usercluster.antiaffinitygroups.enabled: false hinzu. Beispiel:

usercluster:
  ...
  antiaffinitygroups:
    enabled: false

Weitere Informationen finden Sie in den Versionshinweisen für Version 1.1.0-gke.6.

lbmode

Setzen Sie lbmode auf "Integrated". Beispiel:

lbmode: "Integrated"

stackdriver.clusterlocation

Legen Sie stackdriver.clusterlocation für eine Google Cloud-Region fest, in der Logs gespeichert werden sollen. Es empfiehlt sich, eine Region in der Nähe Ihres lokalen Rechenzentrums auszuwählen.

stackdriver.enablevpc

Setzen Sie stackdriver.enablevpc auf true, wenn das Netzwerk Ihres Clusters durch eine VPC gesteuert wird. So wird sichergestellt, dass alle Telemetriedaten über die eingeschränkten IP-Adressen von Google übertragen werden.

Zusätzliche Felder in der Konfigurationsdatei

Die Konfigurationsdatei von GKE On-Premise enthält zusätzlich zu den in diesem Thema gezeigten Feldern mehrere Felder. Sie können beispielsweise das Feld manuallbspec verwenden, um GKE On-Prem für die Ausführung im manuellen Load-Balancing-Modus zu konfigurieren.

Eine vollständige Beschreibung der Felder in der Konfigurationsdatei finden Sie unter Installation mit DHCP und Installation mit statischen IP-Adressen.

Konfigurationsdatei validieren

Nachdem Sie die Konfigurationsdatei geändert haben, führen Sie gkectl check-config aus, um zu verifizieren, ob die Datei gültig ist und für die Installation verwendet werden kann:

gkectl check-config --config config.yaml

Wenn der Befehl FAILURE-Meldungen zurückgibt, beheben Sie die Probleme und validieren Sie die Datei noch einmal.

Wenn Sie die zeitaufwendigeren Validierungen überspringen möchten, geben Sie das Flag --fast weiter. Um einzelne Validierungen zu überspringen, verwenden Sie die Flags --skip-validation-xxx. Weitere Informationen zum Befehl check-config finden Sie unter Preflight-Prüfungen ausführen.

gkectl prepare ausführen

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

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

Administrator- und Nutzercluster erstellen

  1. Erstellen Sie den Administratorcluster und den Nutzercluster mit dem Befehl gkectl create cluster.

    gkectl create cluster --config config.yaml --skip-validation-all

    Der Befehl gkectl create cluster erstellt kubeconfig-Dateien mit dem Namen [CLUSTER_NAME]-kubeconfig im aktuellen Verzeichnis, wobei [CLUSTER_NAME] der Name ist, den Sie für cluster festgelegt haben. Beispiel: MY-CLUSTER-kubeconfig

    Die GKE-On-Prem-Dokumentation verwendet die folgenden Platzhalter, um auf diese kubeconfig-Dateien zu verweisen:

    • Administratorcluster: [ADMIN_CLUSTER_KUBECONFIG]
    • Nutzercluster: [USER_CLUSTER_KUBECONFIG]
  2. Prüfen Sie, ob der Cluster erstellt und ausgeführt wird:

    1. Führen Sie den folgenden Befehl aus, um den Administratorcluster zu überprüfen:

      kubectl get nodes --kubeconfig [ADMIN_CLUSTER_KUBECONFIG]

      Die Ausgabe zeigt die Knoten des Administratorclusters.

    2. Führen Sie den folgenden Befehl aus, um den Nutzercluster zu prüfen:

      kubectl get nodes --kubeconfig [USER_CLUSTER_KUBECONFIG]

      Die Ausgabe zeigt die Knoten des Nutzerclusters. Beispiel:

      NAME                        STATUS   ROLES    AGE   VERSION
      xxxxxx-1234-ipam-15008527   Ready    <none>   12m   v1.14.7-gke.24
      xxxxxx-1234-ipam-1500852a   Ready    <none>   12m   v1.14.7-gke.24
      xxxxxx-1234-ipam-15008536   Ready    <none>   12m   v1.14.7-gke.24
      

    Tipp: Wenn Ihre Cluster registriert sind, können Sie sich in der Cloud Console anmelden, um zu prüfen, ob sie erfolgreich erstellt wurden.

Fahren Sie mit dem nächsten Abschnitt fort, um zu erfahren, wie Sie eine Anwendung in Ihrem Nutzercluster bereitstellen.