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 während der Installation, Upgrades und Updates Cluster bereitzustellen. Nach der Installation hostet die Administratorworkstation kubeconfig
-Dateien, sodass Sie kubectl
verwenden können, um mit bereitgestellten Clustern zu interagieren. Sie greifen auch auf Logs für kritische Clustervorgänge auf der Administratorworkstation zu. Eine einzelne Administratorworkstation kann zum Erstellen und Verwalten vieler Cluster verwendet werden.
Prüfen Sie, ob die Administratorworkstation die in den folgenden Abschnitten beschriebenen Voraussetzungen erfüllt.
Betriebssystem und Software
Zum Ausführen von bmctl
und als Knoten der Steuerungsebene hat die Administratorworkstation die gleichen Betriebssystemanforderungen wie Knoten. Die Administrator-Workstation erfordert Docker, kann jedoch nicht als Containerlaufzeit verwendet werden. Wenn Google Distributed Cloud Cluster erstellt, wird ein Kubernetes-in-Docker-Cluster (Typ) 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 wurde. 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 Konfigurationsanleitungen, einschließlich Docker-Konfiguration, für jedes Betriebssystem.
Docker-Version 19.03 oder höher ist installiert. Wenn Ihr System jedoch cgroup v2 verwendet, muss die Docker-Installation auf Ihrer Administrator-Workstation mindestens Version 20.10.0 haben. 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 und -funktionen in Produktionsumgebungen wird nicht empfohlen.Ein Nutzer ohne Root-Berechtigung ist Mitglied der Gruppe
docker
. Eine Anleitung dazu finden Sie unter Docker als Nicht-Root-Nutzer verwalten.Die Google Cloud CLI ist installiert.
Cluster werden mit den Tools
kubectl
undbmctl
erstellt und verwaltet. Zum Installieren dieser Tools benötigen Sie die Toolsgcloud
undgsutil
. Die Befehlszeilentoolsgcloud
,gsutil
undkubectl
sind Komponenten der gcloud CLI. Installationsanweisungen, einschließlich Anweisungen zur Installation 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 der Verwendung von
gsutil
, um das Binär- oder Image-Paketbmctl
herunterzuladen. Eine Anleitung finden Sie unter Google Distributed Cloud für Bare-Metal-Downloads.
Anforderungen an Hardwareressourcen
Die Administratorworkstation benötigt eine erhebliche Rechenleistung sowie viel Arbeitsspeicher und Speicher, um Tools auszuführen und die mit der Erstellung und Verwaltung von Clustern verbundenen Ressourcen zu speichern.
Standardmäßig verwenden die Clusterupgrades und Clustererstellungsvorgänge einen Bootstrap-Cluster. Bei der Verwendung eines Bootstrap-Clusters nimmt die CPU- und Arbeitsspeichernutzung erheblich zu. Wenn Sie die Administratorworkstation als Knoten der Steuerungsebene verwenden möchten, verwenden Sie mindestens die höhere empfohlene Anzahl von CPUs und RAM, um zu verhindern, dass Aktivitäten der Administratorworkstation die Funktionen der Cluster-Steuerungsebene beeinträchtigen.
Je nach Größe der etcd-Datenbank und der Anzahl der Knoten der Steuerungsebene verbrauchen Clustersicherungs- und -wiederherstellungsvorgänge einen erheblichen RAM-Speicher. Der für Sicherungen erforderliche RAM beträgt ungefähr 3–5 GiB pro Knoten der Steuerungsebene. Die Sicherung schlägt fehl, da 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 Administrator-Workstation:
Ressource | Minimum | Empfohlen |
---|---|---|
CPUs / vCPUs* | 2 Core | 4 Core |
RAM | Ubuntu: 4 GiB RHEL: 6 GiB |
Ubuntu: 8 GiB RHEL: 12 GiB |
Speicherplatz | 128 GiB | 256 GiB |
* Google Distributed Cloud 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. Sie können keine Cluster ohne Zugriff auf Google Cloud erstellen.
Der Zugriff auf Google Cloud kann entweder direkt oder über einen Proxyserver erfolgen. Informationen zu den verschiedenen Möglichkeiten, eine Verbindung zu Google Cloud herzustellen, finden Sie unter Mit Google verbinden. Informationen zum Konfigurieren eines Proxyservers finden Sie unter Installation hinter einem Proxy.
Informationen zu den Folgen eines unterbrochenen Zugriffs auf Google Cloud finden Sie unter Auswirkungen der vorübergehenden Trennung von Google Cloud.
Zugriff auf Knoten
Zum Erstellen und Verwalten von Clustern über Ihre Administratorworkstation benötigen Sie die folgenden Zugriffsrechte für die Knotenmaschinen:
- Es muss eine Ebene-3-Verbindung zu allen Clusterknoten-Rechnern existieren.
- Passwortloser SSH-Zugriff auf alle Maschinen mit Clusterknoten als
root
oder als Nicht-Root-Nutzer mit passwortlosensudo
-Berechtigungen. - Zugriff auf die VIP der Steuerungsebene.
IP-Weiterleitung
Auf der Administratorworkstation muss die IP-Weiterleitung aktiviert sein. Ohne IP-Weiterleitung kann der Bootstrap-Cluster nicht erstellt werden. Dadurch wird die Clustererstellung blockiert. Wenn die IP-Weiterleitung deaktiviert ist, wird beim Erstellen eines Clusters 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
Mit dem folgenden Befehl können Sie die IP-Weiterleitungseinstellung 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
), verwenden Sie den folgenden Befehl, um sie zu aktivieren:
echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward
root
-SSH-Zugriff 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
root
auf allen Clusterknotencomputern. Entfernen Sie dazu die Auskommentierung oder fügen Sie die ZeilenPermitRootLogin
undPasswordAuthentication
in die Datei/etc/ssh/sshd_config
ein 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 Maschinen mit Remote-Clusterknoten 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 Paar aus privatem und öffentlichem Schlüssel auf der Administratorworkstation. 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 SSH auch mit dem
sudo
-Nutzerzugriff auf die Maschinen mit Clusterknoten einrichten. Für passwortlose Nutzerverbindungen ohne Root-Berechtigung müssen Sie die Clusterkonfigurationsdatei jedoch 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 des Clusterknotens hinzu:
ssh-copy-id -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
Ersetzen Sie Folgendes:
PATH_TO_IDENTITY_FILE
: der Pfad zur Datei, die den öffentlichen SSH-Schlüssel enthält. Standardmäßig lautet der Pfad zur Identitätsdatei, die den öffentlichen Schlüssel enthält,/home/USERNAME/.ssh/id_rsa.pub
.CLUSTER_NODE_IP
: die IP-Adresse des Knotencomputers, dem Sie den öffentlichen SSH-Schlüssel hinzufügen.
Deaktivieren Sie die SSH-Passwortauthentifizierung auf den Maschinen mit Clusterknoten, indem Sie
PasswordAuthentication
in der Dateisshd_config
aufno
setzen und den SSH-Dienst neu starten.Prüfen Sie mit dem folgenden Befehl auf der Administratorworkstation, 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 von der Administratorworkstation aus (als
root
) beim Knotencomputer anmelden, ohne ein Passwort eingeben zu müssen.