Sie betrachten die Dokumentation für eine frühere Version von GKE On-Prem. Sehen Sie sich die aktuelle Dokumentation an.

Admin-Workstation mit DHCP erstellen

Auf dieser Seite wird erläutert, wie Sie eine Administrator-Workstation erstellen, die ihre IP-Adresse mit Dynamic Host Configuration Protocol (DHCP) abruft.

Informationen zum Erstellen einer Administrator-Workstation mit einer statischen IP-Adresse finden Sie unter Administrator-Workstation erstellen.

Überblick

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. Führen Sie die folgenden Schritte aus, um die Administrator-Workstation zu erstellen:

  • Laden Sie die Administrator-Workstation Open Virtual Appliance-Datei, ein komprimiertes Image der Administrator-Workstation-VM, herunter.
  • Verwenden Sie govc, die Befehlszeilenschnittstelle zu vplaner, um die OVA als VM-Vorlage in vplana zu importieren.
  • Kopieren Sie die HashiCorp Terraform-Konfigurationsdateien.
  • Erstellen Sie mit Terraform-Version 0.11 die VM der Administrator-Workstation.

Schlüssel für Ihr Dienstkonto auf der weißen Liste erstellen

Wenn Sie noch keine JSON-Schlüsseldatei für Ihr Dienstkonto auf der weißen Liste haben, erstellen Sie jetzt eine:

  1. gcloud auth login
  2. gcloud iam service-accounts keys create whitelisted-key.json \
    --iam-account [WHITELISTED_SERVICE_ACCOUNT_EMAIL]
    

Dabei ist [WHITELISTED_SERVICE_ACCOUNT_EMAIL] die E-Mail-Adresse Ihres Dienstkontos auf der weißen Liste.

OVA für die Administrator-Workstation herunterladen

Die OVA umfasst alle Clusterkomponenten, Befehlszeilentools und andere Entitäten, die für die Installation und Verwaltung von GKE On-Prem-Clustern erforderlich sind.

Aktivieren Sie Ihr Dienstkonto auf der weißen Liste:

gcloud auth activate-service-account --key-file [KEY_WHITELISTED_ACCOUNT]

Dabei ist [KEY_WHITELISTED_ACCOUNT] der Pfad der JSON-Schlüsseldatei für Ihr Dienstkonto auf der weißen Liste.

Laden Sie die neueste Version der Administrator-Workstation und deren Signaturdatei herunter:

gsutil cp gs://gke-on-prem-release/admin-appliance/1.2.2-gke.2/gke-on-prem-admin-appliance-vsphere-1.2.2-gke.2.{ova,ova.1.sig} ./

OVA mit openssl bestätigen

Prüfen Sie die heruntergeladene OVA-Datei anhand des öffentlichen Schlüssels mit openssl:

openssl dgst -verify - -signature gke-on-prem-admin-appliance-vsphere-1.2.2-gke.2.ova.1.sig gke-on-prem-admin-appliance-vsphere-1.2.2-gke.2.ova <<'EOF'
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
-----END PUBLIC KEY-----
EOF

Die erwartete Ausgabe dieses Befehls ist Verified OK.

govc verwenden, um die OVA in vsphere zu importieren und als VM-Vorlage zu markieren

In den folgenden Abschnitten führen Sie diese Schritte aus:

  1. Erstellen Sie einige Variablen, die Elemente Ihrer vCenter Server- und vSphere-Umgebung deklarieren.
  2. Importieren Sie die Administrator-Workstation-OVA in vsphere und markieren Sie sie als VM-Vorlage.

Variablen für govc erstellen

Bevor Sie die OVA der Administrator-Workstation in vsphere importieren, müssen Sie 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

wobei

  • [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 entsprechende Berechtigungen auf dem vCenter-Server hat.
  • [VCENTER_SERVER_PASSWORD] ist das Passwort des vCenter-Server-Kontos.
  • [VSPHERE_DATASTORE] ist der Name des Clusters, 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.
  • Bei Verwendung eines nicht standardmäßigen Ressourcenpools
  • [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 in vSphere importieren: Standard-Switch

Wenn Sie einen vSphere-Standard-Switch verwenden, importieren Sie die OVA mit diesem Befehl in vSphere:

govc import.ova -options - gke-on-prem-admin-appliance-vsphere-1.2.2-gke.2.ova <<EOF
{
  "DiskProvisioning": "thin",
  "MarkAsTemplate": true
}
EOF

OVA in vSphere importieren: Distributed Switch

Wenn Sie einen verteilten vSphere-Switch verwenden, importieren Sie OVA 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.2.2-gke.2.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 DF-Datei ist die Terraform-HTTP-Konfiguration, die die VM-Erstellung durchführt.

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 ein vCenter Server-Nutzerkonto als String an. Das Nutzerkonto sollte die Administratorrolle oder entsprechende 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 Zeichenfolge 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 dies 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.

Siehe Den Root-Ressourcenpool für einen eigenständigen Host angeben.

network

Stellen Sie das vSphere-Netzwerk als String für die Administrator-Workstation bereit. Beispiel:

network = "MY-VM-NETWORK"

vm_template

Geben Sie den Namen der VM-Vorlage als String an. Sie haben die OVA importiert und in einem vorherigen Schritt als Vorlage markiert: Der Vorlagenname hat nicht die Erweiterung .ova.

vm_template = "gke-on-prem-admin-appliance-vsphere-1.2.2-gke.2"

Administrator-Workstation erstellen

Jetzt können Sie die Admin-Workstation-VM erstellen. Für die Schritte in diesem Abschnitt verwenden Sie Terraform-Version 0.11.

  1. Öffnen Sie das Verzeichnis, das Ihre Terraform-Konfigurationsdateien (TF und TFVARS) enthält:

  2. Initialisieren Sie Terraform im Verzeichnis und wenden Sie die Konfiguration an. Dies kann einige Minuten dauern:

    terraform init && terraform apply -auto-approve -input=false

Stellen Sie eine SSH-Verbindung zu Ihrer Admin-Workstation her:

  1. Wechseln Sie zu dem Verzeichnis, das Ihre Terraform-Konfigurationsdateien enthält.

  2. Rufen Sie die IP-Adresse der Administrator-Workstation ab:

    terraform output ip_address

    Notieren Sie sich die IP-Adresse der Admin-Workstation.

  3. 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 Ihrer 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 der Rest 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

Fehlerbehebung

AccessDeniedException beim Herunterladen von OVA

Symptome

Beim Versuch, die OVA und die Signatur der Administrator-Workstation 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 weißen Liste ist nicht aktiviert.

Lösung

Bestätigen Sie, dass Sie Ihr Dienstkonto auf der weißen Liste aktiviert haben. Wenn das Problem weiterhin besteht, wenden Sie sich an Google.

openssl kann die Administrator-Workstation-OVA nicht validieren

Symptome

Wenn Sie openssl dgst für die OVA-Datei der Administrator-Workstation ausführen, wird Verified OK nicht zurückgegeben.

Mögliche Ursache

Die OVA-Datei enthält ein Problem, das die erfolgreiche Validierung verhindert.

Lösung

Versuchen Sie, die Administrator-Workstation-OVA noch einmal herunterzuladen und bereitzustellen, wie unter Administrator-Workstation-OVA herunterladen beschrieben. Wenn das Problem weiterhin besteht, wenden Sie sich an Google.

Weitere Informationen finden Sie unter Fehlerbehebung.