Admin-Workstation erstellen

Auf dieser Seite wird erläutert, wie Sie die neueste Version der virtuellen Maschine (VM) erstellen.

Informationen zum Upgrade einer vorhandenen Administratorarbeitsstation finden Sie unter Upgrade von GKE On-Prem.

Ü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:

  • Laden Sie die Administrator-Workstation Open Virtual Appliance-Datei, ein komprimiertes Image der Administrator-Workstation-VM, herunter.
  • govc, die Befehlszeilenschnittstelle zu vSphere verwenden, um die OVA-Datei als VM-Vorlage in vSphere zu importieren
  • HashiCorp Terraform-Konfigurationsdateien kopieren und ausfüllen
  • Erstellen Sie die VM mit Terraform.

Hinweis

  1. Übersicht über die Administrator-Workstation
  2. Führen Sie die Schritte unter Installation vorbereiten aus.
  3. Prüfen Sie, ob govc installiert ist.
  4. Prüfen Sie, ob Sie die Terraform-Version 0.11 installiert haben.

Laden Sie die OVA für die Administrator-Workstation herunter.

Laden Sie die aktuelle Version der Administrator-Workstation-OVA aus dem Thema "Downloads" herunter. Die neueste OVA-Datei ist:

gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.ova

Dabei ist 1.1.2-gke.0 die neueste GKE On-Prem-Version. Die OVA umfasst alle Clusterkomponenten, Befehlszeilentools und andere Entitäten, die für die Installation und Verwaltung von GKE On-Prem-Clustern erforderlich sind. Die neueste OVA enthält die neueste Version dieser Entitäten.

Speichern Sie diese Datei auf dem Computer, den Sie zum Erstellen der Administrator-Workstation verwenden.

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. Einige Variablen erstellen, die Elemente Ihrer vCenter Server- und vSphere-Umgebung deklarieren
  2. 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.

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.1.2-gke.0.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.1.2-gke.0.ova <<EOF
{
  "DiskProvisioning": "thin",
  "MarkAsTemplate": true,
  "NetworkMapping": [
      {
          "Name": "VM Network",
          "Network": "[YOUR_DISTRIBUTED_PORT_GROUP_NAME]"
      }
  ]
}
EOF

Terraform-Konfigurationsdateien kopieren

  1. 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.

  2. Kopieren Sie eine der folgenden Terraform-Konfigurationen, je nachdem, ob Sie eine statische IP-Adresse für Ihre Administrator-Workstation angeben oder eine IP-Adresse über einen DHCP-Server abrufen möchten.

    Achten Sie darauf, sowohl die TZ- als auch die TFVARS-Datei zu kopieren. Die DF-Datei ist die Terraform-HTTP-Konfiguration, die die VM-Erstellung durchführt.

  3. Speichern Sie die Konfigurationen in [TERRAFORM_DIR]/terraform.tf bzw. [TERRAFORM_DIR]/terraform.tfvars.

DHCP

Statische IP

Öffentlichen SSH-Schlüssel erstellen

Erstellen Sie einen öffentlichen SSH-Schlüssel, damit Sie von Ihrem lokalen Laptop oder Ihrer lokalen Workstation aus eine SSH-Verbindung zur Administrator-Arbeitsstation 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 entsprechende Berechtigungen haben (siehe Systemanforderungen). 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.0"

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:

vm_name = "admin-workstation"

datastore

Geben Sie den Namen Ihres vsphere-Datenspeichers als String an:

datastore = "MY-DATASTORE"

datacenter

Geben Sie den Namen Ihres vsphere-Rechenzentrums als String an:

datacenter = "MY-DATACENTER"

cluster

Geben Sie den Namen Ihres vsphere-Clusters als String an:

cluster = "MY-CLUSTER"

resource_pool

Wenn Sie einen nicht standardmäßigen Ressourcenpool verwenden, geben Sie den Namen Ihres vSphere-Ressourcenpools als String an:

