Tridentオペレータのインストールをカスタマイズ
Tridentオペレータは、の属性を使用してAstra Tridentのインストールをカスタマイズできます TridentOrchestrator
仕様インストールをカスタマイズする場合は、それ以上のカスタマイズが必要です TridentOrchestrator
引数allow、使用を検討してください tridentctl
必要に応じて変更するカスタムYAMLマニフェストを生成します。
コントローラポッドとノードポッドについて
Astra Tridentは、単一のコントローラポッドと、クラスタ内の各ワーカーノード上のノードポッドとして実行されます。Astra Tridentボリュームをマウントするすべてのホストでノードポッドが実行されている必要があります。
Kubernetes "ノードセレクタ" および "寛容さと汚れ" は、特定のノードまたは優先ノードで実行されるようにポッドを制限するために使用されます。「ControllerPlugin」およびを使用します `NodePlugin`を使用すると、拘束とオーバーライドを指定できます。
-
コントローラプラグインは、Snapshotやサイズ変更などのボリュームのプロビジョニングと管理を処理します。
-
ノードプラグインによって、ノードへのストレージの接続が処理されます。
設定オプション
spec.namespace は、で指定します TridentOrchestrator Astra Tridentがインストールされているネームスペースを指定します。このパラメータ * は、 Astra Trident のインストール後に更新できません * 。これを実行すると、が実行されます TridentOrchestrator ステータスをに変更します Failed 。Astra Tridentは、ネームスペース間での移行を意図していません。
|
このテーブルの詳細 TridentOrchestrator
属性。
パラメータ | 説明 | デフォルト |
---|---|---|
|
Astra Trident をインストールするネームスペース |
デフォルト |
|
Astra Trident のデバッグを有効にします |
いいえ |
|
|
|
|
をに設定します |
いいえ |
|
IPv6 経由の Astra Trident をインストール |
いいえ |
|
Kubernetes 処理のタイムアウト |
30 秒 |
|
AutoSupportバンドルをNetAppに送信しない |
いいえ |
|
AutoSupport テレメトリのコンテナイメージ |
"netapp/trident-autosupport:23.07" |
|
AutoSupportを送信するためのプロキシのアドレス/ポート |
|
|
Astra Trident のアンインストールに使用するフラグ |
いいえ |
|
Astra Trident のログ形式が使用 [text 、 JSON] |
テキスト( Text ) |
|
インストールする Astra Trident イメージ |
"NetApp/Trident:23.07" |
|
形式の内部レジストリへのパス |
「k8s.gcr.io/sig-storage」(k8s 1.19以降) |
|
ホスト上の kubelet ディレクトリへのパス |
"/var/lib/kubeelet" |
|
完全な削除を実行するために削除するリソースのリスト |
|
|
内部レジストリからイメージをプルするシークレット |
|
|
Tridentオペレータのイメージプルポリシーを設定します。有効な値は次のとおりです。 |
|
|
ポッド用の追加のノードセレクタ。 の形式はと同じです |
デフォルトはありません。オプションです |
|
ポッドに対するKubernetesの許容範囲を上書きします。はと同じ形式です |
デフォルトはありません。オプションです |
|
ポッド用の追加のノードセレクタ。の形式はと同じです |
デフォルトはありません。オプションです |
|
ポッドに対するKubernetesの許容範囲を上書きします。はと同じ形式です |
デフォルトはありません。オプションです |
ポッドパラメータの書式設定の詳細については、を参照してください "ポッドをノードに割り当てます"。 |
フォースデタッチの詳細
では、[強制切り離し]を使用できます ontap-san
および ontap-san-economy
のみ。強制接続解除を有効にする前に、Kubernetesクラスタで非グレースフルノードシャットダウン(NGN)を有効にする必要があります。詳細については、を参照してください "Kubernetes:正常なノードシャットダウンではありません"。
Astra TridentはKubernetes NGNに依存しているため、削除しないでください out-of-service 許容できないすべてのワークロードが再スケジュールされるまで、正常でないノードから影響を受けます。汚染を無謀に適用または削除すると、バックエンドのデータ保護が危険にさらされる可能性があります。
|
Kubernetesクラスタ管理者がを適用したとき node.kubernetes.io/out-of-service=nodeshutdown:NoExecute
ノードおよびに影響を与えます enableForceDetach
がに設定されます `true`Astra Tridentがノードのステータスを判断し、次の処理を実行します。
-
そのノードにマウントされたボリュームのバックエンドI/Oアクセスを停止します。
-
Astra Tridentノードオブジェクトをにマークします
dirty
(新しい出版物には安全ではありません)。Tridentコントローラは、(とマークされたあとに)ノードが再認定されるまで、新しいパブリッシュボリューム要求を拒否します dirty`をクリックします。マウントされたPVCでスケジュールされているワークロード(クラスタノードが正常で準備が完了したあとも含む)は、Astra Tridentがノードを検証できるまで受け入れられません `clean
(新しい出版物のための安全)。
ノードの健常性が回復してtaintが削除されると、Astra Tridentは次の処理を実行します。
-
ノード上の古い公開パスを特定してクリーンアップします。
-
ノードがに含まれている場合
cleanable
状態(out-of-service taintが削除され、ノードがinになっていますReady
状態)。古い公開済みパスはすべてクリーンで、Astra Tridentはノードをとして再登録しますclean
新しいボリュームのノードへの公開を許可します。
構成例
上記の属性は、を定義するときに使用できます TridentOrchestrator
をクリックして、インストールをカスタマイズします。
例1:基本的なカスタム構成
次に、基本的なカスタム構成の例を示します。
cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident imagePullSecrets: - thisisasecret
例2:ノードセレクタを使用して導入します
次の例では、ノードセレクタを使用してTridentを導入する方法を示します。
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident controllerPluginNodeSelector: nodetype: master nodePluginNodeSelector: storage: netapp
例3:Windowsワーカーノードに導入する
この例は、Windowsワーカーノードへの導入を示しています。
cat deploy/crds/tridentorchestrator_cr.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident windows: true