GlusterFS Volumes
|
Dieser Abschnitt gilt nur für RKE-Cluster. |
In Clustern, die Daten auf GlusterFS Volumes speichern, kann es zu einem Problem kommen, bei dem Pods nach dem Neustart des kubelet die Volumes nicht einbinden können. Die Protokollierung des kubelet zeigt: transport endpoint is not connected. Um dies zu verhindern, können Sie Ihren Cluster so konfigurieren, dass das systemd-run-Binary im kubelet-Container eingebunden wird. Es gibt zwei Voraussetzungen, bevor Sie die Cluster-Konfiguration ändern können:
-
Der Knoten muss das
systemd-run-Binary installiert haben (dies kann überprüft werden, indem der Befehlwhich systemd-runauf jedem Cluster-Knoten verwendet wird) -
Das
systemd-run-Binary muss mit dem Debian-Betriebssystem kompatibel sein, auf dem das Hyperkube-Image basiert (dies kann überprüft werden, indem der folgende Befehl auf jedem Cluster-Knoten ausgeführt wird, wobei das Image-Tag durch die Kubernetes-Version ersetzt wird, die Sie verwenden möchten)
docker run -v /usr/bin/systemd-run:/usr/bin/systemd-run -v /usr/lib/x86_64-linux-gnu/libcrypto.so.3:/usr/lib/x86_64-linux-gnu/libcrypto.so.3 -v /lib/systemd/libsystemd-shared-249.so:/lib/systemd/libsystemd-shared-249.so --entrypoint /usr/bin/systemd-run rancher/hyperkube:v1.26.14-rancher1 --version
|
Bevor Sie Ihr Kubernetes-YAML aktualisieren, um das |
services:
kubelet:
extra_binds:
- "/usr/bin/systemd-run:/usr/bin/systemd-run"
- "/usr/lib/x86_64-linux-gnu/libcrypto.so.3:/usr/lib/x86_64-linux-gnu/libcrypto.so.3"
- "/lib/systemd/libsystemd-shared-249.so:/lib/systemd/libsystemd-shared-249.so"
Nachdem der Cluster die Bereitstellung abgeschlossen hat, können Sie die Protokollierung des kubelet-Containers überprüfen, um zu sehen, ob die Funktionalität aktiviert ist, indem Sie nach der folgenden Protokollzeile suchen:
Detected OS with systemd