Trident オペレータとともに導入
Tridentのオペレータが、Astra Tridentを導入できます。Tridentオペレータは、次のいずれかの方法で導入できます。
-
Tridentの使用 "Helmチャート":Helm ChartがTridentオペレータを導入し、Tridentをワンステップでインストールします。
-
手動:Tridentがを提供 "バンドル.yaml" オペレータのインストールおよび関連オブジェクトの作成に使用できるファイル。
をまだ理解していない場合は、を参照してください "基本概念"今こそ、そのための絶好の機会です。 |
Astra Trident を導入するには、次の前提条件を満たしている必要があります。
-
Kubernetes 1.18-1.24を実行する、サポート対象のKubernetesクラスタに対するすべての権限が必要です。
-
サポートされているネットアップストレージシステムを利用できるようにしておきます。
-
すべての Kubernetes ワーカーノードからボリュームをマウントできます。
-
使用する Kubernetes クラスタを管理するために 'kubectl( OpenShift を使用している場合は 'OC) をインストールして構成した Linux ホストがあります
-
「 KUBECONFIG 」環境変数を、 Kubernetes クラスタ構成を指すように設定しておきます。
-
を有効にしておきます "Astra Trident に必要な機能ゲート"。
-
Kubernetes と Docker Enterprise を併用する場合は、 "CLI へのアクセスを有効にする手順は、ユーザが行ってください"。
それはすべてですか?最高!それでは始めましょう。
Tridentオペレータを導入し、Helmを使用してAstra Tridentをインストール
Helm を使用して Trident オペレータを導入するには、以下の手順を実行します。
上記の前提条件に加え、 Helm を使用して Trident Operator を導入するには、次のものが必要です。
-
Kubernetes 1.18-1.24
-
Helm バージョン 3
-
Trident の Helm リポジトリを追加:
helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
-
「 helm install 」コマンドを使用して、展開の名前を指定します。次の例を参照してください。
helm install <release-name> netapp-trident/trident-operator --version 22.4.0 --namespace <trident-namespace>
Trident の名前空間をまだ作成していない場合は '--create-namespace パラメータを helm install コマンドに追加できますHelm によってネームスペースが自動的に作成されます。
インストール中に設定データを渡すには、次の 2 つの方法があります。
-
--values] ( または '-f
) : オーバーライドを含む YAML ファイルを指定しますこれは複数回指定でき、右端のファイルが優先されます。 -
--set
: コマンドラインでオーバーライドを指定します
たとえば ' デフォルト値の debug
を変更するには ' 次のように --set` コマンドを実行します
$ helm install <name> netapp-trident/trident-operator --version 22.4.0 --set tridentDebug=true
Helm チャートの一部である `values] の .yaml ファイルには、キーのリストとデフォルト値が表示されます。
「 helm list 」は、名前、名前空間、グラフ、ステータスなど、インストールに関する詳細を表示します。 アプリケーションのバージョン、リビジョン番号など。
Trident オペレータを手動で導入
Trident のオペレータを手動で導入するには、以下の手順を実行します。
ステップ 1 : Kubernetes クラスタを確認する
まず、 Linux ホストにログインして、 _working _ 、 "サポートされる Kubernetes クラスタ" に必要な権限があることを確認します。
OpenShift では、以降のすべての例で「 kubectl 」ではなく「 OC 」を使用し、「 OC login-u SYSTEM : admin 」または「 OC login-u kube-admin 」を実行して最初に「 *system:admin 」としてログインします。 |
Kubernetesのバージョンを確認するには、次のコマンドを実行します。
kubectl version
Kubernetes クラスタ管理者の権限があるかどうかを確認するには、次のコマンドを実行します。
kubectl auth can-i '*' '*' --all-namespaces
Docker Hub のイメージを使用してポッドを起動し、ポッドネットワーク経由でストレージシステムにアクセスできるかどうかを確認するには、次のコマンドを実行します。
kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \ ping <management IP>
手順 2 :オペレータをダウンロードして設定します
21.01 以降、 Trident Operator はクラスタを対象とします。Trident オペレータを使用して Trident をインストールするには、「 TridentOrchestrator 」カスタムリソース定義( CRD )を作成し、その他のリソースを定義する必要があります。Astra Trident をインストールする前に、次の手順を実行してオペレータをセットアップする必要があります。 |
-
の最新バージョンをダウンロードします "Trident インストーラバンドル" _Downloads_section から抽出します
wget https://github.com/NetApp/trident/releases/download/v22.04.0/trident-installer-22.04.0.tar.gz tar -xf trident-installer-22.04.0.tar.gz cd trident-installer
-
適切な CRD マニフェストを使用して、「 TridentOrchestrator 」 CRD を作成します。次に、後で「 TridentOrchestrator 」カスタムリソースを作成して、オペレータによってインストールをインスタンス化します。
次のコマンドを実行します。
kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
「 TridentOrchestrator 」 CRD が作成されたら、オペレータの展開に必要な次のリソースを作成します。
-
オペレータのサービスアカウント
-
ClusterRole および ClusterRoleBinding をサービスアカウントにバインドする
-
専用の PodSecurityPolicy
-
演算子自体
Trident インストーラには、これらのリソースを定義するマニフェストが含まれています。デフォルトでは ' 演算子は trident' 名前空間に配置されます'trident' 名前空間が存在しない場合は ' 次のマニフェストを使用して名前空間を作成します
$ kubectl apply -f deploy/namespace.yaml
-
-
デフォルトの 'trident` 名前空間以外の名前空間に演算子を配備するには '`erviceaccount.yaml 'clusterrolebinding.yaml ' および `operator.yML' マニフェストを更新し 'bundle.yaml を生成する必要があります
次のコマンドを実行して YAML マニフェストを更新し、「 customizization.yaml 」を使用して「 bundle.yaml 」を生成します。
kubectl kustomize deploy/ > deploy/bundle.yaml
次のコマンドを実行してリソースを作成し、オペレータを配置します。
kubectl create -f deploy/bundle.yaml
-
展開後にオペレータのステータスを確認するには、次の手順を実行します。
$ kubectl get deployment -n <operator-namespace> NAME READY UP-TO-DATE AVAILABLE AGE trident-operator 1/1 1 1 3m $ kubectl get pods -n <operator-namespace> NAME READY STATUS RESTARTS AGE trident-operator-54cb664d-lnjxh 1/1 Running 0 3m
オペレータによる導入で、クラスタ内のいずれかのワーカーノードで実行されるポッドが正常に作成されます。
Kubernetes クラスタには、オペレータのインスタンスが * 1 つしか存在しないようにしてください。Trident のオペレータが複数の環境を構築することは避けてください。 |
手順3:作成 TridentOrchestrator
Tridentをインストール
これで、オペレータを使って Astra Trident をインストールする準備ができました。これには 'TridentOrchestrator を作成する必要がありますTrident インストーラには 'TridentOrchestrator を作成するための定義例が付属していますこれは 'trident' 名前空間にインストールされます
$ 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 Status: Current Installation Params: IPv6: false Autosupport Hostname: Autosupport Image: netapp/trident-autosupport:21.04 Autosupport Proxy: Autosupport Serial Number: Debug: true Enable Node Prep: false Image Pull Secrets: Image Registry: k8sTimeout: 30 Kubelet Dir: /var/lib/kubelet Log Format: text Silence Autosupport: false Trident Image: netapp/trident:21.04.0 Message: Trident installed Namespace: trident Status: Installed Version: v21.04.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
Trident オペレータは 'TridentOrchestrator 仕様の属性を使用して 'Astra Trident のインストール方法をカスタマイズできますを参照してください "Trident の導入をカスタマイズ"。
「 TridentOrchestrator 」のステータスは、インストールが成功したかどうかを示し、インストールされている Trident のバージョンを表示します。
ステータス | 説明 |
---|---|
インストール中です |
オペレータは、この「 TridentOrchestrator 」 CR を使用して Astra Trident をインストールしています。 |
インストール済み |
Astra Trident のインストールが完了しました。 |
アンインストール中です |
オペレータは 'stra Trident をアンインストールしていますこれは 'pec.uninstall=true だからです |
アンインストール済み |
Astra Trident がアンインストールされました。 |
失敗しました |
オペレータは Astra Trident をインストール、パッチ適用、更新、またはアンインストールできませんでした。オペレータはこの状態からのリカバリを自動的に試みます。この状態が解消されない場合は、トラブルシューティングが必要です。 |
更新中です |
オペレータが既存のインストールを更新しています。 |
エラー |
「 TridentOrchestrator 」は使用されません。別のファイルがすでに存在します。 |
インストール中に 'TridentOrchestrator のステータスが Installing から Installed に変わります「失敗」ステータスが表示され、オペレータが自身で回復できない場合は、オペレータのログを確認する必要があります。を参照してください "トラブルシューティング" セクション。
Astra Trident のインストールが完了しているかどうかを確認するには、作成したポッドを確認します。
$ kubectl get pod -n trident NAME READY STATUS RESTARTS AGE trident-csi-7d466bf5c7-v4cpw 5/5 Running 0 1m trident-csi-mr6zc 2/2 Running 0 1m trident-csi-xrp7w 2/2 Running 0 1m trident-csi-zh2jt 2/2 Running 0 1m trident-operator-766f7b8658-ldzsv 1/1 Running 0 3m
また 'tridentctl を使用して 'Astra Trident のバージョンを確認することもできます
$ ./tridentctl -n trident version +----------------+----------------+ | SERVER VERSION | CLIENT VERSION | +----------------+----------------+ | 21.04.0 | 21.04.0 | +----------------+----------------+
これで、バックエンドを作成できます。を参照してください "導入後のタスク"。
導入時の問題のトラブルシューティングについては、を参照してください "トラブルシューティング" セクション。 |