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 をインストールするネームスペース

デフォルト

debug

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

いいえ

enableForceDetach

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

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

*これは23.04の実験的な機能です。*を参照してください フォースデタッチの詳細 を参照してください。

false

windows

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

いいえ

useIPv6

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

いいえ

k8sTimeout

Kubernetes 処理のタイムアウト

30 秒

silenceAutosupport

AutoSupportバンドルをNetAppに送信しない
自動

いいえ

autosupportImage

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

"netapp/trident-autosupport:23.07"

autosupportProxy

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

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

uninstall

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

いいえ

logFormat

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

テキスト( Text )

tridentImage

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

"NetApp/Trident:23.07"

imageRegistry

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

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

kubeletDir

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

"/var/lib/kubeelet"

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 および 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 をクリックして、インストールをカスタマイズします。

例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