Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

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 属性。

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

namespace

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

"default"

「バグ」

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

「偽」

enableForceDetach

ontap-san および ontap-san-economy のみ。

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

「偽」

windows

をに設定します true Windowsワーカーノードへのインストールを有効にします。

「偽」

cloudProvider

をに設定します "Azure" AKSクラスタで管理対象IDまたはクラウドIDを使用する場合。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バンドルをNetAppに送信しない
自動

「偽」

「 autosupportImage 」を参照してください

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

"netapp/trident-autosupport:24.02"

「 autosupportProxy 」と入力します

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

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

uninstall

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

「偽」

logFormat

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

"text"

「 tridentImage 」のように入力します

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

"netapp/trident:24.02"

「 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

controller'PluginNodeSelector

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

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

controllerPluginTolerations

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

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

「 nodePluginNodeSelector 」

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

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

「 nodePluginTolerations` 」

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

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

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

フォースデタッチの詳細

では、[強制切り離し]を使用できます 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がノードのステータスを判断し、次の処理を実行します。

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

  2. Astra Tridentノードオブジェクトをにマークします dirty (新しい出版物には安全ではありません)。

    メモ Tridentコントローラは、(とマークされたあとに)ノードが再認定されるまで、新しいパブリッシュボリューム要求を拒否します dirty`をクリックします。マウントされたPVCでスケジュールされているワークロード(クラスタノードが正常で準備が完了したあとも含む)は、Astra Tridentがノードを検証できるまで受け入れられません `clean (新しい出版物のための安全)。

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

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

  2. ノードがに含まれている場合 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'"