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

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

共同作成者 netapp-aruldeepa juliantap netapp-mwallis

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

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

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

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

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

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

設定オプション

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

このテーブルの詳細 TridentOrchestrator 属性。

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

namespace

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

"default"

「バグ」

Tridentのデバッグを有効にする

「偽」

enableForceDetach

ontap-sanontap-san-economyontap-nas 、 そして `ontap-nas-economy`のみ。Kubernetes Non-Graceful Node Shutdown (NGNS) と連携して、ノードが正常でなくなった場合に、マウントされたボリュームを持つワークロードを新しいノードに安全に移行する機能をクラスター管理者に付与します。詳細については、"Tridentによるステートフル アプリケーションのフェイルオーバーの自動化"

「偽」

windows

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

「偽」

cloudProvider

AKSクラスタで管理IDまたはクラウドIDを使用する場合はに設定します "Azure"。EKSクラスタでクラウドIDを使用する場合は、に設定され "AWS"`ます。GKEクラスタでクラウドIDを使用する場合は、に設定します `"GCP"

""

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 / Trident -role」)に設定されます。GKEクラスタでクラウドIDを使用する場合は、クラウドID(「IAM.GKE.IO/gcp-service-account: xxxx@mygcpproject.iam.gserviceaccount.com」)に設定します。

""

IPv6

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

いいえ

k8sTimeout

Kubernetes 操作のタイムアウト。

メモ その `k8sTimeout`パラメータはTrident のインストールにのみ適用されます。

180sec

silenceAutosupport

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

「偽」

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

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

"netapp/trident-autosupport10"

「 autosupportProxy 」と入力します

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

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

uninstall

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

「偽」

logFormat

使用するTridentログ形式[text、json]

"text"

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

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

"netapp/trident:25.10"

「 imageRegistry 」と入力します

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

"registry.k8s.io"

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

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

"/var/lib/kubelet"

wipeout

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

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

nodePrep

指定したデータストレージプロトコルを使用してボリュームを管理できるように、TridentでKubernetesクラスタのノードを準備できるようにします。現在 `iscsi`サポートされている値は、のみです。

メモ OpenShift 4.19 以降、この機能でサポートされるTrident の最小バージョンは 25.06.1 です。

k8sAPIQPS

Kubernetes API サーバーと通信するときにコントローラーが使用する 1 秒あたりのクエリ数 (QPS) の制限。バースト値は QPS 値に基づいて自動的に設定されます。

100; オプション

enableConcurrency

スループットを向上させるために、同時Tridentコントローラー操作を有効にします。

メモ テクニカル プレビュー: この機能は実験段階であり、現在、ONTAP -SAN ドライバー (統合ONTAP 9 の iSCSI および FCP プロトコル) の既存のテクニカル プレビューに加えて、 ONTAP-NAS (NFS のみ) およびONTAP -SAN (統合ONTAP 9 のONTAP ) ドライバーを使用した限定的な並列ワークフローをサポートしています。

いいえ

resources

Tridentコントローラーとノード ポッドの Kubernetes リソース制限と要求を設定します。Kubernetes でのリソース割り当てを管理するために、コンテナとサイドカーごとに CPU とメモリを設定できます。

リソース要求と制限の設定の詳細については、以下を参照してください。"ポッドとコンテナのリソース管理"

警告
  • コンテナまたはフィールドの名前を変更しないでください。

  • インデントを変更しないでください。YAML インデントは適切な解析に重要です。

メモ
  • デフォルトでは制限は適用されません。リクエストのみにデフォルト値があり、指定されていない場合は自動的に適用されます。

  • コンテナ名は、ポッド仕様に表示されるとおりにリストされます。

  • サイドカーは各メイン コンテナーの下にリストされます。

  • TORCを確認する `status.CurrentInstallationParams`現在適用されている値を表示するフィールド。

resources:
  controller:
    trident-main:
      requests:
        cpu: 10m
        memory: 80Mi
      limits:
          cpu:
          memory:
    csi-provisioner:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-attacher:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-resizer:
      requests:
        cpu: 3m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-snapshotter:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    trident-autosupport:
      requests:
        cpu: 1m
        memory: 30Mi
      limits:
        cpu:
        memory:
  node:
    linux:
      trident-main:
        requests:
          cpu: 10m
          memory: 60Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 1m
          memory: 10Mi
        limits:
          cpu:
          memory:
    windows:
      trident-main:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      liveness-probe:
        requests:
          cpu: 2m
          memory: 40Mi
        limits:
          cpu:
          memory:

httpsMetrics

Prometheus メトリック エンドポイントに対して HTTPS を有効にします。

いいえ

「ホストネットワーク」

Tridentコントローラーのホスト ネットワークを有効にします。これは、マルチホーム ネットワークでフロントエンド トラフィックとバックエンド トラフィックを分離する場合に便利です。

いいえ

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

構成例

属性は設定オプション定義するとき `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
ノードセレクター

この例では、ノード セレクターを使用してTrident をインストールします。

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  controllerPluginNodeSelector:
    nodetype: master
  nodePluginNodeSelector:
    storage: netapp
Windowsワーカーノード

この例は、 `cat deploy/crds/tridentorchestrator_cr.yaml`コマンドは、Windows ワーカー ノードにTrident をインストールします。

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
AKS クラスター上のマネージド ID

この例では、 Tridentをインストールして、AKS クラスターでマネージド ID を有効にします。

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
AKS クラスター上のクラウド ID

この例では、AKS クラスター上のクラウド ID で使用するために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 で使用するために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/trident-role'"
GKEのクラウドID

この例では、GKE クラスタ上のクラウド ID で使用するためにTrident をインストールします。

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-tbc-gcp-gcnv
spec:
  version: 1
  storageDriverName: google-cloud-netapp-volumes
  projectNumber: '012345678901'
  network: gcnv-network
  location: us-west2
  serviceLevel: Premium
  storagePool: pool-premium1
TridentコントローラーとTrident Linux ノード ポッドの Kubernetes リソース要求と制限の構成

この例では、 TridentコントローラーとTrident Linux ノード ポッドの Kubernetes リソース要求と制限を構成します。

警告 免責事項: この例で示されている要求値と制限値は、デモンストレーションのみを目的としています。環境とワークロードの要件に基づいてこれらの値を調整します。
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
      # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
TridentコントローラーとTrident Windows および Linux ノード ポッドの Kubernetes リソース要求と制限の構成

この例では、 TridentコントローラーとTrident Windows および Linux ノード ポッドの Kubernetes リソース要求と制限を構成します。

警告 免責事項: この例で示されている要求値と制限値は、デモンストレーションのみを目的としています。環境とワークロードの要件に基づいてこれらの値を調整します。
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  windows: true
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
        # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
      windows:
        trident-main:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 200m
            memory: 128Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 100m
            memory: 128Mi
        liveness-probe:
          requests:
            cpu: 2m
            memory: 40Mi
          limits:
            cpu: 50m
            memory: 64Mi