Admin-Workstation erstellen

In diesem Dokument wird gezeigt, wie Sie eine Administrator-Workstation für Google Distributed Cloud erstellen. Die Administratorworkstation hostet Befehlszeilentools und Konfigurationsdateien zum Bereitstellen von Clustern während der Installation sowie Befehlszeilentools zum Interagieren mit bereitgestellten Clustern nach der Installation.

Diese Seite richtet sich an Administratoren, Architekten und Betreiber, die technische Infrastrukturen einrichten, überwachen und verwalten. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud -Inhalten verweisen, finden Sie unter Häufig verwendete GKE Enterprise-Nutzerrollen und -Aufgaben.

Diese Anleitung ist vollständig. Eine kürzere Einführung zum Erstellen einer Administrator-Workstation finden Sie im Leitfaden zum Erstellen einfacher Cluster unter Administrator-Workstation erstellen.

Es gibt zwei Möglichkeiten, eine Administrator-Workstation zu erstellen:

  • Verwenden Sie gkeadm, um eine VM für die Administrator-Workstation in Ihrer vSphere-Umgebung zu erstellen.
  • Erstellen Sie eine vom Nutzer verwaltete Administrator-Workstation auf einem beliebigen Computer.

gkeadm

Hinweise

Sie müssen Ihre vCenter-Serveradresse kennen.

Sie müssen den Pfad Ihres CA-Zertifikats kennen.

Installieren Sie die Google Cloud CLI.

Erstellen Sie ein oder mehrere Google Cloud-Projekte, wie unter Mehrere Google Cloud-Projekte verwenden beschrieben.

Dienstkonten planen

Wenn Sie gkeadm zum Erstellen einer Administrator-Workstation verwenden, können Sie gkeadm erlauben, die meisten Ihrer Dienstkonten und Schlüssel für Sie zu erstellen. In diesem Fall weist gkeadm den Dienstkonten auch die entsprechenden Rollen der Identitäts- und Zugriffsverwaltung zu.

Alternativ können Sie Ihre Dienstkonten und Schlüssel manuell erstellen. In diesem Fall müssen Sie Ihren Dienstkonten manuell IAM-Rollen zuweisen.

Das manuelle Erstellen von Dienstkonten bietet mehr Flexibilität, als wenn gkeadm dies für Sie tut:

  • Automatisch erstellte Dienstkonten haben alle das gleiche übergeordnete Google Cloud-Projekt wie Ihr Dienstkonto für den Komponentenzugriff. Wenn Sie ein Dienstkonto manuell erstellen, können Sie das übergeordnete Google Cloud-Projekt auswählen.

  • Automatisch erstellte Dienstkonten erhalten alle IAM-Rollen im übergeordneten Google Cloud-Projekt Ihres Dienstkontos für den Komponentenzugriff. Dies ist passend, wenn dies das einzige Google Cloud-Projekt ist, das Ihren Clustern zugeordnet ist. Wenn Sie Ihren Clustern jedoch mehrere Google Cloud-Projekte zuordnen möchten, benötigen Sie die Flexibilität, einem Dienstkonto in einem Google Cloud-Projekt Ihrer Wahl Rollen zuzuweisen.

Wenn Sie eigene Dienstkonten erstellen möchten, folgen Sie der Anleitung unter Dienstkonten und Schlüssel.

Unabhängig davon, ob gkeadm Dienstkonten automatisch für Sie erstellt, müssen Sie ein Dienstkonto manuell erstellen: Ihr Dienstkonto für den Komponentenzugriff. Eine Anleitung zum Erstellen Ihres Dienstkontos für den Komponentenzugriff und zum Zuweisen der entsprechenden IAM-Rollen finden Sie unter Dienstkonto für den Komponentenzugriff.

Es gibt noch ein weiteres Dienstkonto, das Sie möglicherweise manuell erstellen müssen: Ihr Audit-Logging-Dienstkonto. Wenn Sie einen GKE On-Prem API-Client zum Verwalten Ihrer Nutzercluster verwenden möchten, müssen Sie Audit-Logging in Ihrem Administratorcluster aktivieren.

