Vorbereitung der Administratorworkstation

Die Administratorworkstation hostet Befehlszeilentools und Konfigurationsdateien zum Bereitstellen 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, um Cluster während der Installation, Upgrades und Updates bereitzustellen. Nach der Installation hostet die Administratorworkstation kubeconfig-Dateien, sodass Sie kubectl für die Interaktion mit bereitgestellten Clustern verwenden können. Sie greifen auch auf Logs für kritische Clustervorgänge auf der Administratorworkstation zu. Mit einer einzigen Administratorworkstation können viele Cluster erstellt und verwaltet werden.

Prüfen Sie, ob die Administratorworkstation 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, kann jedoch nicht als Containerlaufzeit verwendet werden. Wenn GKE on Bare Metal Cluster erstellt, wird ein Cluster vom Typ Kubernetes in Docker (Art) auf der Administrator-Workstation bereitgestellt. Dieser Bootstrap-Cluster hostet die Kubernetes-Controller, die zum Erstellen von Clustern erforderlich sind. Sofern nicht anders angegeben, wird der Bootstrap-Cluster entfernt, wenn die Clustererstellung erfolgreich abgeschlossen ist. Für den Bootstrap-Cluster ist Docker erforderlich, 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 Konfigurationsanweisungen, 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, erkennen Sie an der Datei /sys/fs/cgroup/cgroup.controllers. „cgroup v2“ wird nur als Vorabversion 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.

    Zum Erstellen und Verwalten von Clustern verwenden Sie die Tools kubectl und bmctl. Für die Installation dieser Tools benötigen Sie die Tools gcloud und gsutil. Die gcloud-, gsutil- und kubectl-Befehlszeilentools sind Komponenten der gcloud CLI. Installationsanweisungen, 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 gsutil, um das Binär- oder Image-Paket bmctl herunterzuladen. Eine Anleitung finden Sie unter Downloads von Anthos Clusters on Bare Metal.

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 verwenden die Vorgänge zum Clusterupgrade und zur Clustererstellung einen Bootstrap-Cluster. Bei der Verwendung eines Bootstrap-Clusters nimmt die CPU- und Arbeitsspeichernutzung deutlich zu. 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 der Cluster-Steuerungsebene beeinträchtigen.

Je nach Größe der etcd-Datenbank und der Anzahl der Knoten der Steuerungsebene verbrauchen Sicherungs- und Wiederherstellungsvorgänge im Cluster einen erheblichen RAM-Speicher. 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 Empfohlen
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 on 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

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

  1. Aktivieren Sie die SSH-Passwortauthentifizierung von root auf jeder Maschine mit Clusterknoten. Entfernen Sie dazu die Kommentare oder fügen Sie in der Datei /etc/ssh/sshd_config die Zeilen PermitRootLogin und PasswordAuthentication 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, um Schlüssel von der Administratorworkstation freizugeben.

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

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

    ssh-keygen -t rsa
    

    Sie können den Nutzerzugriff sudo auch auf die Maschinen mit Clusterknoten verwenden, um SSH einzurichten. Für passwortlose 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 zu den Maschinen mit Clusterknoten hinzu:

    ssh-copy-id -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
    

    Ersetzen Sie Folgendes:

    • PATH_TO_IDENTITY_FILE: der Pfad zu der Datei, die den öffentlichen SSH-Schlüssel enthält. Standardmäßig lautet der Pfad zur Identitätsdatei mit dem öffentlichen Schlüssel /home/USERNAME/.ssh/id_rsa.pub.
    • CLUSTER_NODE_IP: 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. Dazu setzen Sie PasswordAuthentication in der Datei sshd_config auf no und starten den SSH-Dienst neu.

  6. Verwenden Sie den folgenden Befehl auf der Administratorworkstation, 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 auf der Administratorworkstation (als root) bei der Knotenmaschine anmelden, ohne ein Passwort eingeben zu müssen.

Nächste Schritte