この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

ノードセレクター

特定のノードセットでのみLonghornコンポーネントを実行するように制限したい場合は、すべてのLonghornコンポーネントに対してノードセレクターを設定できます。 例えば、LinuxノードとWindowsノードの両方があるクラスターにLonghornをインストールしたいが、LonghornはWindowsノードでは実行できません。 この場合、ノードセレクターを設定してLonghornをLinuxノードでのみ実行するように制限できます。

ノードセレクターの動作についての詳細は、 公式Kubernetesドキュメントを参照してください。

Longhornのノードセレクターの設定

Longhornは、ユーザーがデプロイしたコンポーネント(例:Longhorn Manager、Longhorn Driver、Longhorn UI)とシステム管理されたコンポーネント(例:インスタンスマネージャー、バックイメージマネージャー、シェアマネージャー、CSIドライバー、エンジンイメージ)で構成されています。 両方のタイプのコンポーネントに対してノードセレクターを設定する必要があります。以下の詳細を参照してください。

Longhornのインストール中にノードセレクターを設定する

  1. ユーザーがデプロイしたコンポーネント(例:Longhorn Manager、Longhorn Driver、Longhorn UI)に対してノードセレクターを設定します。

    • Rancherを通じてLonghornをインストールする場合は、インストール中にRancher UIで「Edit as YAML」をクリックし、YAMLに以下のパラメータをコピー&ペーストして、すべてのユーザーがデプロイしたコンポーネントに値を適用する必要があります。

         global:
           nodeSelector:
             label-key1: "label-value1"
    • 各ユーザーがデプロイしたコンポーネントに対してノードセレクターを指定することもでき、グローバル設定を上書きします。

         longhornManager:
           nodeSelector:
             label-key1: "label-value1"
         longhornDriver:
           nodeSelector:
             label-key1: "label-value1"
         longhornUI:
           nodeSelector:
             label-key1: "label-value1"
    • `kubectl`を使用して デプロイメントYAMLを適用する場合は、Longhorn Manager、Longhorn UI、およびLonghorn Driver Deployerのノードセレクターセクションを修正する必要があります。 次に、YAMLファイルを適用します。

    • Helmを使用してLonghornをインストールする場合は、チャートをインストールする前に`values.yaml`ファイル内の`global.nodeSelector`、longhornManager.nodeSelectorlonghornUI.nodeSelector、`longhornDriver.nodeSelector`のHelm値を変更できます。

  2. システム管理されたコンポーネント(例:インスタンスマネージャー、バックイメージマネージャー、シェアマネージャー、CSIドライバー、エンジンイメージ)に対してノードセレクターを設定します。

    デフォルト設定のカスタマイズに従って、`system-managed-components-node-selector`のデフォルト設定の値を変更してノードセレクターを設定します。

    Rancher 2.5.xの制限により、Rancher UIを使用してLonghornをインストールする場合は、`Edit As Yaml`をクリックして設定`systemManagedComponentsNodeSelector`を`defaultSettings`に追加する必要があります。

    次に例を示します。

    defaultSettings:
      systemManagedComponentsNodeSelector: "label-key1:label-value1"

Longhornがインストールされた後のノードセレクターの設定

警告:

  • すべてのLonghornコンポーネントが再起動されるため、Longhornシステムは一時的に利用できません。

  • すべてのLonghornボリュームが切り離されると、カスタマイズされた設定がシステム管理コンポーネント(例:インスタンスマネージャー、CSIドライバー、エンジンイメージ)に即座に適用されます。

  • 1つ以上のLonghornボリュームがまだ接続されている場合、エンジンとレプリカインスタンスが実行されていないときにのみ、カスタマイズされた設定がインスタンスマネージャーに適用されます。残りのボリュームを切り離した後、設定を再構成する必要があります。または、1時間後に行われる次回の設定同期を待つこともできます。

  • ノードセレクター設定が更新され、Longhornコンポーネントが再起動されている間は、Longhornシステムを操作しないでください。

  1. 準備

    • 希望する設定が即座に適用されるように、すべてのワークロードを停止し、適用する前にすべてのLonghornボリュームを切り離してください。

  2. ユーザーがデプロイしたコンポーネント(例:Longhorn Manager、Longhorn Driver、Longhorn UI)に対してノードセレクターを設定します。

    • Rancherを通じてLonghornをインストールする場合、アップグレード中にRancher UIで「Edit as YAML」をクリックし、YAMLに以下のパラメータをコピー&ペーストして、すべてのユーザーがデプロイしたコンポーネントに値を適用する必要があります。

         global:
           nodeSelector:
             label-key1: "label-value1"
    • 各ユーザーがデプロイしたコンポーネントのノードセレクターを指定することもでき、グローバル設定を上書きします。

        longhornManager:
          nodeSelector:
            label-key1: "label-value1"
        longhornDriver:
          nodeSelector:
            label-key1: "label-value1"
        longhornUI:
          nodeSelector:
            label-key1: "label-value1"
    • `kubectl`を使用して デプロイメントYAMLを適用する場合は、Longhorn Manager、Longhorn UI、およびLonghorn Driver Deployerのノードセレクターセクションを修正する必要があります。 その後、YAMLファイルを再適用します。

    • Helmを使用してLonghornをインストールする場合、values.yaml`ファイル内の`global.nodeSelectorlonghornManager.nodeSelectorlonghornUI.nodeSelector、`longhornDriverDeployer.nodeSelector`のHelm値を変更し、次に`helm upgrade`を実行してチャートの新しいバージョンにアップグレードします。

  3. システム管理されたコンポーネント(例:Instance Manager、Backing Image Manager、Share Manager、CSI Driver、Engine Image)に対してノードセレクターを設定します。

    ノードセレクター設定は、Longhorn UIのSettings  System Managed Components Node Selectorの下にあります。

  4. クリーンアップ

    ノードセレクターを変更して、Longhornが現在実行中のノードのいくつかで実行できないようにする場合、このプロセスの後、これらのノードは`down`状態になります。これらのノードにレプリカが残っていないことを確認してください。 これらのノードのスケジューリングを無効にし、Longhorn UIで削除します。