Tridentのインストールについて学ぶ
Trident をさまざまな環境や組織にインストールできるように、 NetApp は複数のインストール オプションを提供しています。 Tridentは、 Tridentオペレーター(手動またはHelmを使用)を使用してインストールするか、 tridentctl 。このトピックでは、適切なインストール プロセスを選択するための重要な情報を提供します。
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: no21.07 リリース以降。
開始する前に
インストール パスに関係なく、次のものが必要です。
-
サポートされているバージョンの Kubernetes を実行し、機能要件が有効になっている、サポートされている Kubernetes クラスターに対する完全な権限。レビュー"要件"詳細については。
-
サポートされているNetAppストレージ システムへのアクセス。
-
すべての Kubernetes ワーカーノードからボリュームをマウントする機能。
-
Linuxホスト
kubectl(または `oc`使用する Kubernetes クラスターを管理するためにインストールおよび構成されている、OpenShift を使用している場合)。 -
その `KUBECONFIG`Kubernetes クラスター構成を指すように環境変数を設定します。
-
Docker EnterpriseでKubernetesを使用している場合は、 "CLIアクセスを有効にするには、手順に従ってください。" 。
-
クラスターは特権ワークロードをサポートする必要があります。
|
|
もしあなたが"基本概念"今こそそれを実行する絶好の機会です。 |
インストール方法を選択してください
適切なインストール方法を選択してください。また、以下の点についても検討する必要があります。"方法間の移動"決定を下す前に。
Trident演算子の使用
手動でデプロイする場合でも、Helm を使用する場合でも、 Tridentオペレーターはインストールを簡素化し、 Tridentリソースを動的に管理するのに最適な方法です。あなたはさらに"Tridentオペレーターの展開をカスタマイズする"の属性を使用して `TridentOrchestrator`カスタム リソース (CR)。
Tridentオペレータを使用する利点は次のとおりです。
<strong> Tridentオブジェクトの作成</strong>
Tridentオペレーターは、Kubernetes バージョンに合わせて次のオブジェクトを自動的に作成します。
-
オペレーターのServiceAccount
-
ClusterRole と ClusterRoleBinding を ServiceAccount に接続する
-
専用の PodSecurityPolicy (Kubernetes 1.25 以前の場合)
-
オペレーター自身
<strong>リソースの説明責任</strong>
クラスター スコープのTridentオペレーターは、クラスター レベルでTridentインストールに関連付けられたリソースを管理します。これにより、名前空間スコープのオペレーターを使用してクラスタースコープのリソースを管理するときに発生する可能性のあるエラーが軽減されます。これは自己修復とパッチ適用に不可欠です。
<strong>自己修復機能</strong>
オペレーターはTrident のインストールを監視し、デプロイメントが削除された場合や誤って変更された場合などの問題に対処するための対策を積極的に講じます。あ trident-operator-<generated-id>`ポッドが作成され、 `TridentOrchestrator Tridentがインストールされた CR。これにより、クラスター内にTridentのインスタンスが 1 つだけ存在し、そのセットアップが制御されて、インストールがべき等であることが保証されます。インストールに変更が加えられると (デプロイメントまたはノード デーモンセットの削除など)、オペレーターはそれを識別し、個別に修正します。
<strong>既存のインストールを簡単にアップデート</strong>
オペレーターを使用すると、既存のデプロイメントを簡単に更新できます。編集する必要があるのは `TridentOrchestrator`インストールを更新するための CR。
たとえば、 Trident を有効にしてデバッグ ログを生成する必要があるシナリオを考えてみましょう。これを行うには、 TridentOrchestrator`設定する `spec.debug`に `true:
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 をインストールする最も簡単な方法であり、ネットワーク制限を課さないほとんどの環境で機能します。標準インストールモードでは、必要なTridentを保存するためにデフォルトのレジストリを使用します。(docker.io )とCSI(registry.k8s.io ) 画像。
標準モードを使用する場合、 Tridentインストーラーは次の操作を実行します。
-
インターネット経由でコンテナイメージを取得します
-
Kubernetes クラスター内のすべての適格ノードでTridentポッドを起動するデプロイメントまたはノード デーモン セットを作成します。
エアギャップまたは安全な場所では、オフライン インストール モードが必要になる場合があります。このシナリオでは、必要なTridentおよび CSI イメージを保存するために、単一のプライベートのミラー化されたレジストリまたは 2 つのミラー化されたレジストリを作成できます。
|
|
レジストリ構成に関係なく、CSI イメージは 1 つのレジストリに存在する必要があります。 |
リモート インストール プロセスの概要は次のとおりです。
-
適切なバージョンを展開する `kubectl`Trident を展開するリモート マシン上で。
-
Kubernetesクラスタから設定ファイルをコピーし、 `KUBECONFIG`リモート マシン上の環境変数。
-
開始する `kubectl get nodes`コマンドを実行して、必要な Kubernetes クラスターに接続できることを確認します。
-
標準のインストール手順を使用して、リモート マシンからの展開を完了します。
方法とモードに基づいてプロセスを選択します
決定したら、適切なプロセスを選択します。
| 方法 | インストールモード |
|---|---|
Tridentオペレーター(手動) |
|
Tridentオペレーター(ヘルム) |
|
|
インストール方法の変更
インストール方法を変更することもできます。これを実行する前に、次の点を考慮してください。
-
Trident のインストールとアンインストールには常に同じ方法を使用してください。導入した場合
tridentctl`適切なバージョンの `tridentctl`Trident をアンインストールするためのバイナリ。同様に、オペレーターでデプロイする場合は、 `TridentOrchestratorCRとセット `spec.uninstall=true`Tridentをアンインストールします。 -
削除して代わりに使用したいオペレーターベースのデプロイメントがある場合
tridentctl`Tridentを展開するには、まず編集する必要があります `TridentOrchestrator`そして設定 `spec.uninstall=true`Tridentをアンインストールします。削除する `TridentOrchestrator`およびオペレータの展開。その後、 `tridentctl。 -
手動のオペレーターベースのデプロイメントがあり、Helm ベースのTridentオペレーター デプロイメントを使用する場合は、最初にオペレーターを手動でアンインストールしてから、Helm インストールを実行する必要があります。これにより、Helm は必要なラベルとアノテーションを使用してTridentオペレーターをデプロイできるようになります。これを行わないと、Helm ベースのTridentオペレーターのデプロイメントは、ラベル検証エラーとアノテーション検証エラーで失敗します。
-
もしあなたが `tridentctl`ベースのデプロイメントでは、 Trident をアンインストールせずに Helm ベースまたは Operator ベースのデプロイメントを実行できます。
その他の既知の設定オプション
VMWare Tanzu Portfolio 製品にTrident をインストールする場合:
-
その
--kubelet-dir`フラグは kubelet ディレクトリの場所に設定する必要があります。デフォルトでは、 `/var/vcap/data/kubelet。kubeletの場所を指定するには `--kubelet-dir`Tridentオペレーター、ヘルム、そして `tridentctl`デプロイメント。