|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
iSCSIボリューム
iSCSIボリュームにデータを保存するRancherが起動したKubernetesクラスターでは、kubeletがiSCSIボリュームに自動的に接続できない問題が発生することがあります。このエラーは、iSCSIイニシエータツールに関する互換性の問題が原因である可能性が高いです。この問題は、クラスターの各ノードにiSCSIイニシエータツールをインストールすることで解決できます。
iSCSIボリュームにデータを保存するRancherが起動したKubernetesクラスターは、kubeletの`rancher/hyperkube` Dockerイメージに埋め込まれているを利用します。各kubelet(つまり、イニシエータ)から、このツールはiSCSIボリューム(つまり、ターゲット)とのセッションを発見し、開始します。ただし、場合によっては、イニシエータとターゲットにインストールされているiSCSIイニシエータツールのバージョンが一致しないことがあり、接続エラーが発生します。
この問題に直面した場合、クラスター内の各ノードにイニシエータツールをインストールすることで回避できます。クラスターのノードにログインし、以下のいずれかのコマンドを入力することで、iSCSIイニシエータツールをインストールできます:
| プラットフォーム | [Package Name] | インストールコマンド |
|---|---|---|
Ubuntu/Debian |
|
|
RHEL |
|
|
ノードにイニシエータツールをインストールした後、クラスターのYAMLを編集し、iSCSIバイナリと設定をマウントするようにkubeletの設定を編集します。以下のサンプルに示すように。
|
備考
|
services:
kubelet:
extra_binds:
- "/etc/iscsi:/etc/iscsi"
- "/sbin/iscsiadm:/sbin/iscsiadm"
RHEL 7.9を使用している場合は、以下のサンプルに示すようにファイル`/usr/lib64/libcrypto.so.10`をマウントする必要があります。
services:
kubelet:
extra_binds:
- "/etc/iscsi:/etc/iscsi"
- "/sbin/iscsiadm:/sbin/iscsiadm"
- "/usr/lib64/libcrypto.so.10:/usr/lib/libcrypto.so.10"
RHEL 8.6を使用している場合は、以下のサンプルに示すようにファイル`/usr/lib64/libcrypto.so.1.1`をマウントする必要があります。
services:
kubelet:
extra_binds:
- "/etc/iscsi:/etc/iscsi"
- "/sbin/iscsiadm:/sbin/iscsiadm"
- "/usr/lib64/libcrypto.so.1.1:/usr/lib/libcrypto.so.1.1"
|
iscsiadmが正しく動作しているか確認するには、任意のノードでコマンド`docker exec kubelet iscsiadm --version`を実行できます。 |