Vorlagen für Konfigurationsdateien erstellen

Laden Sie gkeadm in Ihr aktuelles Verzeichnis herunter.

Generieren Sie Vorlagen:

./gkeadm create config

Mit dem vorherigen Befehl wurden diese Dateien in Ihrem aktuellen Verzeichnis erstellt:

  • credential.yaml
  • admin-ws-config.yaml

credential.yaml ausfüllen

Geben Sie in credential.yaml Ihren vCenter-Nutzernamen und das Passwort ein. Beispiele:

kind: CredentialFile
items:
- name: vCenter
username: "my-account-name"
password: "AadmpqGPqq!a"

admin-ws-config.yaml ausfüllen

Mehrere Felder in admin-ws-config.yaml sind bereits mit Standardwerten oder generierten Werten ausgefüllt. Sie können die ausgefüllten Werte beibehalten oder nach Bedarf Änderungen vornehmen.

Felder, die Sie ausfüllen müssen

Füllen Sie die folgenden Pflichtfelder aus. Weitere Informationen zum Ausfüllen der Felder finden Sie unter Konfigurationsdatei für die Administrator-Workstation.

gcp:
 componentAccessServiceAccountKeyPath: "Fill in"
vCenter:
credentials:
  address: "Fill in"
datacenter: "Fill in"
datastore: "Fill in"
cluster: "Fill in"
network: "Fill in"
resourcePool: "Fill in"
caCertPath: "Fill in"

Wenn Sie die Administrator-Workstation in einem vSphere-VM-Ordner erstellen möchten, füllen Sie das Feld vCenter.folder aus:

vCenter:
folder: "Fill in"

Wenn sich Ihre Administrator-Workstation hinter einem Proxyserver befindet, füllen Sie das Feld proxyURL aus:

adminWorkstation:
proxyURL: "Fill in"

Wenn Sie möchten, dass Ihre Administrator-Workstation ihre IP-Adresse von einem DHCP-Server abruft, setzen Sie ipAllocationMode auf "dhcp" und entfernen den Abschnitt hostconfig:

adminWorkstation:
network:
  ipAllocationMode: "dhcp"

Wenn Sie eine statische IP-Adresse für Ihre Administrator-Workstation angeben möchten, legen Sie ipAllocationMode auf "static" fest und füllen den Abschnitt hostconfig aus. :

adminWorkstation:
network:
  ipAllocationMode: "static"
  hostconfig:
    ip: "Fill in"
    gateway: "Fill in"
    netmask: "Fill in"
    dns:
    - "Fill in"

Anmelden

  1. Melde dich mit einem beliebigen Google-Konto an. Dadurch wird das SDK-Attribut account festgelegt:
gcloud auth login
  1. Prüfen Sie, ob das SDK-Attribut account korrekt festgelegt ist:
gcloud config list
  1. Das Google-Konto, das als SDK-Attribut account festgelegt ist, wird als SDK-Konto bezeichnet. Das gkeadm-Befehlszeilentool verwendet Ihr SDK-Konto, um die OVA-Datei für die Administrator-Workstation herunterzuladen und Dienste in Ihrem Google Cloud-Projekt zu aktivieren.

Wenn Sie festlegen, dass gkeadm automatisch Dienstkonten für Sie erstellt, verwendet gkeadm Ihr SDK-Konto auch, um Dienstkonten und Schlüssel zu erstellen sowie Dienstkonten Rollen zuzuweisen. Legen Sie deshalb das account-Attribut des SDK fest, bevor Sie gkeadm ausführen, um eine Administrator-Workstation zu erstellen.

Die Ausgabe enthält die Werte des SDK-Attributs account. Beispiele:

[core]
account = my-name@google.com
disable_usage_reporting = False
Your active configuration is: [default]

Ihrem SDK-Konto Rollen zuweisen

Ihr SDK-Konto muss für das übergeordnete Google Cloud-Projekt Ihres Dienstkontos für den Komponentenzugriff die folgende IAM-Rolle haben. Dadurch kann gkeadm Dienste für das Google Cloud-Projekt aktivieren.

  • serviceUsage.serviceUsageAdmin

