Tridentオペレータを手動で導入する(標準モード)
Tridentオペレーターを手動で導入してTridentをインストールできます。このプロセスは、Tridentで必要なコンテナイメージがプライベートレジストリに保存されていないインストールに適用されます。プライベートイメージレジストリをお持ちの場合は、"オフライン展開のプロセス"を使用してください。
Trident 25.10に関する重要な情報
Trident に関する以下の重要な情報を必ずお読みください。
<strong>Tridentに関する重要な情報</strong>
-
Kubernetes 1.34 が Trident でサポートされるようになりました。Kubernetes をアップグレードする前に Trident をアップグレードしてください。
-
Trident は SAN 環境でのマルチパス構成の使用を厳格に強制し、multipath.conf ファイル内の推奨値は `find_multipaths: no`です。
非マルチパス構成の使用、または multipath.conf ファイルでの `find_multipaths: yes`または `find_multipaths: smart`値の使用は、マウントの失敗を引き起こします。Trident は、 21.07 リリース以降 `find_multipaths: no`の使用を推奨しています。
Tridentオペレーターを手動で展開してTridentをインストールする
"インストールの概要"を確認して、インストールの前提条件を満たしていること、および環境に適したインストールオプションが選択されていることを確認します。
インストールを始める前に、Linuxホストにログインし、正常に動作している"サポートされている Kubernetes クラスター"を管理していること、および必要な権限を持っていることを確認します。
|
|
OpenShift では、以下のすべての例で oc を kubectl の代わりに使用し、最初に oc login -u system:admin または oc login -u kube-admin を実行して system:admin としてログインしてください。
|
Details
-
Kubernetes のバージョンを確認します:
kubectl version
-
クラスタ管理者権限を確認します:
kubectl auth can-i '*' '*' --all-namespaces
-
Docker Hub からイメージを使用するポッドを起動し、ポッド ネットワーク経由でストレージ システムにアクセスできることを確認します:
kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \ ping <management IP>
ステップ1:Tridentインストーラーパッケージをダウンロードする
Trident インストーラー パッケージには、Trident オペレーターを導入して Trident をインストールするために必要なものがすべて含まれています。"GitHub の Assets セクション"から最新バージョンの Trident インストーラーをダウンロードして解凍します。
wget https://github.com/NetApp/trident/releases/download/v25.10.0/trident-installer-25.10.0.tar.gz tar -xf trident-installer-25.10.0.tar.gz cd trident-installer
ステップ2: TridentOrchestrator CRDを作成する
`TridentOrchestrator`カスタムリソース定義(CRD)を作成します。後で `TridentOrchestrator`カスタムリソースを作成します。 `deploy/crds`で適切なCRD YAMLバージョンを使用して `TridentOrchestrator`CRDを作成します。
kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
ステップ3: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.yaml、clusterrolebinding.yaml、 `operator.yaml`を更新し、 `kustomization.yaml`を使用してバンドルファイルを生成します。-
`kustomization.yaml`を次のコマンドで作成します。ここで、_<bundle.yaml>_は、Kubernetes のバージョンに応じて `bundle_pre_1_25.yaml`または `bundle_post_1_25.yaml`になります。
cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
-
次のコマンドを使用してバンドルをコンパイルします。_<bundle.yaml>_は `bundle_pre_1_25.yaml`または `bundle_post_1_25.yaml`Kubernetesのバージョンに基づきます。
kubectl kustomize deploy/ > deploy/<bundle.yaml>
-
-
リソースを作成し、オペレーターをデプロイします:
kubectl create -f deploy/<bundle.yaml>
-
オペレーター、デプロイメント、レプリカセットが作成されたことを確認します。
kubectl get all -n <operator-namespace>
|
|
Kubernetes クラスターにはオペレーターのインスタンスが 1 つ のみ存在する必要があります。Trident オペレーターの複数のデプロイメントを作成しないでください。 |
ステップ4: `TridentOrchestrator`を作成してTridentをインストールする
これで `TridentOrchestrator`を作成し、Tridentをインストールできます。オプションで、"Tridentインストールをカスタマイズ"を `TridentOrchestrator`仕様の属性を使って行うこともできます。
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:
Debug: true
Namespace: trident
nodePrep:
- iscsi
Status:
Current Installation Params:
IPv6: false
Autosupport Hostname:
Autosupport Image: netapp/trident-autosupport:25.10
Autosupport Proxy:
Autosupport Serial Number:
Debug: true
Image Pull Secrets:
Image Registry:
k8sTimeout: 30
Kubelet Dir: /var/lib/kubelet
Log Format: text
Silence Autosupport: false
Trident Image: netapp/trident:25.10.0
Message: Trident installed Namespace: trident
Status: Installed
Version: v25.10.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`ステータスが表示され、オペレータが自己修復できない場合は、link:../troubleshooting.html["ログを確認する"]。
| ステータス | 概要 |
|---|---|
インストールしています |
オペレーターは、この |
インストール済み |
Tridentが正常にインストールされました。 |
アンインストール |
オペレーターはTridentをアンインストール中です |
アンインストール済み |
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.10.0 | 25.10.0 | +----------------+----------------+