Nutzercluster erstellen (einfach)

Auf dieser Seite wird gezeigt, wie Sie einen Nutzercluster erstellen.

Bei den Schritten in diesem Thema wird davon ausgegangen, dass Sie gkeadm zum Erstellen Ihrer Administrator-Workstation verwendet haben. Wenn Sie gkeadm nicht verwendet haben, sondern stattdessen die Schritte unter Administrator-Workstation mit einer statischen IP-Adresse erstellen ausgeführt haben, müssen Sie beim Durcharbeiten dieses Themas verschiedene Anpassungen vornehmen. In den einzelnen Schritten werden die erforderlichen Anpassungen erläutert.

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 Proxyoptionen" in den Themen der erweiterten Installationsanleitung: Statische IP-Adresse | DHCP.

SSH-Verbindung zur Administrator-Workstation herstellen

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

Ihr Dienstkonto auf der Zulassungsliste 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 den 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. Für diese Anleitung müssen Sie drei IP-Adressen angeben, die vom Nutzercluster verwendet werden sollen.

Im Folgenden finden Sie ein Beispiel für eine Hostkonfigurationsdatei mit drei 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 Standardgateways 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 Domainsuchliste verwendet.

Ausgefüllte Felder in Ihrer Konfigurationsdatei

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

Beim Erstellen der Administrator-Workstation hat gkeadm eine weitere Konfigurationsdatei mit dem Namen user-cluster.yaml generiert. Diese Konfigurationsdatei, die sich auf Ihrer Administrator-Workstation befindet, dient zum Erstellen Ihres Nutzerclusters.

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

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

stackdriver:
  projectID:
  serviceAccountKeyPath:
gkeConnect:
  projectID:
  registerServiceAccountKeyPath:
  agentServiceAccountKeyPath:

Werte für die übrigen Felder der Konfigurationsdatei eintragen

Als Nächstes füllen Sie die verbleibenden Felder der Datei user-cluster.yaml aus.

name

String. Ein Name Ihrer Wahl für den Nutzercluster. Beispiel:

name: "my-user-cluster"

gkeOnPremVersion

String. Die GKE On-Prem-Version für Ihren Nutzercluster. Beispiel:

gkeOnPremVersion: "1.4.3-gke.3"

network.ipMode.type

String. Legen Sie für dieses Feld "static" fest.

network:
  ipMode:
    type: "static"

network.ipBlockFilePath

String. Da Sie statische IP-Adressen verwenden, benötigen Sie eine Hostkonfigurationsdatei, wie unter Statische IP-Adressen konfigurieren beschrieben. Legen Sie network.ipBlockFilePath auf den Pfad der Hostkonfigurationsdatei fest. Beispiel:

network:
  ipBlockFilePath: "/my-config-directory/admin-hostconfig.yaml"

network.serviceCIDR und network.podCiDR

Strings. Der Nutzercluster muss einen IP-Adressbereich für Dienste und einen IP-Adressbereich für Pods haben. Diese Bereiche werden durch die Felder network.serviceCIDR und network.podCIDR angegeben. In diese Felder werden Standardwerte eingefügt. Sie können die Werte auch ändern.

Die Bereich für Dienste und Pods dürfen sich nicht überschneiden. Außerdem dürfen sich diese beiden Bereiche nicht mit IP-Adressen überschneiden, die für Knoten in einem Cluster verwendet werden.

Beispiel:

network:
  ...
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"

network.vCenter.networkName

String. Der Name des vSphere-Netzwerks für Ihre Clusterknoten.

Wenn der Name ein Sonderzeichen enthält, müssen Sie dafür eine Escapesequenz verwenden.

Sonderzeichen Escapesequenz
Schrägstrich (/) %2f
Umgekehrter Schrägstrich (\) %5c
Prozentzeichen (%) %25

Wenn der Netzwerkname nicht eindeutig ist, kann ein Pfad zum Netzwerk angegeben werden, z. B. /DATACENTER/network/NETWORK_NAME.

Beispiel:

network:
  vCenter:
    networkName: "MY-CLUSTER-NETWORK"

loadBalancer.vips