Wenn gkeadm automatisch Dienstkonten für Sie erstellen soll, muss Ihr SDK-Konto auch die folgenden Rollen für das übergeordnete Projekt Ihres Dienstkontos für den Komponentenzugriff haben. Dadurch kann gkeadm Dienstkonten und Schlüssel erstellen.

  • resourcemanager.projectIamAdmin
  • iam.serviceAccountCreator
  • iam.serviceAccountKeyAdmin

Wenn Sie Rollen für ein Google Cloud-Projekt zuweisen möchten, benötigen Sie bestimmte Berechtigungen für das Google Cloud-Projekt. Weitere Informationen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

Wenn Sie die erforderlichen Berechtigungen haben, können Sie die Rollen selbst zuweisen. Andernfalls muss eine andere Person in Ihrer Organisation die Rollen für Sie zuweisen.

So weisen Sie dem SDK-Konto die erforderliche Rolle zu:

Linux und macOS

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:ACCOUNT" \
  --role="roles/serviceusage.serviceUsageAdmin"

Windows

gcloud projects add-iam-policy-binding PROJECT_ID ^
  --member="user:ACCOUNT" ^
  --role="roles/serviceusage.serviceUsageAdmin"

Ersetzen Sie Folgendes:

  • PROJECT_ID ist die ID des übergeordneten Google Cloud-Projekts Ihres Dienstkontos für den Komponentenzugriff.

  • ACCOUNT ist das SDK-Konto.

So weisen Sie zusätzliche Rollen zu, wenn gkeadm automatisch Dienstkonten erstellen soll:

Linux und macOS

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:ACCOUNT" \
  --role="roles/resourcemanager.projectIamAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:ACCOUNT" \
  --role="roles/iam.serviceAccountCreator"

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:ACCOUNT" \
  --role="roles/iam.serviceAccountKeyAdmin"

Windows

gcloud projects add-iam-policy-binding PROJECT_ID ^
  --member="user:ACCOUNT" ^
  --role="roles/resourcemanager.projectIamAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID ^
  --member="user:ACCOUNT" ^
  --role="roles/iam.serviceAccountCreator"

gcloud projects add-iam-policy-binding PROJECT_ID ^
  --member="user:ACCOUNT" ^
  --role="roles/iam.serviceAccountKeyAdmin"

Dabei gilt:

  • PROJECT_ID ist die ID des übergeordneten Projekts des Dienstkontos für den Komponentenzugriff.

  • ACCOUNT ist das SDK-Konto.

Administrator-Workstation erstellen

Geben Sie diesen Befehl ein, um Ihre Administrator-Workstation zu erstellen. Wenn gkeadm die Dienstkonten connect-register und logging-monitoring für Sie erstellen soll, fügen Sie das Flag --auto-create-service-accounts ein. Wenn Sie diese Dienstkonten manuell erstellen möchten, lassen Sie das Flag weg.

./gkeadm create admin-workstation [--auto-create-service-accounts]

Die Ausgabe enthält detaillierte Informationen zur Erstellung Ihrer Administrator-Workstation:

...
Getting ... service account...
...
********************************************************************
Admin workstation is ready to use.

Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation
This file is required for future upgrades
SSH into the admin workstation with the following command:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1
********************************************************************

SSH-Verbindung zu Ihrer Administrator-Workstation abrufen

Gegen Ende der vorherigen Ausgabe finden Sie einen Befehl, mit dem Sie eine SSH-Verbindung zu Ihrer Administrator-Workstation herstellen können. Geben Sie diesen Befehl jetzt ein. Beispiel:

ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1

Rufen Sie eine Liste der Dateien auf Ihrer Administrator-Workstation auf:

ls -1

In der Ausgabe sehen Sie zwei Clusterkonfigurationsdateien, Ihre CA-Zertifikatsdatei und die JSON-Schlüsseldatei für das Dienstkonto für den Komponentenzugriff. Wenn gkeadm Dienstkonten für Sie erstellt hat, können Sie auch die JSON-Schlüsseldateien für diese Dienstkonten sehen. Beispiele:

