Vorbereitung der Administratorworkstation

Die Administratorworkstation hostet Befehlszeilentools und Konfigurationsdateien für die Bereitstellung von Clustern während der Installation sowie Befehlszeilentools für die Interaktion mit bereitgestellten Clustern nach der Installation.

Sie laden Tools wie bmctl und die Google Cloud CLI auf die Administratorworkstation herunter und führen sie aus, um mit Clustern und Google Cloud-Ressourcen zu interagieren. Die Administratorworkstation hostet Konfigurationsdateien für die Bereitstellung von Clustern während der Installation, Upgrades und Updates. Nach der Installation hostet die Administratorworkstation kubeconfig-Dateien, sodass Sie kubectl für die Interaktion mit bereitgestellten Clustern verwenden können. Außerdem greifen Sie auf Logs für kritische Clustervorgänge auf der Administratorworkstation zu. Mit einer einzigen Administratorworkstation können viele Cluster erstellt und verwaltet werden.

Achten Sie darauf, dass die Administrator-Workstation die in den folgenden Abschnitten beschriebenen Voraussetzungen erfüllt.

Betriebssystem und Software

Damit bmctl ausgeführt und als Knoten der Steuerungsebene verwendet werden kann, gelten für die Administratorworkstation dieselben Betriebssystemanforderungen wie für Knoten. Die Administratorworkstation benötigt Docker, wird aber nicht als Containerlaufzeit verwendet. Wenn GKE on Bare Metal Cluster erstellt, wird ein Kubernetes in Docker-Cluster (Art) auf der Administrator-Workstation bereitgestellt. Dieser Bootstrap-Cluster hostet die Kubernetes-Controller, die zum Erstellen von Clustern benötigt werden. Sofern nicht anders angegeben, wird der Bootstrap-Cluster entfernt, wenn die Clustererstellung erfolgreich abgeschlossen wurde. Der Bootstrap-Cluster erfordert Docker, um Container-Images abzurufen.

Die Administratorworkstation muss die folgenden Anforderungen erfüllen, bevor Sie einen Cluster installieren können:

  • Das Betriebssystem ist eine unterstützte Linux-Distribution.

    Eine Liste der unterstützten Linux-Betriebssysteme und -Versionen finden Sie unter Betriebssystem auswählen. Diese Seite enthält Links zu Konfigurationsanleitungen, einschließlich der Docker-Konfiguration, für jedes Betriebssystem.

  • Die Docker-Version 19.03 oder höher ist installiert. Wenn Ihr System jedoch cgroup v2 verwendet, muss die Docker-Installation auf Ihrer Administratorworkstation Version 20.10.0 oder höher sein. Ob Ihr System „cgroup v2“ verwendet, können Sie daran erkennen, dass die Datei /sys/fs/cgroup/cgroup.controllers vorhanden ist. „cgroup v2“ wird nur als Vorschaufunktion unterstützt. Die Verwendung von Vorschaufunktionen in Produktionsumgebungen wird nicht empfohlen.

  • Der Nicht-Root-Nutzer ist Mitglied der Gruppe docker. Eine Anleitung finden Sie unter Docker als Nicht-Root-Nutzer verwalten.

  • Die Google Cloud CLI ist installiert.

    Mit den Tools kubectl und bmctl erstellen und verwalten Sie Cluster. Zum Installieren dieser Tools benötigen Sie die Tools gcloud und gsutil. Die gcloud-, gsutil- und kubectl-Befehlszeilentools sind Komponenten der gcloud CLI. Eine Installationsanleitung, einschließlich einer Anleitung zum Installieren von Komponenten, finden Sie unter gcloud CLI installieren.

  • kubectl ist installiert. Verwenden Sie die gcloud CLI, um kubectl mit dem folgenden Befehl zu installieren:

    gcloud components install kubectl
    
  • bmctl ist für die Version des Clusters installiert, den Sie erstellen oder betreiben.

    Die Installation besteht aus dem Download von gsutil, um das Binär- oder Image-Paket bmctl herunterzuladen. Eine Anleitung finden Sie unter Anthos-Cluster auf Bare Metal herunterladen.

Anforderungen an Hardwareressourcen

