日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Trident オペレータとともに導入

寄稿者

Tridentのオペレータが、Astra Tridentを導入できます。Tridentオペレータは、次のいずれかの方法で導入できます。

  • Tridentの使用 "Helmチャート":Helm ChartがTridentオペレータを導入し、Tridentをワンステップでインストールします。

  • 手動:Tridentがを提供 "バンドル.yaml" オペレータのインストールおよび関連オブジェクトの作成に使用できるファイル。

ヒント をまだ理解していない場合は、を参照してください "基本概念"今こそ、そのための絶好の機会です。
必要なもの

Astra Trident を導入するには、次の前提条件を満たしている必要があります。

  • Kubernetes 1.19~1.24を実行するサポート対象のKubernetesクラスタに対するすべての権限が必要です。

  • サポートされているネットアップストレージシステムを利用できるようにしておきます。

  • すべての Kubernetes ワーカーノードからボリュームをマウントできます。

  • を搭載したLinuxホストがある kubectl (または `oc`OpenShiftを使用している場合)Kubernetesクラスタを管理するようにインストールおよび設定します。

  • を設定しておきます KUBECONFIG Kubernetesクラスタ構成を参照する環境変数。

  • を有効にしておきます "Astra Trident に必要な機能ゲート"

  • Kubernetes と Docker Enterprise を併用する場合は、 "CLI へのアクセスを有効にする手順は、ユーザが行ってください"

それはすべてですか?最高!それでは始めましょう。

Tridentオペレータを導入し、Helmを使用してAstra Tridentをインストール

Helm を使用して Trident オペレータを導入するには、以下の手順を実行します。

必要なもの

上記の前提条件に加え、 Helm を使用して Trident Operator を導入するには、次のものが必要です。

  • Kubernetes 1.19 ~ 1.24

  • Helm バージョン 3

手順
  1. Trident の Helm リポジトリを追加:

    helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
  2. を使用します helm install コマンドを使用し、導入環境の名前を指定します。次の例を参照してください。

    helm install <release-name> netapp-trident/trident-operator --version 22.4.0 --create-namespace <trident-namespace>
    注記 Tridentのネームスペースを作成済みの場合は、を参照してください --create-namespace パラメータでネームスペースが追加で作成されることはありません。

インストール中に設定データを渡すには、次の 2 つの方法があります。

  • --values (または -f):オーバーライドを使用してYAMLファイルを指定します。これは複数回指定でき、右端のファイルが優先されます。

  • --set:コマンドラインでオーバーライドを指定します

たとえば、のデフォルト値を変更するには、のように指定します debug`をクリックし、次のコマンドを実行します `--set コマンドを実行します

helm install <name> netapp-trident/trident-operator --version 22.7.0 --set tridentDebug=true

values.yaml File。Helmチャートの一部で、キーのリストとデフォルト値が表示されます。

helm list 名前、ネームスペース、グラフ、ステータス、 アプリケーションのバージョン、リビジョン番号など。

Trident オペレータを手動で導入

Trident のオペレータを手動で導入するには、以下の手順を実行します。

ステップ 1 : Kubernetes クラスタを確認する

まず、 Linux ホストにログインして、 _working _ 、 "サポートされる Kubernetes クラスタ" に必要な権限があることを確認します。

注記 OpenShiftでは、を使用します oc ではなく kubectl 以降のすべての例では、を実行して、最初に* system:admin *としてログインします oc login -u system:admin または oc login -u kube-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 をインストールする前に、次の手順を実行してオペレータをセットアップする必要があります。
  1. からTridentインストーラバンドルの最新バージョンをダウンロードして展開します "GitHubの_Assets_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
  2. 適切なCRDマニフェストを使用して、を作成します TridentOrchestrator CRD。次に、を作成します TridentOrchestrator 後でカスタムリソース(Custom Resource)をクリックして、演算子によってインストールをインスタンス化する。

    次のコマンドを実行します。

    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. のあとに入力します TridentOrchestrator CRDが作成され、オペレータの展開に必要な次のリソースを作成します。

    • オペレータのサービスアカウント

    • ClusterRole および ClusterRoleBinding をサービスアカウントにバインドする

    • 専用の PodSecurityPolicy

    • 演算子自体

      Trident インストーラには、これらのリソースを定義するマニフェストが含まれています。デフォルトでは、オペレータはに配置されます trident ネームスペース:状況に応じて trident ネームスペースが存在しません。次のマニフェストを使用してネームスペースを作成してください。

    kubectl apply -f deploy/namespace.yaml
  4. デフォルト以外の名前空間に演算子を配置します trident ネームスペースの場合はを更新する必要があります serviceaccount.yamlclusterrolebinding.yaml および operator.yaml マニフェストを作成し、を生成します bundle.yaml

    次のコマンドを実行してYAMLマニフェストを更新し、を生成します bundle.yaml を使用する kustomization.yaml

    kubectl kustomize deploy/ > deploy/bundle.yaml

    次のコマンドを実行してリソースを作成し、オペレータを配置します。

    kubectl create -f deploy/bundle.yaml
  5. 展開後にオペレータのステータスを確認するには、次の手順を実行します。

    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
    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オペレータは、の属性を使用して、Astra Tridentのインストール方法をカスタマイズできます TridentOrchestrator 仕様を参照してください "Trident の導入をカスタマイズ"

のステータス TridentOrchestrator インストールが正常に完了したかどうかを示し、インストールされているTridentのバージョンが表示されます。

ステータス 説明

インストール中です

このツールを使用してAstra Tridentをインストールしている TridentOrchestrator CR。

インストール済み

Astra Trident のインストールが完了しました。

アンインストール中です

OperatorはAstra Tridentをアンインストールしています。理由はです
spec.uninstall=true

アンインストール済み

Astra Trident がアンインストールされました。

失敗しました

オペレータは Astra Trident をインストール、パッチ適用、更新、またはアンインストールできませんでした。オペレータはこの状態からのリカバリを自動的に試みます。この状態が解消されない場合は、トラブルシューティングが必要です。

更新中です

オペレータが既存のインストールを更新しています。

エラー

TridentOrchestrator は使用されません。別のファイルがすでに存在します。

インストール中、のステータス TridentOrchestrator からの変更 Installing 終了: Installed。を確認した場合は Failed ステータスとオペレータが単独でリカバリできない場合は、オペレータのログを確認する必要があります。を参照してください "トラブルシューティング" セクション。

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        |
+----------------+----------------+

これで、バックエンドを作成できます。を参照してください "導入後のタスク"

ヒント 導入時の問題のトラブルシューティングについては、を参照してください "トラブルシューティング" セクション。