admin-cluster.yaml
user-cluster.yaml
vcenter-ca-cert.pem
component-access-key.json

Prüfen Sie, ob gkeadm das Dienstkonto für den Komponentenzugriff auf Ihrer Administrator-Workstation aktiviert hat:

gcloud config get-value account

JSON-Schlüsseldateien auf Ihre Administrator-Workstation kopieren

Bevor Sie einen Cluster erstellen, müssen sich die JSON-Schlüsseldateien für Ihre Dienstkonten auf Ihrer Administrator-Workstation im Basisverzeichnis befinden.

Der Schlüssel für Ihr Dienstkonto für den Komponentenzugriff befindet sich bereits auf Ihrer Administrator-Workstation.

Wenn Sie beim Ausführen von gkeadm create admin-workstation das Flag --auto-create-service-accounts angegeben haben, befinden sich die Schlüssel der folgenden Dienstkonten bereits auf Ihrer Administrator-Workstation im Basisverzeichnis. Andernfalls müssen Sie die Schlüssel manuell in das Basisverzeichnis Ihrer Administrator-Workstation kopieren:

  • Connect-Register-Dienstkonto
  • Logging-Monitoring-Dienstkonto

Wenn Sie eines der folgenden Dienstkonten erstellt haben, müssen Sie die Schlüssel für diese Dienstkonten manuell in das Basisverzeichnis Ihrer Administrator-Workstation kopieren:

  • Dienstkonto zur Nutzungsmessung
  • Audit-Logging-Dienstkonto
  • Dienstkonto für Binärautorisierungen

Administrator-Workstation aus einer Sicherungsdatei wiederherstellen

Wenn Sie eine Administrator-Workstation upgraden, speichert der Befehl gkeadm upgrade eine Sicherungsdatei. Wenn Sie später keine Administrator-Workstation mehr haben oder einige Dateien verloren gegangen sind, die sich auf der aktualisierten Administrator-Workstation befanden, können Sie mit der Sicherungsdatei eine Administrator-Workstation erstellen, die auf den Zustand unmittelbar nach dem Upgrade zurückgesetzt wird.

Führen Sie den folgenden Befehl aus, um eine Administrator-Workstation aus einer Sicherungsdatei zu erstellen:

gkeadm create admin-workstation --restore-from-backup ADMIN_WORKSTATION_NAME-backup.tar.gz

Ersetzen Sie ADMIN_WORKSTATION_NAME durch den Namen der Administrator-Workstation.

Vom Nutzer verwaltet

Wählen Sie einen Computer als Administrator-Workstation aus. Sie können entweder Ubuntu oder Red Hat Enterprise Linux (RHEL) verwenden. Es gelten folgende Anforderungen:

  • Ubuntu 20.04 LTS oder 22.04 LTS

    • 4 CPU-Kerne
    • 8 GiB RAM
    • 100 GiB Speicherplatz
  • RHEL 8.6, 8.7 oder 8.8

    • 4 CPU-Kerne
    • 12 GB RAM
    • 256 GiB Speicherplatz

Zugriff auf Google Cloud

Ihre Administrator-Workstation muss Zugriff auf Google Cloud haben, um Tools herunterzuladen und zu installieren, Autorisierungsanfragen zu verarbeiten, Dienstkonten zu erstellen und vieles mehr.

Informationen zu den verschiedenen Möglichkeiten, eine Verbindung zu Google Cloud herzustellen, finden Sie unter Verbindung zu Google herstellen.

Der Zugriff auf Google Cloud kann direkt oder über einen Proxyserver erfolgen. Informationen zu Firewallregeln und zum Konfigurieren eines Proxyservers finden Sie unter Proxy- und Firewallregeln.

Zugriff auf vCenter Server

Zum Erstellen und Verwalten von Clustern über Ihre Administrator-Workstation benötigen Sie Zugriff auf Ihre Instanz von vCenter Server. Weitere Informationen finden Sie unter:

