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

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

寄稿者

Tridentのオペレータが、Astra Tridentを導入できます。

Astra Tridentに関する重要な情報22.10

  • Astra Trident 22.10.*にアップグレードする前に、次の重要な情報をお読みください

警告
<strong>Astra Tridentに関する重要な情報22.10</strong>
  • TridentでKubernetes 1.25がサポートされるようになりました。Kubernetes 1.25にアップグレードする前に、Astra Trident 22.10にアップグレードする必要があります。

  • Astra Tridentは、SAN環境でマルチパス構成を厳密に使用するよう強制し、推奨値をに設定するようになりました find_multipaths: no multipath.confファイル内。

    非マルチパス構成またはを使用 find_multipaths: yes または find_multipaths: smart multipath.confファイルの値が原因でマウントが失敗します。Tridentはの使用を推奨しています find_multipaths: no 21.07リリース以降

Tridentのオペレータ導入オプション

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

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

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

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

前提条件を確認する

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

  • サポートされているバージョンのKubernetesを実行している、サポートされているKubernetesクラスタに対するすべての権限が必要です。を確認します "要件"

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

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

  • 使用する Kubernetes クラスタを管理するために 'kubectl( OpenShift を使用している場合は 'OC) をインストールして構成した Linux ホストがあります

  • 「 KUBECONFIG 」環境変数を、 Kubernetes クラスタ構成を指すように設定しておきます。

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

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

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

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

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

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

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

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

    helm install <name> netapp-trident/trident-operator --version 22.10.0 --create-namespace --namespace <trident-namespace>
    注記 すでにTridentの名前空間を作成している場合'--create-namespaceパラメータは追加の名前空間を作成しません

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

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

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

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

helm install <name> netapp-trident/trident-operator --version 22.10.0 --create-namespace --namespace --set tridentDebug=true

Helm チャートの一部である `values] の .yaml ファイルには、キーのリストとデフォルト値が表示されます。

「 helm list 」は、名前、名前空間、グラフ、ステータスなど、インストールに関する詳細を表示します。 アプリケーションのバージョン、リビジョン番号など。

Tridentオペレータを手動で導入し、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 をインストールする前に、次の手順を実行してオペレータをセットアップする必要があります。
  1. からTridentインストーラバンドルの最新バージョンをダウンロードして展開します "GitHubの_Assets_sectionを参照してください"

    wget https://github.com/NetApp/trident/releases/download/v22.10.0/trident-installer-22.10.0.tar.gz
    tar -xf trident-installer-22.10.0.tar.gz
    cd trident-installer
  2. 適切な CRD マニフェストを使用して、「 TridentOrchestrator 」 CRD を作成します。次に、後で「 TridentOrchestrator 」カスタムリソースを作成して、オペレータによってインストールをインスタンス化します。

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

    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` 名前空間以外の名前空間に演算子を配備するには '`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
  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 : 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:22.10
    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 オペレータは '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        |
+----------------+----------------+

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

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