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

Tridentオペレーターを手動で展開する (オフライン モード)

共同作成者 netapp-aruldeepa

Tridentオペレーターを手動でデプロイして、 Trident をインストールできます。このプロセスは、 Tridentに必要なコンテナ イメージがプライベート レジストリに保存されているインストールに適用されます。プライベートイメージレジストリがない場合は、"標準的な展開のプロセス"

Trident 25.06に関する重要な情報

  • Tridentに関する以下の重要な情報を必ずお読みください。*

<strong>Tridentに関する重要な情報</strong>
  • Kubernetes 1.34 がTridentでサポートされるようになりました。Kubernetes をアップグレードする前にTridentをアップグレードします。

  • TridentはSAN環境でのマルチパス構成の使用を厳格に強制しており、推奨値は `find_multipaths: no`multipath.conf ファイル内。

    非マルチパス構成の使用または find_multipaths: yes`または `find_multipaths: smart`multipath.conf ファイルの値が小さいとマウントが失敗します。Tridentは、 `find_multipaths: no 21.07 リリース以降。

Tridentオペレーターを手動で展開し、 Tridentをインストールする

レビュー"インストールの概要"インストールの前提条件を満たしていること、および環境に適したインストール オプションが選択されていることを確認します。

開始する前に

Linuxホストにログインし、正常に動作していることを確認し、"サポートされているKubernetesクラスター"必要な権限を持っていることを確認します。

メモ OpenShiftでは、 oc`の代わりに `kubectl`以下のすべての例で、まず*system:admin*としてログインします。 `oc login -u system:admin`または `oc login -u kube-admin
Details
  1. Kubernetes のバージョンを確認します。

    kubectl version
  2. クラスター管理者の権限を確認します。

    kubectl auth can-i '*' '*' --all-namespaces
  3. Docker Hub からイメージを使用するポッドを起動し、ポッド ネットワーク経由でストレージ システムにアクセスできることを確認します。

    kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \
      ping <management IP>

ステップ1: Tridentインストーラーパッケージをダウンロードする

Tridentインストーラー パッケージには、 Tridentオペレーターを展開し、 Trident をインストールするために必要なものがすべて含まれています。最新バージョンのTridentインストーラをダウンロードして解凍します。"GitHubの_Assets_セクション"

wget https://github.com/NetApp/trident/releases/download/v6.0/trident-installer-25.06.0.tar.gz
tar -xf trident-installer-25.06.0.tar.gz
cd trident-installer

ステップ2: 作成する `TridentOrchestrator`CRD

作成する `TridentOrchestrator`カスタム リソース定義 (CRD)。あなたは `TridentOrchestrator`カスタムリソースは後で。適切なCRD YAMLバージョンを使用する `deploy/crds`を作成する `TridentOrchestrator`CRD:

kubectl create -f deploy/crds/<VERSION>.yaml

ステップ3: オペレータのレジストリの場所を更新する

/deploy/operator.yaml、 アップデート `image: docker.io/netapp/trident-operator:25.06.0`イメージレジストリの場所を反映します。あなたの"TridentとCSIの画像"1 つのレジストリまたは異なるレジストリに配置できますが、すべての CSI イメージは同じレジストリに配置する必要があります。例えば:

  • `image: <your-registry>/trident-operator:25.06.0`画像がすべて 1 つのレジストリにある場合。

  • `image: <your-registry>/netapp/trident-operator:25.06.0`Tridentイメージが CSI イメージとは異なるレジストリにある場合。

ステップ4: Tridentオペレーターを展開する

Tridentインストーラーは、オペレーターをインストールし、関連オブジェクトを作成するために使用できるバンドル ファイルを提供します。バンドル ファイルを使用すると、オペレーターを展開し、デフォルト構成を使用してTrident をインストールするのが簡単になります。

  • Kubernetes 1.24を実行しているクラスターの場合は、 bundle_pre_1_25.yaml

  • Kubernetes 1.25以降を実行しているクラスターの場合は、 bundle_post_1_25.yaml

開始する前に
  • デフォルトでは、 Tridentインストーラーはオペレーターを `trident`名前空間。もし `trident`名前空間が存在しない場合は、以下を使用して作成します。

    kubectl apply -f deploy/namespace.yaml
  • オペレーターを trident`名前空間、更新 `serviceaccount.yamlclusterrolebinding.yaml`そして `operator.yaml`そして、バンドルファイルを生成するには、 `kustomization.yaml

    1. 作成する `kustomization.yaml`次のコマンドを使用します。<bundle.yaml> は `bundle_pre_1_25.yaml`または `bundle_post_1_25.yaml`Kubernetes のバージョンに基づきます。

      cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
    2. 次のコマンドを使用してバンドルをコンパイルします。_<bundle.yaml>_は `bundle_pre_1_25.yaml`または `bundle_post_1_25.yaml`Kubernetes のバージョンに基づきます。

      kubectl kustomize deploy/ > deploy/<bundle.yaml>
