Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

ワーカーノードを準備します

共同作成者

Kubernetesクラスタ内のすべてのワーカーノードが、ポッド用にプロビジョニングしたボリュームをマウントできる必要があります。ワーカーノードを準備するには、ドライバの選択に基づいて、NFS、iSCSI、またはNVMe/TCPのいずれかのツールをインストールする必要があります。

適切なツールを選択する

ドライバを組み合わせて使用している場合は、ドライバに必要なすべてのツールをインストールする必要があります。最新バージョンのRedHat CoreOSには、デフォルトでツールがインストールされています。

NFSツール

NFSツールを使用している場合は、次の手順でインストールします。 ontap-nasontap-nas-economyontap-nas-flexgroupazure-netapp-filesgcp-cvs

iSCSIツール

使用する場合はiSCSIツールをインストールします。 ontap-sanontap-san-economysolidfire-san

NVMeツール

NVMeツールをインストールする(使用している場合) ontap-san Non-Volatile Memory Express(NVMe)over TCP(NVMe/TCP)プロトコルの場合。

メモ NVMe/TCPにはONTAP 9.12以降を推奨します。

ノードサービスの検出

Astra Tridentは、ノードでiSCSIサービスやNFSサービスを実行できるかどうかを自動的に検出しようとします。

メモ ノードサービス検出で検出されたサービスが特定されますが、サービスが適切に設定されていることは保証されませ逆に、検出されたサービスがない場合も、ボリュームのマウントが失敗する保証はありません。
イベントを確認します

Astra Tridentが、検出されたサービスを特定するためのイベントをノードに対して作成次のイベントを確認するには、を実行します。

kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
検出されたサービスを確認

Astra Tridentは、TridentノードCRの各ノードで有効になっているサービスを識別します。検出されたサービスを表示するには、を実行します。

tridentctl get node -o wide -n <Trident namespace>

NFS ボリューム

オペレーティングシステム用のコマンドを使用して、NFSツールをインストールします。ブート時にNFSサービスが開始されていることを確認します。

RHEL 8以降
sudo yum install -y nfs-utils
Ubuntu
sudo apt-get install -y nfs-common
警告 NFSツールをインストールしたあとにワーカーノードをリブートして、コンテナにボリュームを接続する際の障害を回避します。

iSCSI ボリューム

Astra Tridentを使用すると、iSCSIセッションを自動的に確立し、LUNをスキャンし、マルチパスデバイスを検出してフォーマットし、ポッドにマウントできます。

iSCSIの自己回復機能

ONTAP システムでは、Astra TridentがiSCSIの自己修復機能を5分ごとに実行し、以下を実現します。

  1. *希望するiSCSIセッションの状態と現在のiSCSIセッションの状態を識別します

  2. *希望する状態と現在の状態を比較して、必要な修理を特定します。Astra Tridentが、修理の優先順位と、修理に先手を打つタイミングを判断

  3. *現在のiSCSIセッションの状態を希望するiSCSIセッションの状態に戻すために必要な修復*を実行します。

メモ 自己回復アクティビティのログはにあります trident-main 各Demonsetポッドにコンテナを配置します。ログを表示するには、を設定しておく必要があります debug Astra Tridentのインストール中に「true」に設定。

Astra Tridentの自動修復機能は、次のような問題を防止します。

  • ネットワーク接続問題 後に発生する可能性がある古いiSCSIセッションまたは正常でないiSCSIセッション。古いセッションの場合、Astra Tridentは7分待機してからログアウトし、ポータルとの接続を再確立します。

    メモ たとえば、ストレージコントローラでCHAPシークレットがローテーションされた場合にネットワークが接続を失うと、古い(stale)CHAPシークレットが保持されることがあります。自己修復では、これを認識し、自動的にセッションを再確立して、更新されたCHAPシークレットを適用できます。
  • iSCSIセッションがありません

  • LUNが見つかりません

iSCSIツールをインストール

使用しているオペレーティングシステム用のコマンドを使用して、iSCSIツールをインストールします。

