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
undbmctl
. Für die Installation dieser Tools benötigen Sie die Toolsgcloud
undgsutil
. Diegcloud
-,gsutil
- undkubectl
-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, umkubectl
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-Paketbmctl
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 übersudo
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.
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 ZeilenPermitRootLogin
undPasswordAuthentication
hinzu und setzen Sie die Werte aufyes
.# $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.
Starten Sie den SSH-Dienst neu, um die Änderungen an der SSH-Konfiguration zu übernehmen:
sudo systemctl restart ssh.service
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 Feldspec.nodeAccess.loginUser
aktualisieren. Dieses Feld ist standardmäßig auskommentiert. Sie können Ihren Nicht-Root-Nutzernamen mitloginUser
während der Clustererstellung oder jederzeit danach angeben. Weitere Informationen finden Sie unterloginUser
.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.
Deaktivieren Sie die SSH-Passwortauthentifizierung auf den Maschinen des Clusterknotens. Dazu setzen Sie
PasswordAuthentication
in der Dateisshd_config
aufno
und starten den SSH-Dienst neu.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.