Die Administratorworkstation benötigt eine erhebliche Rechenleistung, Arbeitsspeicher und Speicher, um Tools auszuführen und die mit der Clustererstellung und -verwaltung verbundenen Ressourcen zu speichern.

Standardmäßig wird für Clusterupgrades und Clustererstellungsvorgänge ein Bootstrap-Cluster verwendet. Wenn ein Bootstrap-Cluster verwendet wird, erhöht sich die CPU- und Arbeitsspeichernutzung erheblich. Wenn Sie die Administratorworkstation als Knoten der Steuerungsebene verwenden möchten, verwenden Sie nicht weniger als die empfohlene höhere Menge an CPUs und RAM, um zu verhindern, dass Aktivitäten der Administratorworkstation die Funktionen der Steuerungsebene des Clusters beeinträchtigen.

Je nach Größe der etcd-Datenbank und der Anzahl der Knoten der Steuerungsebene verbrauchen Sicherungs- und Wiederherstellungsvorgänge im Cluster erheblichen RAM. Die grobe Schätzung für den für Sicherungen erforderlichen RAM beträgt 3–5 GiB pro Knoten der Steuerungsebene. Die Sicherung schlägt fehl, wenn nicht genügend Arbeitsspeicher vorhanden ist. Planen Sie Ihre RAM-Anforderungen entsprechend.

Die folgende Tabelle enthält die Mindest- und empfohlenen Hardwareanforderungen für die Administratorworkstation:

Ressource Minimum Chrome Enterprise Recommended
CPUs / vCPUs* 2 Core 4 Core
RAM Ubuntu: 4 GiB
CentOS/RHEL: 6 GiB
Ubuntu: 8 GiB
CentOS/RHEL: 12 GiB
Speicherplatz 128 GiB 256 GiB

* GKE auf Bare Metal unterstützt nur x86-64-CPUs und -vCPUs auf CPU-Mikroarchitekturebene v3 (x86-64-v3) und höher.

Netzwerkanforderungen

Die Administratorworkstation benötigt Zugriff auf Google Cloud und alle Clusterknoten.

Zugriff auf Google Cloud

Die Administratorworkstation greift auf Google Cloud zu, um Tools und Images herunterzuladen und zu installieren, Autorisierungsanfragen zu verarbeiten, Dienstkonten zu erstellen, Logging und Monitoring zu verwalten und vieles mehr. Ohne Zugriff auf Google Cloud können Sie keine Cluster erstellen.

Der Zugriff auf Google Cloud kann entweder direkt oder über einen Proxyserver erfolgen. Informationen zu den verschiedenen Möglichkeiten zum Herstellen einer Verbindung zu Google Cloud finden Sie unter Mit Google verbinden. Informationen zum Konfigurieren eines Proxyservers finden Sie unter Hinter einem Proxy installieren.

Informationen zu den Folgen eines unterbrochenen Zugriffs auf Google Cloud finden Sie unter Auswirkungen einer vorübergehenden Trennung von Google Cloud.

Zugriff auf Knoten

Zum Erstellen und Verwalten von Clustern über Ihre Administratorworkstation benötigen Sie den folgenden Zugriff auf die Knotenmaschinen:

  • Es muss eine Ebene-3-Verbindung zu allen Clusterknoten-Rechnern existieren.
  • Passwortloser root-Zugriff auf alle Maschinen mit Clusterknoten über SSH. Der SSH-Zugriff kann entweder direkt oder über sudo erfolgen.
  • Zugriff auf die VIP der Steuerungsebene.

IP-Weiterleitung

Die IP-Weiterleitung muss auf der Administratorworkstation aktiviert sein. Ohne IP-Weiterleitung kann der Bootstrap-Cluster nicht erstellt werden, wodurch die Clustererstellung blockiert wird. Wenn die IP-Weiterleitung deaktiviert ist, wird beim Versuch, einen Cluster zu erstellen, ein Fehler wie der folgende angezeigt:

Error message: E0202 14:53:25.979322 225917 console.go:110] Error creating cluster: create kind cluster failed: error creating bootstrap cluster: failed to init node with kubeadm: command "docker exec --privileged bmctl-control-plane kubeadm init --skip-phases=preflight --config=/kind/kubeadm.conf --skip-token-print --v=6" failed with error: exit status 1

