|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
iSCSI Volumes
In Rancher gestartete Kubernetes-Cluster, die Daten auf iSCSI-Volumes speichern, kann es zu einem Problem kommen, bei dem kubelets nicht automatisch mit iSCSI-Volumes verbunden werden können. Dieser Fehler ist wahrscheinlich auf ein Kompatibilitätsproblem mit dem iSCSI-Initiator-Tool zurückzuführen. Sie können dieses Problem lösen, indem Sie das iSCSI-Initiator-Tool auf jedem Ihrer Cluster-Knoten installieren.
Rancher gestartete Kubernetes-Cluster, die Daten auf iSCSI-Volumes speichern, nutzen das iSCSI-Initiator-Tool, das im rancher/hyperkube Docker-Image des kubelets eingebettet ist. Von jedem kubelet (d.h. dem Initiator) entdeckt das Tool und startet Sitzungen mit einem iSCSI-Volume (d.h. dem Ziel). In einigen Fällen stimmen jedoch die Versionen des iSCSI-Initiator-Tools, die auf dem Initiator und dem Ziel installiert sind, möglicherweise nicht überein, was zu einem Verbindungsfehler führt.
Wenn Sie auf dieses Problem stoßen, können Sie es umgehen, indem Sie das Initiator-Tool auf jedem Knoten in Ihrem Cluster installieren. Sie können das iSCSI-Initiator-Tool installieren, indem Sie sich bei Ihren Cluster-Knoten anmelden und einen der folgenden Befehle eingeben:
| Plattform | Paketname | Installationsbefehl |
|---|---|---|
Ubuntu/Debian |
|
|
RHEL |
|
|
Nachdem Sie das Initiator-Tool auf Ihren Knoten installiert haben, bearbeiten Sie die YAML für Ihren Cluster und ändern Sie die kubelet-Konfiguration, um die iSCSI-Binärdatei und die Konfiguration einzubinden, wie im folgenden Beispiel gezeigt.
|
Anmerkungen
|
services:
kubelet:
extra_binds:
- "/etc/iscsi:/etc/iscsi"
- "/sbin/iscsiadm:/sbin/iscsiadm"
Wenn Sie RHEL 7.9 verwenden, müssen Sie die Datei /usr/lib64/libcrypto.so.10 wie im folgenden Beispiel gezeigt einbinden.
services:
kubelet:
extra_binds:
- "/etc/iscsi:/etc/iscsi"
- "/sbin/iscsiadm:/sbin/iscsiadm"
- "/usr/lib64/libcrypto.so.10:/usr/lib/libcrypto.so.10"
Wenn Sie RHEL 8.6 verwenden, müssen Sie die Datei /usr/lib64/libcrypto.so.1.1 wie im folgenden Beispiel einbinden.
services:
kubelet:
extra_binds:
- "/etc/iscsi:/etc/iscsi"
- "/sbin/iscsiadm:/sbin/iscsiadm"
- "/usr/lib64/libcrypto.so.1.1:/usr/lib/libcrypto.so.1.1"
|
Um zu überprüfen, ob iscsiadm ordnungsgemäß funktioniert, können Sie den Befehl |