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.