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

これは未公開の文書です SUSE® Storage 1.12 (Dev).

CSIコンポーネントポッドのアンチアフィニティ

この文書では、Longhorn CSIコンポーネントのポッドアンチアフィニティを構成する方法について説明します。 ポッドアンチアフィニティは、複数のCSIコンポーネントのレプリカが同じノードで実行されないようにすることで、特に小規模クラスターにおいてストレージの耐障害性を高めます。

ポッドアンチアフィニティの詳細については、Kubernetesのドキュメントを参照してください。 ポッド間のアフィニティとアンチアフィニティ

Longhorn CSIコンポーネントのポッドアンチアフィニティの構成

これらのLonghorn CSIコンポーネントのポッドアンチアフィニティを構成できます:

  • csi-attacher

  • csi-provisioner

  • csi-resizer

  • csi-snapshotter

`podAntiAffinityPreset`設定は次の値を受け入れます:

  • ソフト(デフォルト):`preferredDuringSchedulingIgnoredDuringExecution`を使用したベストエフォートルール。スケジューラーは、複数のCSIレプリカを同じノードに配置しないように試みますが、これは保証されません。

  • ハード:`requiredDuringSchedulingIgnoredDuringExecution`を使用した厳格なルール。スケジューラーは、アンチアフィニティルールに違反するノードへのポッド配置をブロックします。適切なノードが存在しない場合、ポッドは`Pending`状態のままになることがあります。

SUSE Storageインストール中の構成

初期インストール中に、次のいずれかの方法を使用してポッドアンチアフィニティを設定できます。

Rancherを使用する

Rancher UIを通じてSUSE Storageをインストールする際に、*YAMLとして編集*を選択し、YAMLに次のパラメータを追加します:

csi:
    podAntiAffinityPreset: "hard"

Helmを使用する

Helmを使用してSUSE Storageをインストールする際に、`csi.podAntiAffinityPreset`ファイル内の`values.yaml`値を設定します:

csi:
  podAntiAffinityPreset: hard

`values.yaml`ファイルに追加した後、通常通りチャートをインストールします。

Kubectlの使用

SUSE Storageを使用して`kubectl`をデプロイする場合は、`longhorn-driver-deployer`デプロイメントを手動で編集し、コンテナ仕様に次の環境変数を追加します:

- name: CSI_POD_ANTIAFFINITY_PRESET
  value: hard

SUSE Storageのインストール後の設定

デプロイメントの編集は、`longhorn-driver-deployer`とすべてのCSIポッドを再デプロイします。

既存のインストールを更新するには、`longhorn-driver-deployer`デプロイメントを手動で編集し、コンテナ仕様に次の環境変数を追加します:

- name: CSI_POD_ANTIAFFINITY_PRESET
  value: hard