Sie müssen das Basisbetriebssystem Ihrer Knotenmaschinen konfigurieren, um GKE on Bare Metal zu verwenden. Diese Seite enthält die Schritte, die Sie ausführen müssen, um die erforderliche Konfiguration abzuschließen. Weitere Informationen zur Fehlerbehebung bei GKE on Bare Metal finden Sie in den Anleitungen zur Fehlerbehebung.
Hinweise
Vergewissern Sie sich, dass Sie eine unterstützte Version Ihres Betriebssystems verwenden. Eine Liste der unterstützten Versionen finden Sie unter Betriebssystem auswählen.
BPF-Just-In-Time-Compiler aktivieren
Im Kernel für Ihr Betriebssystem muss die Compiler-Option „BPF Just-In Time“ (CONFIG_BPF_JIT=y
) aktiviert sein.
Führen Sie den folgenden Befehl aus, um herauszufinden, ob diese Option aktiviert ist:
grep CONFIG_BPF_JIT /boot/config-$(uname -r)
Paketmanager validieren
Achten Sie darauf, dass Sie den RedHat-Nutzernamen und das zugehörige Passwort haben und Root-Zugriff auf die Maschinen haben, die Sie konfigurieren. Prüfen Sie den Paketmanager mit den folgenden Schritten:
Wenn Sie Ihr Betriebssystem noch nicht registriert haben, melden Sie sich mit Ihrem Nutzernamen und Passwort bei RedHat an, um Updates herunterzuladen:
sudo subscription-manager register sudo subscription-manager refresh sudo subscription-manager attach --auto
Auf Aktualisierungen überprüfen:
sudo dnf check-update
Die Ausgabe darf keine Fehler enthalten und die letzte Ablaufprüfung für Metadaten enthalten. Beispiel:
Updating Subscription Management repositories. ... # Last metadata expiration check: ... ...
firewalld konfigurieren oder deaktivieren
Firewalld kann für die Verwendung mit GKE on Bare Metal konfiguriert oder deaktiviert werden. Informationen zum Konfigurieren von firewalld finden Sie auf der Seite "Netzwerkanforderungen" unter firewalld-Ports konfigurieren.
Mit der folgenden Anleitung wird firewalld deaktiviert.
firewalld deaktivieren:
sudo systemctl stop firewalld sudo systemctl disable firewalld
Prüfen Sie, ob der Status von firewalld deaktiviert ist:
sudo systemctl status firewalld | grep "Active" # Output # Active: inactive (dead)
Docker auf Ihrer Workstation konfigurieren
So installieren Sie Docker manuell:
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
Podman-manpages entfernen:
sudo dnf remove podman-manpages
Installieren Sie Docker 20.10.0 oder höher:
sudo dnf install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/rhel/docker-ce.repo sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io sudo systemctl start docker
Prüfen Sie, ob Sie jetzt Version 20.10.0 oder höher ausführen:
sudo docker version
Vergleichen Sie Ihre Ausgabe mit dem folgenden Beispiel, um sicherzustellen, dass die Client- und Serverversion 20.10.0 oder höher sind:
Client: Docker Engine - Community Version: 25.0.3 ... Server: Docker Engine - Community Engine: Version: 25.0.3
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.
Zeitsynchronisierung einrichten
Bei der Zeitsynchronisierung werden die Uhren auf Ihren Knotenmaschinen mithilfe einer festgelegten externen Zeitreferenz eingestellt. Die Zeitsynchronisierung ist für zeitkritische Clusteraktivitäten wie Ereignis-Logging und Messwerterfassung wichtig.
Der Kernel Ihrer Knotenmaschine steuert die Uhr in Containern, die auf dem Knoten ausgeführt werden. Für eine ordnungsgemäße Zeitsynchronisierung installieren Sie auf Ihren Computern einen NTP-Dienst (Network Time Protocol) mit einem der verfügbaren Dienste: chrony
, systemd-timesyncd
, ntp
oder ntpdate
. Führen Sie timedatectl
aus, um zu prüfen, ob die Systemuhr synchronisiert ist. Die Ausgabe von timedatectl
sollte den folgenden Status enthalten:
System clock synchronized: yes
Achten Sie darauf, dass die inotify
-Grenzwerte für den Linux-Kernel mindestens dem Minimum entsprechen
Bei Maschinen mit RHEL 9 müssen die inotify
-Limits des Linux-Kernels für die maximale Anzahl von Nutzerinstanzen und Nutzer-Uhren größer oder gleich diesem Wert sein:
fs.inotify.max_user_instances
:8192
fs.inotify.max_user_watches
:524288
Achten Sie darauf, dass diese Werte auf Ihren Knotenmaschinen korrekt festgelegt sind:
Prüfen Sie den Wert von
max_user_instances
:cat /proc/sys/fs/inotify/max_user_instances
Aktualisieren Sie bei Bedarf
max_user_instances
auf den Mindestwert:echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
Prüfen Sie den Wert von
max_user_watches
:cat /proc/sys/fs/inotify/max_user_watches
Aktualisieren Sie bei Bedarf
max_user_watches
auf den Mindestwert:echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
Wenn Sie einen der Werte aktualisiert haben, starten Sie den Computer neu.
Best Practices
Zur Vereinfachung der Installation empfehlen wir die Konfiguration von RHEL mit einer minimalen Installation bei monitorloser Verwaltung. Aktivieren Sie außerdem Ihre Netzwerkverbindung und verwenden Sie entweder das Standard-DHCP oder geben Sie eine gültige statische IP-Adresse und Netzwerkinformationen an. Achten Sie darauf, dass die Maschine eine Verbindung zu erforderlichen externen Ressourcen wie cloud.google.com
herstellen kann.
Wenn Docker nicht ausgeführt werden kann, prüfen Sie mit dem folgenden Befehl, ob der Docker-Daemon ausgeführt wird:
sudo systemctl start docker