Helm を使用した Trident オペレーターの導入(標準モード)
Helm を使用して Trident オペレーターを導入し、Trident をインストールできます。このプロセスは、Trident で必要なコンテナイメージがプライベートレジストリに保存されていないインストールに適用されます。プライベートイメージレジストリをお持ちの場合は、"オフライン展開のプロセス"を使用してください。
Trident 25.10に関する重要な情報
Trident に関する以下の重要な情報を必ずお読みください。
<strong>Tridentに関する重要な情報</strong>
-
Kubernetes 1.34 が Trident でサポートされるようになりました。Kubernetes をアップグレードする前に Trident をアップグレードしてください。
-
Trident は SAN 環境でのマルチパス構成の使用を厳格に強制し、multipath.conf ファイル内の推奨値は `find_multipaths: no`です。
非マルチパス構成の使用、または multipath.conf ファイルでの `find_multipaths: yes`または `find_multipaths: smart`値の使用は、マウントの失敗を引き起こします。Trident は、 21.07 リリース以降 `find_multipaths: no`の使用を推奨しています。
Helmを使用してTridentオペレーターを導入し、Tridentをインストールする
Trident "Helmチャート" を使用すると、Trident オペレーターを導入し、Trident を 1 つのステップでインストールできます。
"インストールの概要"を確認して、インストールの前提条件を満たしていること、および環境に適したインストールオプションが選択されていることを確認します。
"導入の前提条件"に加えて"Helm バージョン3"が必要です。
-
Trident Helm リポジトリを追加します:
helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
-
`helm install`を使用して、次の例のようにデプロイメントの名前を指定します。ここで、 `100.2506.0`はインストールするTridentのバージョンです。
helm install <name> netapp-trident/trident-operator --version 100.2506.0 --create-namespace --namespace <trident-namespace>
すでにTrident用の名前空間を作成している場合は、 `--create-namespace`パラメータは追加の名前空間を作成しません。 `helm list`を使用して、名前、名前空間、チャート、ステータス、アプリのバージョン、リビジョン番号などのインストールの詳細を確認できます。
インストール中に構成データを渡す
インストール中に構成データを渡す方法は2つあります:
| オプション | 概要 |
|---|---|
|
オーバーライドを含む YAML ファイルを指定します。これは複数回指定することができ、右端のファイルが優先されます。 |
|
コマンドラインでオーバーライドを指定します。 |
たとえば、 `debug`のデフォルト値を変更するには、次のコマンドを実行します。ここで、 `100.2506.0`はインストールするTridentのバージョンです:
helm install <name> netapp-trident/trident-operator --version 100.2506.0 --create-namespace --namespace trident --set tridentDebug=true
構成オプション
この表と、Helm チャートの一部である `values.yaml`ファイルは、キーとそのデフォルト値のリストを提供します。
| オプション | 概要 | デフォルト | ||||
|---|---|---|---|---|---|---|
|
Pod割り当て用のノードラベル |
|||||
|
Podアノテーション |
|||||
|
デプロイメントアノテーション |
|||||
|
pod割り当ての許容範囲 |
|||||
|
Pod割り当ての親和性 |
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- arm64
- amd64
- key: kubernetes.io/os
operator: In
values:
- linux
|
||||
|
ポッドの追加ノードセレクター。詳細については、コントローラポッドとノードポッドについてを参照してください。 |
|||||
|
ポッドの Kubernetes 許容値をオーバーライドします。詳細については、コントローラポッドとノードポッドについてを参照してください。 |
|||||
|
ポッドの追加ノードセレクター。詳細については、コントローラポッドとノードポッドについてを参照してください。 |
|||||
|
ポッドの Kubernetes 許容値をオーバーライドします。詳細については、コントローラポッドとノードポッドについてを参照してください。 |
|||||
|
|
|
||||
|
`trident-operator`のイメージプルポリシーを設定します。 |
|
||||
|
|
|||||
|
kubelet の内部状態のホストの場所を上書きできます。 |
|
||||
|
Tridentオペレータのログレベルを |
|
||||
|
Trident オペレータのログレベルをデバッグに設定できます。 |
|
||||
|
`trident-operator`の画像の完全な上書きを許可します。 |
|
||||
|
`trident-operator`イメージのタグを上書きできます。 |
|
||||
|
Trident が IPv6 クラスターで動作できるようにします。 |
|
||||
|
ほとんどの Kubernetes API 操作のデフォルトの 30 秒のタイムアウトをオーバーライドします(ゼロ以外の場合は秒単位)。 |
|
||||
|
HTTPリクエストのデフォルトの90秒のタイムアウトを上書きします。 `0s`はタイムアウトの無限の期間です。負の値は許可されません。 |
|
||||
|
Tridentの定期的なAutoSupportレポートを無効にすることができます。 |
|
||||
|
Trident AutoSupportコンテナのイメージタグを上書きできます。 |
|
||||
|
Trident AutoSupport コンテナが HTTP プロキシ経由でホームに通信できるようにします。 |
|
||||
|
Tridentログ形式を設定します(( |
|
||||
|
Trident監査ロガーを無効にします。 |
|
||||
|
Tridentのログレベルを次のように設定できます: |
|
||||
|
Tridentのログレベルを `debug`に設定できます。ノード ヘルス チェック (NHC) オペレーターとの統合により、強制デタッチ プロセスを自動化できます。詳細については、"Tridentを使用したステートフルアプリケーションのフェイルオーバーの自動化"を参照してください。 |
|
||||
|
特定のTridentワークフローでトレースログまたはログ抑制を有効にできます。 |
|
||||
|
特定のTridentレイヤーでトレースログまたはログ抑制を有効にできます。 |
|
||||
|
Tridentの画像の完全な上書きを許可します。 |
|
||||
|
Tridentの画像のタグを上書きできます。 |
|
||||
|
Kubernetes の liveness/readiness プローブに使用されるデフォルトのポートをオーバーライドできます。 |
|
||||
|
Windows ワーカー ノードに Trident をインストールできるようにします。 |
|
||||
|
強制デタッチ機能を有効にできます。 |
|
||||
|
オペレータ Pod セキュリティ ポリシーを作成から除外します。 |
|
||||
|
AKS クラスターでマネージド ID またはクラウド ID を使用する場合は `"Azure"`に設定します。EKS クラスターでクラウド ID を使用する場合は「AWS」に設定します。 |
|
||||
|
AKSクラスタでクラウドIDを使用する場合は、ワークロードID("azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx")に設定します。EKSクラスタでクラウドIDを使用する場合は、AWS IAMロール("'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role'")に設定します。 |
|
||||
|
iSCSI 自己修復が呼び出される間隔。 |
|
||||
|
iSCSI自己修復がログアウトとそれに続くログインを実行することで、古いセッションを解決しようと試みるまでの期間。 |
|
||||
|
Tridentが指定されたデータストレージ プロトコルを使用してボリュームを管理するために、Kubernetesクラスタのノードを準備できるようにします。*現在、 `iscsi`がサポートされている唯一の値です。*注:OpenShift 4.19以降、この機能でサポートされているTridentの最小バージョンは25.06.1です。 |
|||||
|
スループットを向上させるために、Tridentコントローラーの同時操作を可能にします。
|
false |
||||
|
Kubernetes API サーバーと通信するときにコントローラーが使用する 1 秒あたりのクエリ数(QPS)の制限。バースト値は QPS 値に基づいて自動的に設定されます。 |
|
||||
|
Trident コントローラ、ノード、およびオペレータ ポッドの Kubernetes リソース制限とリクエストを設定します。Kubernetes でのリソース割り当てを管理するために、各コンテナとサイドカーの CPU とメモリを設定できます。 リソース要求と制限の設定の詳細については、"Pod と Container のリソース管理"を参照してください。
|
|
||||
|
Prometheus メトリック エンドポイントに対して HTTPS を有効にします。 |
false |
||||
|
Trident コントローラのホスト ネットワークを有効にします。これは、マルチホーム ネットワークでフロントエンド トラフィックとバックエンド トラフィックを分離する場合に便利です。 |
false |
コントローラポッドとノードポッドについて
Tridentは単一のコントローラーポッドとして実行され、クラスター内の各ワーカーノード上のノードポッドも実行されます。ノードポッドは、Tridentボリュームをマウントする可能性のあるホスト上で実行されている必要があります。
Kubernetes"ノードセレクター"および"tolerations と taints"は、ポッドを特定のノードまたは優先ノードで実行するように制限するために使用されます。`ControllerPlugin`および `NodePlugin`を使用して、制約とオーバーライドを指定できます。
-
コントローラー プラグインは、スナップショットやサイズ変更などのボリュームのプロビジョニングと管理を処理します。
-
ノード プラグインは、ストレージをノードに接続する処理を行います。