resource_pool = "MY-POOL"

Wenn Sie den Standardressourcenpool verwenden, geben Sie den folgenden Wert an:

resource_pool = "MY-CLUSTER/Resources"

Weitere Informationen finden Sie unter Specifying the root resource pool for a standalone host.

network

Geben Sie das vSphere-Netzwerk, in dem Sie die Administrator-Workstation erstellen möchten, als String an. Beispiel:

network = "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:

vm_template = "gke-on-prem-admin-appliance-vsphere-[VERSION]"

Statische IP-Adresse für Ihren Administrator-Arbeitsbereich verwenden

Wenn Sie eine statische IP-Adresse für Ihre Administrator-Workstation verwenden möchten, kopieren Sie die statische IP-Adresse. Geben Sie in der DFVARs-Datei Werte für die folgenden Variablen ein:

ipv4_address

Geben Sie eine statische IPv4-IP-Adresse für die Administrator-Workstation an. Beispiel:

ipv4_address = "203.0.113.0"

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 das Gateway des Subnetzes an, in dem die Administrator-Workstation erstellt werden soll. Weitere Informationen finden Sie in der Dokumentation zu vsphere_virtual_machine.

Beispiel:

ipv4_gateway = "198.51.100.0

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

Nachdem Sie die vorherigen Schritte abgeschlossen haben, können Sie die Administrator-Workstation-VM erstellen:

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

    cd [TERRAFORM_DIR]
    
  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 Administrator-Workstation her

  1. Wechseln Sie in das 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 Administrator-Workstation oder exportieren Sie sie als Variable in Ihre Shell.

  3. Stellen Sie mithilfe der generierten Schlüssel und der IP-Adresse eine SSH-Verbindung zur Administrator-Workstation her:

    ssh -i ~/.ssh/vsphere_workstation ubuntu@$(terraform output ip_address)

    oder, wenn Sie nur die Adresse verwenden möchten:

    ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
    

Prüfen, ob die Administrator-Workstation korrekt eingerichtet ist

Prüfen Sie, ob gkectl und docker installiert sind:

gkectl version
docker version

Proxy für Ihre Administrator-Workstation konfigurieren

Wenn sich Ihre Umgebung hinter einem Proxy befindet, folgen Sie den nachstehenden Abschnitten, um Google Cloud CLI und Docker für die Verwendung Ihres Proxys zu konfigurieren.

Google Cloud CLI für die Verwendung Ihres Proxys konfigurieren

Führen Sie auf der Administrator-Workstation-VM die folgenden Schritte aus.

Wenn Sie einen Proxy verwenden, um über Ihren Laptop oder Computer eine Verbindung zum Internet herzustellen, müssen Sie möglicherweise Google Cloud CLI für den Proxy konfigurieren, damit Sie die gcloud- und gsutil-Befehle ausführen können. Eine Anleitung finden Sie unter gcloud CLI zur Verwendung hinter einem Proxy bzw. einer Firewall konfigurieren.

Docker-Registry zum Abrufen Ihres Proxys konfigurieren

Führen Sie auf der Administrator-Workstation-VM die folgenden Schritte aus.

