Skip to main content
本製品の最新リリースがご利用いただけます。
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Tridentオペレータのインストールをカスタマイズ

共同作成者

Tridentオペレータは、仕様の属性を使用してAstra Tridentのインストールをカスタマイズでき `TridentOrchestrator`ます。引数で許可される範囲を超えてインストールをカスタマイズする場合 `TridentOrchestrator`は、を使用してカスタムYAMLマニフェストを生成し、必要に応じて変更することを検討して `tridentctl`ください。

コントローラポッドとノードポッドについて

Astra Tridentは、単一のコントローラポッドと、クラスタ内の各ワーカーノード上のノードポッドとして実行されます。Astra Tridentボリュームをマウントするすべてのホストでノードポッドが実行されている必要があります。

Kubernetes"ノードセレクタ"を使用して、"寛容さと汚れ"ポッドを特定のノードまたは優先ノードで実行するように制限します。「ControllerPlugin」とを使用して、 `NodePlugin`制約とオーバーライドを指定できます。

  • コントローラプラグインは、Snapshotやサイズ変更などのボリュームのプロビジョニングと管理を処理します。

  • ノードプラグインによって、ノードへのストレージの接続が処理されます。

設定オプション

警告 spec.namespace`は `TridentOrchestrator、Astra Tridentがインストールされているネームスペースを示します。このパラメータ * は、 Astra Trident のインストール後に更新できません * 。これを実行しようとすると、 `TridentOrchestrator`ステータスがに変わり `Failed`ます。Astra Tridentは、ネームスペース間での移行を意図していません。

このテーブルは、属性の詳細を示し `TridentOrchestrator`ます。

パラメータ 説明 デフォルト

namespace

Astra Trident をインストールするネームスペース

"default"

debug

Astra Trident のデバッグを有効にします

false

enableForceDetach

`ontap-san`そして `ontap-san-economy`のみ。KubernetesのNon-Graceful Node Shutdown(NGN)と連携して、ノードに障害が発生した場合に、マウントされたボリュームを含むワークロードを新しいノードに安全に移行する機能をクラスタ管理者に提供します。

false

windows

をに設定する `true`と、Windowsワーカーノードへのインストールが有効になります。

false

cloudProvider

AKSクラスタで管理IDまたはクラウドIDを使用する場合はに設定します "Azure"。EKSクラスタでクラウドIDを使用する場合は、「aws」に設定します。

""

cloudIdentity

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

IPv6 経由の Astra Trident をインストール

正しくない

k8sTimeout

Kubernetes 処理のタイムアウト

30sec

silenceAutosupport

AutoSupport バンドルをネットアップに自動的に送信しない

false

autosupportImage

AutoSupport テレメトリのコンテナイメージ

"netapp/trident-autosupport:24.06"

autosupportProxy

AutoSupport テレメトリを送信するプロキシのアドレス / ポート

"http://proxy.example.com:8888"

uninstall

Astra Trident のアンインストールに使用するフラグ

false

logFormat

Astra Trident のログ形式が使用 [text 、 JSON]

"text"

tridentImage

インストールする Astra Trident イメージ

"netapp/trident:24.06"

imageRegistry

内部レジストリへのパス(形式)
<registry FQDN>[:port][/subpath]

"k8s.gcr.io/sig-storage"(Kubernetes 1.19以降)または "quay.io/k8scsi"

kubeletDir

ホスト上の kubelet ディレクトリへのパス

"/var/lib/kubelet"

wipeout

Astra Trident を完全に削除するために削除するリソースのリスト

imagePullSecrets

内部レジストリからイメージをプルするシークレット

imagePullPolicy

Tridentオペレータのイメージプルポリシーを設定します。有効な値は次のとおりです。常に画像をプルします。
Always
`IfNotPresent`ノードにイメージが存在しない場合にのみ取得します。
`Never`画像を引っ張らないようにしました

IfNotPresent

controllerPluginNodeSelector

ポッド用の追加のノードセレクタ。の形式はと同じ `pod.spec.nodeSelector`です。

デフォルトはありません。オプションです

controllerPluginTolerations

ポッドに対するKubernetesの許容範囲を上書きします。はと同じ形式 `pod.spec.Tolerations`です。

デフォルトはありません。オプションです

nodePluginNodeSelector

ポッド用の追加のノードセレクタ。の形式はと同じ `pod.spec.nodeSelector`です。

デフォルトはありません。オプションです

nodePluginTolerations

ポッドに対するKubernetesの許容範囲を上書きします。はと同じ形式 `pod.spec.Tolerations`です。

デフォルトはありません。オプションです

メモ ポッドパラメータのフォーマットの詳細については、を参照してください"ポッドをノードに割り当てます"

フォースデタッチの詳細

強制切り離しは、および `ontap-san-economy`でのみ使用でき `ontap-san`ます。強制接続解除を有効にする前に、Kubernetesクラスタで非グレースフルノードシャットダウン(NGN)を有効にする必要があります。詳細については、を参照してください "Kubernetes:正常なノードシャットダウンではありません"

警告 Astra TridentはKubernetes NGNに依存しているため、許容できないすべてのワークロードのスケジュールが再設定されるまで、正常でないノードからテイントを削除しないで `out-of-service`ください。汚染を無謀に適用または削除すると、バックエンドのデータ保護が危険にさらされる可能性があります。

Kubernetesクラスタ管理者がtaintをノードに適用し、 enableForceDetach`をに設定する `true`と `node.kubernetes.io/out-of-service=nodeshutdown:NoExecute、Astra Tridentによってノードのステータスが確認され、次の処理が実行されます。

  1. そのノードにマウントされたボリュームのバックエンドI/Oアクセスを停止します。

  2. Astra Tridentノードオブジェクトを(新しいドキュメントに対しては安全ではない)とマークします dirty

    メモ Tridentコントローラは、Tridentノードポッドによって(とマークされた後で)ノードが再修飾されるまで、新しいパブリッシュボリューム要求を拒否し dirty`ます。マウントされたPVCでスケジュールされているワークロード(クラスタノードが正常で準備が完了したあとも含む)は、Astra Tridentがノードを検証できる(新しいドキュメントに対応)まで受け付けられません `clean

ノードの健常性が回復してtaintが削除されると、Astra Tridentは次の処理を実行します。

  1. ノード上の古い公開パスを特定してクリーンアップします。

  2. ノードが状態で(サービス停止状態が削除され、ノードが状態である Ready)、古い公開パスがすべてクリーンである場合、 cleanable`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'"