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 のデバッグを有効にします |
|
|
|
|
|
をに設定します |
|
|
をに設定します |
|
|
AKSクラスタでクラウドIDを使用する場合は、ワークロードID(「azure.workload.identity/client-id:xxxxxxxxxx-xxxx-xxxxxxx」)に設定します。EKSクラスタでクラウドIDを使用する場合は、AWS IAMロール(「eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/astratrident-role」)に設定されます。 |
|
|
IPv6 経由の Astra Trident をインストール |
いいえ |
|
Kubernetes 処理のタイムアウト |
|
|
AutoSupportバンドルをNetAppに送信しない |
|
|
AutoSupport テレメトリのコンテナイメージ |
|
|
AutoSupportを送信するためのプロキシのアドレス/ポート |
|
|
Astra Trident のアンインストールに使用するフラグ |
|
|
Astra Trident のログ形式が使用 [text 、 JSON] |
|
|
インストールする Astra Trident イメージ |
|
|
形式の内部レジストリへのパス |
|
|
ホスト上の kubelet ディレクトリへのパス |
|
|
完全な削除を実行するために削除するリソースのリスト |
|
|
内部レジストリからイメージをプルするシークレット |
|
|
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
をクリックして、インストールをカスタマイズします。
基本的なカスタム設定
これは、基本的なカスタムインストールの例です。
cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident imagePullSecrets: - thisisasecret
ノードセレクタ
この例では、Astra Tridentとノードセレクタをインストールします。
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident controllerPluginNodeSelector: nodetype: master nodePluginNodeSelector: storage: netapp
Windowsワーカーノード
この例では、WindowsワーカーノードにAstra Tridentをインストールします。
cat deploy/crds/tridentorchestrator_cr.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident windows: true
AKSクラスタ上の管理対象ID
この例では、AKSクラスタで管理対象IDを有効にするためにAstra Tridentをインストールします。
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident cloudProvider: "Azure"
AKSクラスタ上のクラウドID
この例では、AKSクラスタにクラウドIDで使用するAstra Tridentをインストールします。
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident cloudProvider: "Azure" cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
EKSクラスタ上のクラウドID
この例では、AKSクラスタにクラウドIDで使用するAstra Tridentをインストールします。
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident cloudProvider: "AWS" cloudIdentity: "'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/astratrident-role'"