Auf dieser Seite wird beschrieben, wie Sie eine Administrator-Workstation erstellen, mit der Sie GKE On-Prem installieren können.
In diesem Thema erstellen Sie eine Administrator-Workstation mit einer statischen IP-Adresse.
Wenn Sie eine Administrator-Workstation erstellen möchten, die ihre IP-Adresse mit Dynamic Host Configuration Protocol (DHCP) abruft, finden Sie Informationen dazu im Abschnitt Administrator-Workstation mit DHCP erstellen.
Wenn Sie Ihre Befehle unter Linux ausführen, gibt es eine Alternative zu den Schritten in diesem Thema. Sie können das gkeadm
-Tool verwenden, das einen Großteil der Erstellung der Administrator-Workstation automatisiert.
Übersicht
Die Administrator-Workstation ist eine vSphere-VM, die alle Tools enthält, die Sie zum Erstellen und Verwalten von GKE On-Prem-Clustern benötigen. Um die Administrator-Workstation zu erstellen, führen Sie die folgenden Schritte aus, die in diesem Artikel erläutert werden:
- OVA-Datei (Open Virtual Appliance) der Administrator-Workstation herunterladen – ein komprimiertes Image der Administrator-Workstation-VM
govc
, die Befehlszeilenschnittstelle zu vSphere verwenden, um die OVA-Datei als VM-Vorlage in vSphere zu importieren- HashiCorp Terraform-Konfigurationsdateien kopieren und ausfüllen
- Mit Terraform-Version 0.11 die Administrator-Workstation-VM erstellen
Schlüssel für das Dienstkonto auf der Zulassungsliste erstellen
Wenn Sie noch keine JSON-Schlüsseldatei für Ihr Dienstkonto auf der Zulassungsliste haben, erstellen Sie jetzt eine solche Datei:
gcloud auth login
-
gcloud iam service-accounts keys create whitelisted-key.json \ --iam-account [ALLOWLISTED_SERVICE_ACCOUNT_EMAIL]
Dabei ist [ALLOWLISTED_SERVICE_ACCOUNT_EMAIL] die E-Mail-Adresse Ihres Dienstkontos auf der Zulassungsliste.
OVA-Datei für die Administrator-Workstation herunterladen
Die OVA-Datei umfasst alle Clusterkomponenten, Befehlszeilentools und sonstige Entitäten, die zum Installieren und Verwalten von GKE On-Prem-Clustern erforderlich sind.
Aktivieren Sie Ihr Dienstkonto auf der Zulassungsliste:
gcloud auth activate-service-account --key-file [KEY_ALLOWLISTED_ACCOUNT]
Dabei ist [KEY_ALLOWLISTED_ACCOUNT] der Pfad zur JSON-Schlüsseldatei für das Dienstkonto auf der Zulassungsliste.
Laden Sie die neueste Version der OVA-Datei für die Administrator-Workstation und die zugehörige Signaturdatei herunter:
gsutil cp gs://gke-on-prem-release/admin-appliance/1.4.3-gke.3/gke-on-prem-admin-appliance-vsphere-1.4.3-gke.3.{ova,ova.1.sig} ./
OVA-Datei mit openssl
prüfen
Prüfen Sie mithilfe von openssl
die heruntergeladene OVA-Datei anhand des öffentlichen Schlüssels:
openssl dgst -verify - -signature gke-on-prem-admin-appliance-vsphere-1.4.3-gke.3.ova.1.sig gke-on-prem-admin-appliance-vsphere-1.4.3-gke.3.ova <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
Die erwartete Ausgabe dieses Befehls ist Verified OK
.
OVA-Datei mit govc
in vSphere importieren und als VM-Vorlage markieren
In den folgenden Abschnitten führen Sie diese Schritte aus:
- Einige Variablen erstellen, die Elemente Ihrer vCenter Server- und vSphere-Umgebung deklarieren
- OVA-Datei für die Administrator-Workstation in vSphere importieren und als VM-Vorlage markieren
Variablen für govc
erstellen
Bevor Sie die OVA-Datei für die Administrator-Workstation in vSphere importieren, müssen Sie für govc
einige Variablen angeben, die Elemente Ihrer vCenter Server- und vSphere-Umgebung deklarieren:
export GOVC_URL=https://[VCENTER_SERVER_ADDRESS]/sdk export GOVC_USERNAME=[VCENTER_SERVER_USERNAME] export GOVC_PASSWORD=[VCENTER_SERVER_PASSWORD] export GOVC_DATASTORE=[VSPHERE_DATASTORE] export GOVC_DATACENTER=[VSPHERE_DATACENTER] export GOVC_INSECURE=true
Sie können entweder den Standardressourcenpool von vSphere verwenden oder einen eigenen erstellen:
# If you want to use a resource pool you've configured yourself, export this variable: export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources/[VSPHERE_RESOURCE_POOL]
# If you want to use vSphere's default resource pool, export this variable instead: export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources
Dabei gilt:
- [VCENTER_SERVER_ADDRESS] ist die IP-Adresse oder der Hostname Ihres vCenter Servers.
- [VCENTER_SERVER_USERNAME] ist der Nutzername eines Kontos, das die Administratorrolle oder gleichwertige Berechtigungen in vCenter Server hat.
- [VCENTER_SERVER_PASSWORD] ist das Passwort des vCenter Server-Kontos.
- [VSPHERE_DATASTORE] ist der Name des Datenspeichers, den Sie in Ihrer vSphere-Umgebung konfiguriert haben.
- [VSPHERE_DATACENTER] ist der Name des Rechenzentrums, das Sie in Ihrer vSphere-Umgebung konfiguriert haben.
- [VSPHERE_CLUSTER] ist der Name des Clusters, den Sie in Ihrer vSphere-Umgebung konfiguriert haben. Wenn Sie einen nicht standardmäßigen Ressourcenpool verwenden,
- [VSPHERE_RESOURCE_POOL] ist der Name des Ressourcenpools, den Sie für Ihre vSphere-Umgebung konfiguriert haben.
Variablen für Ihren Proxy erstellen
Wenn Sie einen Proxy verwenden, exportieren Sie Variablen für die HTTP- und HTTPS-Adresse, wobei [PROXY_ADDRESS] die IP-Adresse oder der Hostname des Proxys ist:
export HTTP_PROXY=http://[PROXY_ADDRESS] export HTTPS_PROXY=https://[PROXY_ADDRESS]
OVA-Datei in vSphere importieren: Standard-Switch
Wenn Sie einen vSphere Standard Switch verwenden, importieren Sie die OVA-Datei mit diesem Befehl in vSphere:
govc import.ova -options - gke-on-prem-admin-appliance-vsphere-1.4.3-gke.3.ova <<EOF { "DiskProvisioning": "thin", "MarkAsTemplate": true } EOF
OVA in vSphere importieren: Verteilter Switch
Wenn Sie einen vSphere Distributed Switch verwenden, importieren Sie die OVA-Datei mit diesem Befehl in vSphere, wobei [YOUR_DISTRIBUTED_PORT_GROUP_NAME] der Name Ihrer verteilten Portgruppe ist:
govc import.ova -options - gke-on-prem-admin-appliance-vsphere-1.4.3-gke.3.ova <<EOF { "DiskProvisioning": "thin", "MarkAsTemplate": true, "NetworkMapping": [ { "Name": "VM Network", "Network": "[YOUR_DISTRIBUTED_PORT_GROUP_NAME]" } ] } EOF
Terraform-Konfigurationsdateien kopieren
Erstellen Sie ein Verzeichnis für Ihre Terraform-Dateien:
mkdir [TERRAFORM_DIR]
Dabei ist [TERRAFORM_DIR] der Pfad eines Verzeichnisses, in dem Sie Ihre Terraform-Dateien speichern möchten.
Kopieren Sie die folgenden TF- und TFVARS-Dateien und speichern Sie sie in [TERRAFORM_DIR]/terraform.tf
bzw. [TERRAFORM_DIR]/terraform.tfvars
.
Die TF-Datei ist die Terraform-HCL-Konfiguration, die die VM-Erstellung durchführt.
Die hier angegebenen Terraform-Dateien gelten für eine Administrator-Workstation mit einer statischen IP-Adresse. Wenn Sie eine Administrator-Workstation erstellen möchten, die ihre IP-Adresse über DHCP abruft, verwenden Sie die Terraform-Dateien, die unter Administrator-Workstation mit DHCP erstellen beschrieben sind.
SSH-Schlüssel erstellen
Erstellen Sie einen SSH-Schlüssel, damit Sie von Ihrem lokalen Laptop oder Ihrer lokalen Workstation aus eine SSH-Verbindung zur Administrator-Workstation herstellen können. Unter Linux-basierten Betriebssystemen können Sie ssh-keygen
verwenden:
ssh-keygen -t rsa -f ~/.ssh/vsphere_workstation -N ""
TFVARS-Datei ändern
Öffnen Sie terraform.tfvars
in einem Texteditor und geben Sie Werte für die folgenden Variablen an. Viele dieser Werte finden Sie, wenn Sie sich beim vCenter Client anmelden:
vcenter_user
Geben Sie als String ein vCenter Server-Nutzerkonto an. Das Nutzerkonto sollte die Administratorrolle oder gleichwertige Berechtigungen haben (siehe vSphere-Anforderungen).
Beispiel:
vcenter_user = "administrator@vsphere.local"
vcenter_password
Geben Sie das Passwort des vCenter Server-Nutzerkontos als String an. Beispiel:
vcenter_password = "#STyZ2T#Ko2o"
vcenter_server
Geben Sie die IP-Adresse oder den Hostnamen Ihres vCenter Servers als String an. Beispiel:
vcenter_server = "198.51.100.2"
ssh_public_key_path
Geben Sie den Pfad zu Ihrem öffentlichen SSH-Schlüssel an. Sie haben diesen in einem vorherigen Schritt erstellt:
ssh_public_key_path = "~/.ssh/vsphere_workstation.pub"
vm_name
Geben Sie einen Namen Ihrer Wahl für die Administrator-Workstation an. Beispiel:
vm_name = "my-admin-workstation"
datastore
Geben Sie den Namen Ihres vSphere-Datenspeichers als String an. Beispiel:
datastore = "MY-DATASTORE"
datacenter
Geben Sie den Namen Ihres vSphere-Rechenzentrums als String an. Beispiel:
datacenter = "MY-DATACENTER"
cluster
Geben Sie den Namen Ihres vSphere-Clusters als String an. Beispiel:
cluster = "MY-CLUSTER"
resource_pool
Wenn Sie einen nicht standardmäßigen Ressourcenpool verwenden, geben Sie den Namen Ihres vSphere-Ressourcenpools als String an. Beispiel:
resource_pool = "MY-POOL"
Wenn Sie den Standardressourcenpool verwenden, geben Sie den folgenden Wert an:
resource_pool = "[MY_CLUSTER]/Resources"
Dabei ist [MY_CLUSTER] der Name Ihres vSphere-Clusters.
Weitere Informationen finden Sie unter Root-Ressourcenpool für einen eigenständigen Host angeben.
network
Geben Sie das vSphere-Netzwerk, in dem Sie die Administrator-Workstation erstellen möchten, als String an. Beispiel:
network = "MY-VM-NETWORK"
vm_template
Geben Sie den Namen der VM-Vorlage als String an. Sie haben die OVA-Datei in einem vorherigen Schritt importiert und als Vorlage markiert. Der Vorlagenname hat nicht die Endung .ova
.
vm_template = "gke-on-prem-admin-appliance-vsphere-1.4.3-gke.3"
ipv4_address
Geben Sie eine statische IPv4-IP-Adresse für die Administrator-Workstation an. Beispiel:
ipv4_address = "203.0.113.1"
ipv4_netmask_prefix_length
Geben Sie die Anzahl der Bits in der Subnetzmaske des Netzwerks an, in dem Sie Ihre Administrator-Workstation erstellen möchten. Beispiel:
ipv4_netmask_prefix_length = "22"
ipv4_gateway
Geben Sie die IP-Adresse des Standardgateways des Subnetzes an, in dem die Administrator-Workstation erstellt werden soll. Beispiel:
ipv4_gateway = "198.51.100.1
dns_nameservers
Geben Sie getrennt durch Kommas DNS-Nameserver an, die von der Administrator-Workstation verwendet werden sollen. Beispiel:
dns_nameservers = "8.8.8.8,8.8.4.4"
Administrator-Workstation erstellen
Jetzt können Sie die Administrator-Workstation-VM erstellen. Verwenden Sie für die Schritte in diesem Abschnitt Terraform-Version 0.11.
Wechseln Sie zu dem Verzeichnis, das Ihre Terraform-Konfigurationsdateien (TF und TFVARS) enthält:
Initialisieren Sie Terraform im Verzeichnis und wenden Sie die Konfiguration an. Dies kann einige Minuten dauern:
terraform init && terraform apply -auto-approve -input=false
SSH-Verbindung zur Administrator-Workstation herstellen
Wechseln Sie zu dem Verzeichnis, das Ihre Terraform-Konfigurationsdateien enthält.
Rufen Sie die IP-Adresse der Administrator-Workstation ab:
terraform output ip_address
Notieren Sie sich die IP-Adresse der Administrator-Workstation.
Stellen Sie mithilfe des SSH-Schlüssels und der IP-Adresse eine SSH-Verbindung zur Administrator-Workstation her:
ssh -i ~/.ssh/vsphere_workstation ubuntu@[ADMIN_WORKSTATION_IP_ADDRESS]
Prüfen, ob die Administrator-Workstation korrekt eingerichtet ist
Prüfen Sie, ob gkectl
und docker
auf Ihrer Administrator-Workstation installiert sind:
gkectl version docker version
NTP-Server auf der Administrator-Workstation konfigurieren
Standardmäßig verwendet die Administrator-Workstation ntp.ubuntu.com als NTP-Server (Network Time Protocol). Wenn Ihre Organisation einen anderen Zeitserver verwendet, konfigurieren Sie die Administrator-Workstation so, dass derselbe NTP-Server wie an anderen Stellen in Ihrer Organisation verwendet wird.
Geben Sie die folgenden Befehle ein, um den NTP-Server auf Ihrer Administrator-Workstation zu konfigurieren:
sudo mkdir -p /etc/systemd/timesyncd.conf.d/ sudo bash -c "cat >> /etc/systemd/timesyncd.conf.d/cloud-init.conf" << EOF [Time] NTP=[NTP_SERVER] EOF sudo systemctl restart systemd-timesyncd timedatectl status
Dabei ist [NTP_SERVER] der Hostname oder die IP-Adresse Ihres NTP-Servers.
Geben Sie den folgenden Befehl ein, um zu prüfen, ob Ihr NTP-Server funktioniert:
timedatectl
Die Ausgabe sieht etwa so aus:
Local time: Tue 2019-12-17 00:21:50 UTC Universal time: Tue 2019-12-17 00:21:50 UTC RTC time: Tue 2019-12-17 00:21:50 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
Problembehebung
AccessDeniedException
beim Herunterladen der OVA-Datei
- Symptome
Beim Versuch, die OVA-Datei für die Administrator-Workstation und die Signatur herunterzuladen, wird folgender Fehler zurückgegeben:
AccessDeniedException: 403 whitelisted-service-account@project.iam.gserviceaccount.com does not have storage.objects.list access to gke-on-prem-release
- Mögliche Ursache
Ihr Dienstkonto auf der Zulassungsliste ist nicht aktiviert.
- Lösung
Aktivieren Sie Ihr Dienstkonto auf der Zulassungsliste. Wenn das Problem weiterhin besteht, wenden Sie sich an Google.
openssl
kann die OVA-Datei für die Administrator-Workstation nicht validieren
- Symptome
Wenn Sie
openssl dgst
für die OVA-Datei für die Administrator-Workstation ausführen, wird nichtVerified OK
zurückgegeben.- Mögliche Ursache
Die OVA-Datei enthält ein Problem, das die erfolgreiche Validierung verhindert.
- Lösung
Versuchen Sie, die OVA-Datei der Administrator-Workstation noch einmal herunterzuladen und bereitzustellen, wie unter OVA-Datei der Administrator-Workstation herunterladen beschrieben. Wenn das Problem weiterhin besteht, wenden Sie sich an Google.
Weitere Informationen finden Sie unter Fehlerbehebung.