Tridentのインストールについて
Tridentをさまざまな環境や組織にインストールできるように、NetAppには複数のインストールオプションが用意されています。Tridentは、Tridentオペレータ(手動またはHelmを使用)またはを使用してインストールできます tridentctl
。このトピックでは、適切なインストールプロセスを選択するための重要な情報を提供します。
Trident 24.06に関する重要な情報
-
Tridentに関する次の重要な情報をお読みください。*
Trident </strong>に関する<strong>の重要な情報
-
TridentでKubernetes 1.31がサポートされるようになりました。Kubernetesをアップグレードする前にTridentをアップグレード
-
Tridentでは、SAN環境でのマルチパス構成の使用が厳密に適用されます。multipath.confファイルの推奨値はです
find_multipaths: no
。非マルチパス構成またはを使用
find_multipaths: yes
またはfind_multipaths: smart
multipath.confファイルの値が原因でマウントが失敗します。Tridentはの使用を推奨していますfind_multipaths: no
21.07リリース以降
作業を開始する前に
インストールパスに関係なく、次のものが必要です。
-
サポートされているバージョンのKubernetesと機能の要件を有効にして実行されている、サポートされるKubernetesクラスタに対するすべての権限。を確認します "要件" を参照してください。
-
サポートされているネットアップストレージシステムへのアクセス。
-
Kubernetesワーカーノードすべてからボリュームをマウントできます。
-
を搭載したLinuxホスト
kubectl
(または `oc`OpenShiftを使用している場合)Kubernetesクラスタを管理するようにインストールおよび設定します。 -
。
KUBECONFIG
Kubernetesクラスタ構成を参照するように設定された環境変数。 -
Kubernetes と Docker Enterprise を併用する場合は、 "CLI へのアクセスを有効にする手順は、ユーザが行ってください"。
に慣れていない場合は "基本概念"今こそ、そのための絶好の機会です。 |
インストール方法を選択します
適切なインストール方法を選択します。また、に関する考慮事項についても確認しておく必要があります "メソッド間を移動しています" 決定する前に。
Trident演算子を使用する
手動で導入する場合でも、Helmを使用する場合でも、Tridentオペレータはインストールを簡素化し、Tridentリソースを動的に管理するための優れた方法です。カスタムリソース(CR)の属性を使用する `TridentOrchestrator`こともできます"Tridentのオペレータ環境をカスタマイズ"。
Tridentオペレータには次のようなメリットがあります。
<strong> Tridentオブジェクトの作成</strong>
Tridentオペレータが、Kubernetesのバージョンに応じて次のオブジェクトを自動的に作成します。
-
オペレータのサービスアカウント
-
ClusterRoleおよびClusterRoleBindingをサービスアカウントにバインドする
-
専用のPodSecurityPolicy(Kubernetes 1.25以前用)
-
演算子自体
<strong>リソースアカウンタビリティ</strong>
クラスタを対象としたTridentオペレータは、Tridentインストールに関連付けられたリソースをクラスタレベルで管理します。これにより、ネームスペースを対象とした演算子を使用してクラスタを対象としたリソースを管理する際に発生する可能性のあるエラーを軽減できます。これは、自己修復とパッチ適用に不可欠です。
<strong> 自己回復機能</strong>
オペレータはTridentのインストールを監視し、展開が削除された場合や誤って変更された場合などの問題に積極的に対処します。 `trident-operator-<generated-id>`CRをTridentインストールに関連付けるポッドが作成され `TridentOrchestrator`ます。これにより、クラスタ内にTridentのインスタンスが1つだけ存在し、そのセットアップを制御して、インストールが強力であることを確認できます。インストールに変更が加えられると(展開またはノードのデミスタなど)、オペレータはそれらを識別し、個別に修正します。
<strong> は、インストール済みの既存の</strong> を簡単に更新できます
既存の展開をオペレータと簡単に更新できます。を編集するだけで済みます TridentOrchestrator
CRを使用してインストールを更新します。
たとえば、デバッグログを生成するためにTridentを有効にする必要があるシナリオを考えてみましょう。これを行うには、を TridentOrchestrator
`true`次のように設定し `spec.debug`ます。
kubectl patch torc <trident-orchestrator-name> -n trident --type=merge -p '{"spec":{"debug":true}}'
実行後 TridentOrchestrator
が更新され、オペレータが既存のインストールの更新とパッチを処理します。これにより、新しいポッドが作成され、それに応じてインストールが変更される可能性があります。
<strong>クリーン再インストール</strong>
クラスタを対象としたTridentオペレータを使用すると、クラスタを対象としたリソースを完全に削除できます。ユーザーはTridentを完全にアンインストールして簡単に再インストールできます。
<strong> Kubernetesの自動アップグレード処理</strong>
Kubernetesバージョンのクラスタをサポート対象バージョンにアップグレードすると、オペレータは既存のTridentインストールを自動的に更新し、Kubernetesバージョンの要件を満たすように変更します。
クラスタがサポート対象外のバージョンにアップグレードされた場合、オペレータがTridentをインストールできません。Tridentがオペレータとともにすでにインストールされている場合は、サポートされていないKubernetesバージョンにTridentがインストールされていることを示す警告が表示されます。 |
を使用します tridentctl
アップグレードが必要な既存の導入環境がある場合、または導入環境を高度にカスタマイズする場合は、を検討する必要があります。これは、従来のTridentの導入方法です。
Tridentリソースのマニフェストを生成できます。これには、導入、デーモンセット、サービスアカウント、Tridentのインストール時に作成されるクラスタロールが含まれます。
22.04リリース以降では、TridentをインストールするたびにAESキーが再生成されなくなりました。このリリースでは、Tridentは新しいシークレットオブジェクトをインストールします。このオブジェクトは複数のインストールにまたがって保持されます。つまり、 `tridentctl`22.04では以前のバージョンのTridentをアンインストールできますが、以前のバージョンでは22.04のインストールをアンインストールできません。適切なインストール方法_を選択します。 |
インストールモードを選択します
組織で必要な_インストールモード_(標準、オフライン、またはリモート)に基づいて導入プロセスを決定します。
これはTridentをインストールする最も簡単な方法であり、ネットワーク制限が適用されないほとんどの環境で機能します。標準インストールモードでは、デフォルトのレジストリを使用して(docker.io
、必要なTrident(およびCSI(registry.k8s.io
)イメージを格納します。
標準モードを使用する場合、Tridentインストーラは次の処理を実行します。
-
インターネット経由でコンテナイメージを取得します
-
デプロイメントまたはノードデーモンセットを作成します。これにより、Kubernetesクラスタ内の対象となるすべてのノードでTridentポッドがスピンアップされます。
オフラインインストールモードは、エアギャップまたは安全な場所で必要になる場合があります。このシナリオでは、必要なTridentイメージとCSIイメージを格納するために、1つのプライベートなミラーリングされたレジストリ、または2つのミラーリングされたレジストリを作成できます。
CSIイメージは、レジストリ設定に関係なく、1つのレジストリに存在する必要があります。 |
次に、リモートインストールプロセスの概要を示します。
-
Tridentを導入するリモートマシンに、適切なバージョンのを導入し `kubectl`ます。
-
Kubernetes クラスタから構成ファイルをコピーし、リモートマシンで「 KUBECONFIG 」環境変数を設定します。
-
「 kubectl get nodes 」コマンドを開始して、必要な Kubernetes クラスタに接続できることを確認します。
-
標準のインストール手順を使用して、リモートマシンからの導入を完了します。
メソッドとモードに基づいてプロセスを選択します
決定が終わったら、適切なプロセスを選択します。
メソッド | インストールモード |
---|---|
Tridentのオペレータ(手動) |
|
Tridentオペレータ(Helm) |
|
|
インストール方法を切り替える
インストール方法を変更することもできます。その前に、次の点を考慮してください。
-
Tridentのインストールとアンインストールには、常に同じ方法を使用してください。を使用してを展開した場合は
tridentctl
、適切なバージョンのバイナリを使用してTridentをアンインストールする必要がありますtridentctl
。同様に、オペレータを使用して展開する場合は、CRを編集し、Tridentをアンインストールするように設定するspec.uninstall=true`必要があります `TridentOrchestrator
。 -
オペレータベースの導入環境を削除してTridentの導入に使用する場合
tridentctl`は、まずTridentを編集してからアンインストールするように設定する `spec.uninstall=true`必要があります `TridentOrchestrator
。次に、とオペレータの配置を削除しTridentOrchestrator`ます。その後、を使用してをインストールできます `tridentctl
。 -
オペレータベースの手動導入環境で、HelmベースのTridentオペレータ環境を使用する場合は、最初に手動でオペレータをアンインストールしてからHelmインストールを実行する必要があります。これにより、 Helm は必要なラベルとアノテーションを使用して Trident オペレータを導入できます。これを行わないと、 Helm ベースの Trident オペレータの導入が失敗し、ラベル検証エラーとアノテーション検証エラーが表示されます。を使用する場合は
tridentctl
- Helmベースの展開を使用すると、問題を発生させずに導入できます。
その他の既知の設定オプション
VMware Tanzuポートフォリオ製品にTridentをインストールする場合:
-
クラスタが特権ワークロードをサポートしている必要があります。
-
--kubbelet-dir` フラグは kubelet ディレクトリの場所に設定する必要があります。デフォルトでは、これは /var/vcap/data/kubelet` です。
--kubbelet-dir' を使用して kubelet の場所を指定することは、 Trident Operator 、 Helm 、および tridentctl の展開で動作することが知られています。