手順
  1. リソースを作成し、オペレーターをデプロイします。

    kubectl create -f deploy/<bundle.yaml>
  2. オペレーター、デプロイメント、レプリカセットが作成されたことを確認します。

    kubectl get all -n <operator-namespace>
重要 Kubernetes クラスターにはオペレーターのインスタンスが 1 つ のみ存在する必要があります。 Tridentオペレータの複数のデプロイメントを作成しないでください。

ステップ5: イメージレジストリの場所を更新します TridentOrchestrator

あなたの"TridentとCSIの画像"1 つのレジストリまたは異なるレジストリに配置できますが、すべての CSI イメージは同じレジストリに配置する必要があります。アップデート `deploy/crds/tridentorchestrator_cr.yaml`レジストリ構成に基づいて追加の場所の仕様を追加します。

1つのレジストリ内の画像
imageRegistry: "<your-registry>"
autosupportImage: "<your-registry>/trident-autosupport:25.06"
tridentImage: "<your-registry>/trident:25.06.0"
異なるレジストリ内の画像
imageRegistry: "<your-registry>"
autosupportImage: "<your-registry>/trident-autosupport:25.06"
tridentImage: "<your-registry>/trident:25.06.0"

ステップ6: 作成する `TridentOrchestrator`Tridentをインストールする

これで、 `TridentOrchestrator`そしてTridentをインストールします。オプションで、さらに"Tridentのインストールをカスタマイズする"の属性を使用して `TridentOrchestrator`スペック次の例は、 Tridentイメージと CSI イメージが異なるレジストリに配置されているインストールを示しています。

kubectl create -f deploy/crds/tridentorchestrator_cr.yaml
tridentorchestrator.trident.netapp.io/trident created

kubectl describe torc trident

Name:        trident
Namespace:
Labels:      <none>
Annotations: <none>
API Version: trident.netapp.io/v1
Kind:        TridentOrchestrator
...
Spec:
  Autosupport Image:  <your-registry>/trident-autosupport:25.06
  Debug:              true
  Image Registry:     <your-registry>
  Namespace:          trident
  Trident Image:      <your-registry>/trident:25.06.0
Status:
  Current Installation Params:
    IPv6:                       false
    Autosupport Hostname:
    Autosupport Image:          <your-registry>/trident-autosupport:25.06
    Autosupport Proxy:
    Autosupport Serial Number:
    Debug:                      true
    Http Request Timeout:       90s
    Image Pull Secrets:
    Image Registry:       <your-registry>
    k8sTimeout:           30
    Kubelet Dir:          /var/lib/kubelet
    Log Format:           text
    Probe Port:           17546
    Silence Autosupport:  false
    Trident Image:        <your-registry>/trident:25.06.0
  Message:                Trident installed
  Namespace:              trident
  Status:                 Installed
  Version:                v25.06.0
Events:
    Type Reason Age From Message ---- ------ ---- ---- -------Normal
    Installing 74s trident-operator.netapp.io Installing Trident Normal
    Installed 67s trident-operator.netapp.io Trident installed

インストールの確認

インストールを確認する方法はいくつかあります。

使用 `TridentOrchestrator`状態

の状態 TridentOrchestrator`インストールが成功したかどうかを示し、インストールされているTridentのバージョンを表示します。インストール中は、 `TridentOrchestrator`変更から `Installing`に `Installed。あなたが観察すると `Failed`状態になり、オペレータが自力で回復できない場合、"ログを確認する"

ステータス 説明

インストールしています

オペレーターはこれを使ってTridentをインストールしています `TridentOrchestrator`CR。

インストール済み

Tridentが正常にインストールされました。

アンインストール

オペレーターはTridentをアンインストールしています。
spec.uninstall=true

アンインストール済み

Tridentがアンインストールされました。

失敗

オペレーターはTrident をインストール、パッチ適用、更新、またはアンインストールできませんでした。オペレーターは自動的にこの状態からの回復を試みます。この状態が続く場合はトラブルシューティングが必要になります。

更新中

オペレーターは既存のインストールを更新しています。

エラー

その `TridentOrchestrator`使用されません。別のものがすでに存在します。

ポッド作成ステータスの使用

作成されたポッドのステータスを確認することで、 Trident のインストールが完了したかどうかを確認できます。

kubectl get pods -n trident

NAME                                       READY   STATUS    RESTARTS   AGE
trident-controller-7d466bf5c7-v4cpw        6/6     Running   0           1m
trident-node-linux-mr6zc                   2/2     Running   0           1m
trident-node-linux-xrp7w                   2/2     Running   0           1m
trident-node-linux-zh2jt                   2/2     Running   0           1m
trident-operator-766f7b8658-ldzsv          1/1     Running   0           3m

使用 tridentctl

使用できます `tridentctl`インストールされているTridentのバージョンを確認します。

./tridentctl -n trident version

+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 25.06.0        | 25.06.0        |
+----------------+----------------+