Tridentのインストールについて
Tridentをさまざまな環境や組織にインストールできるように、NetAppには複数のインストールオプションが用意されています。Tridentは、Tridentオペレータ(手動またはHelmを使用)またはを使用してインストールできます tridentctl
。このトピックでは、適切なインストールプロセスを選択するための重要な情報を提供します。
Trident 24.10に関する重要な情報
-
Tridentに関する次の重要な情報をお読みください。*
Trident </strong>に関する<strong>の重要な情報
-
TridentでKubernetes 1.32がサポートされるようになりました。Kubernetesをアップグレードする前にTridentをアップグレード
-
Tridentでは、SAN環境でのマルチパス構成の使用が厳密に適用されます。multipath.confファイルの推奨値はです
find_multipaths: no
。マルチパス以外の構成を使用するか、multipath.confファイルにまたは `find_multipaths: smart`の値を使用する `find_multipaths: yes`と、マウントが失敗します。Tridentでは、21.07リリース以降での使用を推奨してい `find_multipaths: no`ます。
開始する前に
インストールパスに関係なく、次のものが必要です。
-
サポートされているバージョンのKubernetesと機能の要件を有効にして実行されている、サポートされるKubernetesクラスタに対するすべての権限。詳細については、を参照して"要件"ください。
-
サポートされているネットアップストレージシステムへのアクセス。
-
Kubernetesワーカーノードすべてからボリュームをマウントできます。
-
使用するKubernetesクラスタを管理するように設定された(OpenShiftを使用している場合は
oc
)Linuxホストkubectl
。 -
`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> を簡単に更新できます
既存の展開をオペレータと簡単に更新できます。CRを編集してインストールを更新するだけで `TridentOrchestrator`済みます。
たとえば、デバッグログを生成するために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のオペレータ(手動) |
|
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をインストールする場合:
-
クラスタが特権ワークロードをサポートしている必要があります。
-
--kubelet-dir`フラグはkubeletディレクトリの場所に設定する必要があります。デフォルトはです `/var/vcap/data/kubelet
。を使用してkubeletの場所を指定する `--kubelet-dir`ことは、Trident Operator、Helm、および配置で機能することがわかってい `tridentctl`ます。