Strings. Setzen Sie den Wert von loadBalancer.vips.controlPlaneVIP auf die IP-Adresse, die Sie auf dem Load-Balancer für den Kubernetes API-Server des Nutzerclusters konfiguriert haben. Legen Sie den Wert von loadBalancer.vips.ingressVIP auf die IP-Adresse fest, die Sie für den Load-Balancer für den Ingress-Dienst in Ihrem Nutzercluster konfiguriert haben. Beispiel:

loadBalancer:
  ...
  vips:
    controlplaneVIP: "203.0.113.5"
    ingressVIP: "203.0.113.6"

loadBalancer.kind

String. Legen Sie für dieses Feld "Seesaw" fest. Beispiel:

loadBalancer:
  kind: "Seesaw"

loadBalancer.seesaw.ipBlockFilePath

String. Legen Sie hier den Pfad der hostconfig-Datei für Ihre Seesaw-VM fest. Beispiel:

loadbalancer:
  ...
  seesaw:
    ipBlockFilePath: "user-seesaw-hostconfig.yaml"

loadBalancer.seesaw.vird

Integer. Die virtuelle Router-ID Ihrer Seesaw-VM. Diese Kennung muss in einem VLAN einmalig sein. Gültiger Bereich ist 1 – 255. Beispiel:

loadBalancer:
  seesaw:
    vrid: 126

loadBalancer.seesaw.masterIP

String. IP-Adresse der Steuerungsebene für die Seesaw-VM. Beispiel:

loadBalancer:
  seesaw:
    masterIP: "203.0.113.7"

loadBalancer.seesaw.cpus

Ganzzahl. Die Anzahl der CPUs für Ihre Seesaw-VM. Beispiel:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Ganzzahl. Die Anzahl der Megabyte des Arbeitsspeichers für Ihre Seesaw-VM. Beispiel:

loadBalancer:.
  seesaw:
    memoryMB: 8192

loadBalancer.seesaw.enableHA

Boolescher Wert. Legen Sie für dieses Feld false fest. Beispiel:

loadBalancer:.
  seesaw:
    enableHA: false

nodePools.name

String. Ein Name Ihrer Wahl für einen Knotenpool. Beispiel:

nodePools:
- name: "my-user-pool"

nodePools.replicas

Ganzzahl. Die Anzahl der VMs in Ihrem Knotenpool. Legen Sie für dieses Feld 3 fest.

nodePools:
- name: "my-user-pool"
  replicas: 3

stackdriver.clusterLocation

String. Die Google Cloud-Region, in der Sie Logs speichern möchten. 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 gewährleistet, dass alle Telemetriedaten über die eingeschränkten IP-Adressen von Google übertragen werden.

stackdriver.enableVPC

Boolescher Wert. Setzen Sie stackdriver.enableVPC auf true, wenn das Netzwerk Ihres Clusters durch eine VPC gesteuert wird. So wird gewährleistet, dass alle Telemetriedaten über die eingeschränkten IP-Adressen von Google übertragen werden. Andernfalls legen Sie false fest. Beispiel:

stackdriver:
  enableVPC: false

Zusätzliche Felder in der Konfigurationsdatei

Die Konfigurationsdatei von GKE On-Prem enthält zusätzlich zu den in diesem Thema gezeigten Feldern mehrere andere 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 Über DHCP installieren und Über statische IP-Adressen installieren.

Konfigurationsdatei validieren

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

gkectl check-config --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]

wobei

  • [ADMIN_CLUSTER_KUBECONFIG] ist der Pfad der kubeconfig-Datei für Ihren Administratorcluster.

  • [CONFIG_FILE] ist der Pfad Ihrer Nutzercluster-Konfigurationsdatei.

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

Load-Balancer erstellen

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

gkectl create loadbalancer --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]

wobei

  • [ADMIN_CLUSTER_KUBECONFIG] ist der Pfad der kubeconfig-Datei für Ihren Administratorcluster.

  • [CONFIG_FILE] ist der Pfad Ihrer Nutzercluster-Konfigurationsdatei.

Nutzercluster erstellen

Erstellen Sie den Nutzercluster:

gkectl create cluster --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]

wobei

  • [ADMIN_CLUSTER_KUBECONFIG] ist der Pfad der kubeconfig-Datei für Ihren Administratorcluster.

  • [CONFIG_FILE] ist der Pfad Ihrer Nutzercluster-Konfigurationsdatei.