NTP-Server einrichten

Wenn Ihr Cluster für die Verwendung eines NTP-Servers konfiguriert ist, müssen Sie auf Ihrer Administrator-Workstation einen Zeitsynchronisierungsdienst einrichten, damit timedatectl die mit dem Cluster synchronisierte Zeit anzeigt. Dies ist erforderlich, um große Probleme mit der Uhrenabweichung zu vermeiden, die aufgrund nicht übereinstimmender Ablaufdaten zu Fehlern bei der Zertifikatsüberprüfung führen können.

Ubuntu

Wir empfehlen, den Zeitserver chrony zu verwenden.

So installieren Sie chrony:

sudo apt-get update
sudo apt install chrony

Dadurch werden zwei Binärdateien bereitgestellt:

  • chronyd – der Daemon, der über das Network Time Protocol synchronisiert und bereitgestellt wird
  • chronyc – die Befehlszeile für den chrony-Daemon

Zum Konfigurieren von chronyd:

Bearbeiten Sie /etc/chrony/chrony.conf, um Serverzeilen hinzuzufügen oder zu entfernen. Starten Sie dann chrony neu:

sudo systemctl restart chrony.service

RHEL

Wir empfehlen, den Zeitserver chrony zu verwenden.

Eine Installationsanleitung finden Sie unter chrony konfigurieren.

Passwortlose Sudo-Anmeldung

Wenn Ihre Sicherheitsrichtlinie dies zulässt, aktivieren Sie die passwortlose Sudo-Funktion für den aktuellen Nutzer. So kann gkectl eine private Registry vorbereiten, falls eine vorhanden ist, einen Proxy für Docker einrichten, falls sich Ihr Netzwerk hinter einem Proxyserver befindet, und den Bootstrap-Cluster, der für die Lebenszyklusvorgänge des Administratorclusters verwendet wird, erzwingen, falls das Löschen fehlschlägt.

Wenn Sie „sudo ohne Passwort“ nicht aktivieren und eine private Registry für Ihren Administratorcluster verwenden möchten, führen Sie vor dem Erstellen des Administratorclusters die folgende manuelle Konfiguration durch:

Wenn Sie „Sudo ohne Passwort“ nicht aktivieren, müssen Sie den kind-Cluster möglicherweise manuell löschen, nachdem Sie einen Administratorcluster erstellt haben. Weitere Informationen finden Sie in der Dokumentation zur Fehlerbehebung unter Kind-Cluster wird nicht gelöscht.

Software installieren

Ubuntu

Installieren Sie folgende Software:

sudo apt-get update
sudo apt-get -y install kubectl

RHEL

Installieren Sie folgende Software:

Docker 19.03 oder höher

  1. Entfernen Sie alle vorherigen Docker-Versionen:

    sudo dnf remove docker \
      docker-client \
      docker-client-latest \
      docker-common \
      docker-latest \
      docker-latest-logrotate \
      docker-logrotate \
      docker-engine
    
  2. Podman-manpages entfernen:

    sudo dnf remove podman-manpages
    
  3. Docker 19.03+ installieren:

    sudo dnf install -y yum-utils
    
    sudo yum-config-manager \
      --add-repo \
      https://download.docker.com/linux/centos/docker-ce.repo
    
    sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io
    
    sudo systemctl start docker
    
  4. Prüfen Sie, ob Sie jetzt die Version 19.03 oder höher verwenden:

    sudo docker version
    
  5. Vergleichen Sie die Ausgabe mit dem folgenden Beispiel, um sicherzustellen, dass die Client- und Serverversionen 19.03 oder höher sind:

    Client: Docker Engine - Community
    Version:           19.03.13
    ...
    Server: Docker Engine - Community
    Engine:
    Version:          19.03.13
    
  6. Prüfen Sie, ob Docker ausgeführt wird:

    docker run hello-world
    

    Die Ausgabe sollte etwa so aussehen:

    Hello from Docker!
    

    This message shows that your installation appears to be working correctly.

Neueste Version der Google Cloud CLI:

Weitere Informationen finden Sie unter gcloud CLI installieren.

