Admin-Workstation erstellen

Auf dieser Seite wird beschrieben, wie Sie eine Admin-Workstation erstellen, mit der Sie GKE On-Prem installieren können.

In diesem Thema erstellen Sie eine Administrator-Workstation mit einer statischen IP-Adresse. Dies entspricht dem grundlegenden Installationsvorgang, bei dem Cluster mit statischen IP-Adressen erstellt werden.

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.

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

  1. gcloud auth login
  2. 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.2.2-gke.2/gke-on-prem-admin-appliance-vsphere-1.2.2-gke.2.{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.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.

OVA-Datei mit govc in vSphere importieren und als VM-Vorlage 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.

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.2.2-gke.2.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.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 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.2.2-gke.2"

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.

  1. Wechseln Sie zu dem 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

SSH-Verbindung zur Administrator-Workstation herstellen

  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 Administrator-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 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

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 finden Sie unter Fehlerbehebung.