Wenn Sie eine Docker-Registry verwenden möchten und Ihr Netzwerk hinter einem Proxy ausgeführt wird, müssen Sie den auf Ihrer Administrator-Workstation ausgeführten Docker-Daemon so konfigurieren, dass Images über Ihren Proxy abgerufen werden:

  1. Erfassen Sie die Adressen Ihrer HTTP- und HTTPS-Proxys.

  2. Sammeln Sie die IP-Adressen und Hostnamen aller Hosts, die Sie ohne Proxys kontaktieren möchten, einschließlich:

    • Die IP-Adresse des vCenter-Servers.
    • Die IP-Adressen aller ESXi-Hosts.
    • IP-Adressen, die Sie auf Ihrem Load-Balancer konfigurieren möchten.
    • Die 192.168.0.0/16 Reichweite.

    Fügen Sie in Ihrer Administrator-Workstation der Variablen no_proxy diese Adressen hinzu:

    printf -v no_proxy '%s,' [ADDRESSES];
    

    Optional können Sie den Bereich zur späteren Verwendung in eine Umgebungsvariable exportieren. Beachten Sie, dass Anwendungen und Prozesse möglicherweise diese Variable verwenden:

    export no_proxy="${no_proxy%,}";
  3. Öffnen Sie je nach Konfiguration die Konfigurationsdatei von Docker, die unter /root/.docker/config.json, /home/ [USER]/.docker/config.json oder an einem anderen Speicherort gespeichert ist.

  4. Fügen Sie innerhalb von config.json die folgenden Zeilen hinzu:

    "proxies": {
    
    "default": {
           "httpProxy": "[HTTP_PROXY]",
           "httpsProxy": "[HTTPS_PROXY]",
           "noProxy": "[ADDRESSES]"
               }
    }

    Dabei gilt:

    • [HTTP_PROXY] ist Ihr HTTP-Proxy, falls Sie einen haben.
    • [HTTPS_PROXY] ist Ihr HTTPS-Proxy, falls Sie einen haben.
    • [ADDRESSES] ist eine durch Kommas getrennte Liste von Adressen und Hostnamen, die Sie ohne Proxy-Verbindung kontaktieren müssen.
  5. Starten Sie Docker neu, damit die Änderungen wirksam werden:

    sudo systemctl restart docker

Problembehebung

Weitere Informationen finden Sie unter Fehlerbehebung.

Sitzungslimit für Terraform vSphere-Anbieter

GKE On-Prem verwendet den vSphere-Anbieter von Terraform, um VMs in Ihrer vSphere-Umgebung zu aktivieren. Das Sitzungslimit des Anbieters beträgt 1.000 Sitzungen. Die aktuelle Implementierung schließt aktive Sitzungen nach der Verwendung nicht. Wenn zu viele Sitzungen ausgeführt werden, können Fehler vom Typ 503 auftreten.

Sitzungen werden nach 300 Sekunden automatisch beendet.

Symptome

Wenn zu viele Sitzungen ausgeführt werden, kann der folgende Fehler auftreten:

Error connecting to CIS REST endpoint: Login failed: body:
  {"type":"com.vmware.vapi.std.errors.service_unavailable","value":
  {"messages":[{"args":["1000","1000"],"default_message":"Sessions count is
  limited to 1000. Existing sessions are 1000.",
  "id":"com.vmware.vapi.endpoint.failedToLoginMaxSessionCountReached"}]}},
  status: 503 Service Unavailable
Mögliche Ursachen

In Ihrer Umgebung werden zu viele Terraform-Anbietersitzungen ausgeführt.

Lösung

Derzeit funktioniert dies wie vorgesehen. Sitzungen werden nach 300 Sekunden automatisch beendet. Weitere Informationen finden Sie im Artikel zum GitHub-Problem 618.

Für Docker wird ein Proxy verwendet: oauth2: cannot fetch token

Symptome

Bei der Verwendung eines Proxys tritt der folgende Fehler auf:

oauth2: cannot fetch token: Post https://oauth2.googleapis.com/token: proxyconnect tcp: tls: oversized record received with length 20527
Mögliche Ursachen

Möglicherweise haben Sie statt eines HTTP-Proxys einen HTTPS-Proxy angegeben.

Lösung

Ändern Sie in der Docker-Konfiguration die Proxyadresse in http:// statt https://.

Gültigkeit der Lizenzen prüfen

Achten Sie darauf, dass Ihre Lizenzen gültig sind, insbesondere, wenn Sie Testlizenzen verwenden. Wenn Ihre F5-, ESXi-Host- oder vCenter-Lizenzen abgelaufen sind, können unerwartete Fehler auftreten.

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 nicht Verified 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