Sie können die Einstellung für die IP-Weiterleitung mit dem folgenden Befehl prüfen:

cat /proc/sys/net/ipv4/ip_forward

Der Wert 1 gibt an, dass die IP-Weiterleitung aktiviert ist. Wenn die IP-Weiterleitung deaktiviert ist (0), aktivieren Sie sie mit dem folgenden Befehl:

echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward

SSH-Zugriff von root auf Knoten einrichten

Wenn Sie sichere, passwortlose Verbindungen zwischen der Administratorworkstation und den Clusterknotenmaschinen ermöglichen möchten, erstellen Sie einen SSH-Schlüssel auf Ihrer Administratorworkstation und geben den öffentlichen Schlüssel für Clusterknoten frei.

  1. Aktivieren Sie die SSH-Passwortauthentifizierung mit root auf jeder Clusterknotenmaschine. Entfernen Sie dazu die Kommentarzeichen oder fügen Sie die Zeilen PermitRootLogin und PasswordAuthentication in der Datei /etc/ssh/sshd_config hinzu und setzen Sie die Werte auf yes.

    # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
    
    # This is the sshd server system-wide configuration file.  See
    # sshd_config(5) for more information.
    
    ...
    
    # Authentication:
    
    #LoginGraceTime 2m
    PermitRootLogin yes
    #StrictModes yes
    #MaxAuthTries 6
    #MaxSessions 10
    
    ...
    
    PasswordAuthentication yes
    

    Zu Beginn muss die SSH-Passwortauthentifizierung auf den Remote-Clusterknotenmaschinen aktiviert sein, damit Schlüssel von der Administratorworkstation freigegeben werden können.

  2. Starten Sie den SSH-Dienst neu, um die Änderungen an der SSH-Konfiguration zu übernehmen:

    sudo systemctl restart ssh.service
    
  3. Generieren Sie auf der Administrator-Workstation ein privates/öffentliches Schlüsselpaar. Legen Sie keine Passphrase für die Schlüssel fest. Generieren Sie die Schlüssel mit dem folgenden Befehl:

    ssh-keygen -t rsa
    

    Sie können auch den sudo-Nutzerzugriff auf die Maschinen mit Clusterknoten verwenden, um SSH einzurichten. Bei passwortlosen Nicht-Root-Nutzerverbindungen müssen Sie jedoch die Clusterkonfigurationsdatei mit dem Feld spec.nodeAccess.loginUser aktualisieren. Dieses Feld ist standardmäßig auskommentiert. Sie können Ihren Nicht-Root-Nutzernamen mit loginUser während der Clustererstellung oder jederzeit danach angeben. Weitere Informationen finden Sie unter loginUser.

  4. Fügen Sie den generierten öffentlichen Schlüssel den Maschinen des Clusterknotens hinzu:

    ssh-copy-id -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
    

    Ersetzen Sie Folgendes:

    • PATH_TO_IDENTITY_FILE: Pfad zu der Datei, die den öffentlichen SSH-Schlüssel enthält. Der Pfad zur Identitätsdatei, die den öffentlichen Schlüssel enthält, lautet standardmäßig /home/USERNAME/.ssh/id_rsa.pub.
    • CLUSTER_NODE_IP ist die IP-Adresse der Knotenmaschine, der Sie den öffentlichen SSH-Schlüssel hinzufügen.
  5. Deaktivieren Sie die SSH-Passwortauthentifizierung auf den Maschinen des Clusterknotens. Setzen Sie dazu PasswordAuthentication in der Datei sshd_config auf no und starten Sie den SSH-Dienst neu.

  6. Führen Sie den folgenden Befehl auf der Administrator-Workstation aus, um zu prüfen, ob die Authentifizierung mit öffentlichem Schlüssel zwischen der Workstation und den Knotenmaschinen funktioniert.

    ssh -o IdentitiesOnly=yes -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
    

    Wenn SSH richtig konfiguriert ist, können Sie sich über die Administrator-Workstation (als root) bei der Knotenmaschine anmelden, ohne ein Passwort eingeben zu müssen.

Nächste Schritte