kubectl

Führen Sie gcloud components install kubectl aus.

Anmelden

Das Google-Konto, das als SDK-Attribut account festgelegt ist, wird als SDK-Konto bezeichnet. Das gkectl-Befehlszeilentool verwendet Ihr SDK-Konto, um unter anderem OVAs für Clusterknoten herunterzuladen und Container-Images abzurufen. Legen Sie deshalb die SDK-Kontoeigenschaft fest, bevor Sie gkectl-Befehle ausführen.

Melde dich mit einem beliebigen Google-Konto an. Dadurch wird das SDK-Attribut account festgelegt:

gcloud auth login

Prüfen Sie, ob das SDK-Attribut account korrekt festgelegt ist:

gcloud config list

Die Ausgabe enthält die Werte des SDK-Attributs account. Beispiele:

[core]
account = my-name@google.com
disable_usage_reporting = False
Your active configuration is: [default]

gkectl und das Bundle herunterladen

Rufen Sie das Verzeichnis auf, in dem Sie gkectl installieren möchten.

gkectl herunterladen:

gcloud storage cp gs://gke-on-prem-release/gkectl/VERSION/gkectl ./
chmod +x gkectl

Ersetzen Sie VERSION durch die Version von Google Distributed Cloud. Beispiel: 1.16.0-gke.1

Laden Sie das Google Distributed Cloud-Bundle herunter. Achten Sie darauf, dass die Version mit der übereinstimmt, mit der Sie gkectl heruntergeladen haben:

gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/VERSION/gke-onprem-vsphere-VERSION.tgz ./

Dienstkonten und Schlüssel

Sie müssen die folgenden erforderlichen Dienstkonten und JSON-Schlüsseldateien erstellt haben:

Achten Sie außerdem darauf, dass Sie alle erforderlichen optionalen Dienstkonten und JSON-Schlüsseldateien erstellt haben:

Platzieren Sie alle JSON-Schlüsseldateien im Basisverzeichnis Ihrer Administrator-Workstation.

Fehlerbehebung

Im folgenden Abschnitt wird der SSH-Zugriff auf die Administrator-Workstation wieder aktiviert, falls der SSH-Schlüssel verloren geht oder beschädigt wird.

Wiederherstellung von SSH-Schlüsseln

Führen Sie die folgenden Schritte mit einer temporären VM aus:

  1. Wenn Sie neue SSH-Schlüssel generieren möchten, folgen Sie der Anleitung unter SSH-Schlüssel erstellen in der Compute Engine-Dokumentation.

  2. Prüfen Sie, ob die temporäre VM und die Administrator-Workstation den Status Powered Off haben.

  3. Hängen Sie in vSphere das Bootlaufwerk der Administrator-Workstation an die temporäre VM an.

    Das Bootlaufwerk hat das Label Hard disk 1.

  4. Stellen Sie das Bootlaufwerk innerhalb der VM bereit, indem Sie die folgenden Befehle ausführen:

    sudo mkdir -p /mnt/boot-disk
    sudo mount DISK_ID /mnt/boot-disk
    

    Ersetzen Sie DISK_ID durch die ID Ihres Bootlaufwerks. Diese sollte ein ähnliches Format wie dev/sdc1 haben.

  5. Bearbeiten Sie die Datei authorized_keys auf dem Bootlaufwerk, um den Inhalt der im ersten Schritt generierten Datei öffentlicher Schlüssel anzuhängen:

    vi /mnt/boot-disk/.ssh/authorized_keys
    
  6. Fahren Sie die temporäre VM herunter.

  7. Schalten Sie die Administrator-Workstation ein.

  8. Verwenden Sie den neu generierten privaten Schlüssel, um auf die Administrator-Workstation zuzugreifen.

    ssh -i ~/.ssh/new-admin-ws.key ubuntu@"${ADMIN_WS_IP}"
    

Verwenden Sie den neu generierten privaten Schlüssel, um weiterhin auf Ihre Administrator-Workstation zuzugreifen.

Nächste Schritte

Administratorcluster erstellen