作業を開始する前に
  • Kubernetes クラスタ内の各ノードには一意の IQN を割り当てる必要があります。* これは必須の前提条件です * 。

  • RHCOSバージョン4.5以降またはRHEL互換のその他のLinuxディストリビューションをで使用している場合は、を使用します solidfire-san DriverおよびElement OS 12.5以前。CHAP認証アルゴリズムがMD5 inに設定されていることを確認します /etc/iscsi/iscsid.conf。Element 12.7では、FIPS準拠のセキュアなCHAPアルゴリズムSHA1、SHA-256、およびSHA3-256が提供されています。

    sudo sed -i 's/^\(node.session.auth.chap_algs\).*/\1 = MD5/' /etc/iscsi/iscsid.conf
  • iSCSI PVSを搭載したRHEL / RedHat CoreOSを実行するワーカーノードを使用する場合は、を指定します discard StorageClassのmountOptionを使用して、インラインのスペース再生を実行します。を参照してください "Red Hat のドキュメント"

RHEL 8以降
  1. 次のシステムパッケージをインストールします。

    sudo yum install -y lsscsi iscsi-initiator-utils sg3_utils device-mapper-multipath
  2. iscsi-initiator-utils のバージョンが 6.2.0.874-2.el7 以降であることを確認します。

    rpm -q iscsi-initiator-utils
  3. スキャンを手動に設定:

    sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
  4. マルチパスを有効化:

    sudo mpathconf --enable --with_multipathd y --find_multipaths n
    メモ 「 /etc/multipath.conf 」に「 find _ multipaths no 」が「 defVaults 」に含まれていることを確認します。
  5. 「 iscsid 」と「 multipathd 」が実行されていることを確認します。

    sudo systemctl enable --now iscsid multipathd
  6. 'iSCSI' を有効にして開始します

    sudo systemctl enable --now iscsi
Ubuntu
  1. 次のシステムパッケージをインストールします。

    sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools
  2. open-iscsi バージョンが 2.0.874-5ubuntu2.10 以降( bionic の場合)または 2.0.874-7.1ubuntu6.1 以降( Focal の場合)であることを確認します。

    dpkg -l open-iscsi
  3. スキャンを手動に設定:

    sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
  4. マルチパスを有効化:

    sudo tee /etc/multipath.conf <<-'EOF
    defaults {
        user_friendly_names yes
        find_multipaths no
    }
    EOF
    sudo systemctl enable --now multipath-tools.service
    sudo service multipath-tools restart
    メモ 「 /etc/multipath.conf 」に「 find _ multipaths no 」が「 defVaults 」に含まれていることを確認します。
  5. 「 open-iSCSI」 および「マルチパスツール」が有効で実行されていることを確認します。

    sudo systemctl status multipath-tools
    sudo systemctl enable --now open-iscsi.service
    sudo systemctl status open-iscsi
    メモ Ubuntu 18.04 では 'iSCSI デーモンを起動するために 'open-iscsi' を起動する前に 'iscsiadm を持つターゲット・ポートを検出する必要がありますまたは 'iscsid' サービスを 'iscsid' を自動的に開始するように変更することもできます
警告 iSCSIツールをインストールしたあとにワーカーノードをリブートして、コンテナにボリュームを接続する際の障害を回避します。

NVMe/TCPホリユウム

オペレーティングシステムに対応したコマンドを使用してNVMeツールをインストールします。

メモ
  • NVMeにはRHEL 9以降が必要です。

  • Kubernetesノードのカーネルバージョンが古すぎる場合や、使用しているカーネルバージョンに対応するNVMeパッケージがない場合は、ノードのカーネルバージョンをNVMeパッケージで更新しなければならないことがあります。

RHEL 9
sudo yum install nvme-cli
sudo yum install linux-modules-extra-$(uname -r)
sudo modprobe nvme-tcp
Ubuntu
sudo apt install nvme-cli
sudo apt -y install linux-modules-extra-$(uname -r)
sudo modprobe nvme-tcp

インストールを確認します

インストールが完了したら、次のコマンドを使用して、Kubernetesクラスタ内の各ノードに一意のNQNが割り当てられていることを確認します。

cat /etc/nvme/hostnqn
警告 Astra Tridentは、 ctrl_device_tmo NVMeがダウンしてもパスを諦めないようにするための値。この設定は変更しないでください。