オペレータにアップグレードしてください
既存の Astra Trident インストールは、オペレータが簡単にアップグレードできます。
オペレータを使用してアップグレードするには、次の条件を満たしている必要があります。
-
CSIベースのAstra Tridentがインストールされている必要があります。の19.07以降のすべてのリリースはCSIベースです。Tridentネームスペース内のポッドを調べて確認できます。
-
23.01より前のバージョンのポッドの命名は、の後に続きます
trident-csi-*
表記規則 -
23.01以降でポッドの命名には次のものが使用されます。
trident-controller-<generated id>
コントローラポッド用trident-node-<operating system>-<generated id>
ノードポッド用trident-operator-<generated id>
オペレータポッド用。
-
-
CSI Trident をアンインストールしても、インストールからのメタデータが保持されている場合は、オペレータを使用してアップグレードできます。
-
特定の Kubernetes クラスタ内のすべてのネームスペースに存在する Trident のは、 1 つの Astra だけです。
-
Kubernetesクラスタを使用して実行する必要があります "サポートされるKubernetesバージョン"。
-
アルファスナップショットのCRDが存在する場合は、で削除する必要があります
tridentctl obliviate alpha-snapshot-crd
。これにより、アルファスナップショット仕様の CRD が削除されます。削除または移行が必要な既存のスナップショットについては、を参照してください "この blog"。
|
クラスタを対象としたTridentオペレータ環境をアップグレード
クラスタを対象としたTridentのオペレータ環境をアップグレードする手順は、次のとおりです。すべてのAstra Tridentバージョン21.01以降では、クラスタを対象とした演算子を使用します。
-
Astra Tridentのバージョンを確認します。
./tridentctl -n trident version
-
現在の Astra Trident インスタンスのインストールに使用した Trident オペレータを削除たとえば、22.01からアップグレードする場合は、次のコマンドを実行します。
kubectl delete -f 22.01/trident-installer/deploy/bundle.yaml -n trident
-
を使用して初期インストールをカスタマイズした場合
TridentOrchestrator
属性を編集できますTridentOrchestrator
インストールパラメータを変更するオブジェクト。これには、ミラーリングされたTridentおよびCSIイメージレジストリをオフラインモードに指定したり、デバッグログを有効にしたり、イメージプルシークレットを指定したりするための変更が含まれます。 -
環境に適したバンドルYAMLファイルとAstra Tridentバージョンを使用してAstra Tridentをインストールします。たとえば、Kubernetes 1.26用にAstra Trident 23.01をインストールする場合は、次のコマンドを実行します。
kubectl create -f 23.01.1/trident-installer/deploy/bundle_post_1_25.yaml -n trident
Tridentでは、オペレータのインストールやKubernetesバージョンに関連するオブジェクトの作成に使用できるバンドルファイルが提供されています。
-
Kubernetes 1.24以前を実行しているクラスタの場合は、を使用します "Bundle_pre_1_25.yaml"。
-
Kubernetes 1.25以上を実行するクラスタの場合は、を使用します "bundle_post_1_25.yaml"。
-
Tridentのオペレータが、既存のAstra Tridentインストールを特定し、オペレータと同じバージョンにアップグレードします。
名前空間を対象としたオペレータインストールをアップグレードします
名前空間を対象とした演算子(バージョン20.07~20.10)を使用してインストールされたAstra Tridentのインスタンスからアップグレードするには、次の手順を実行します。
-
既存の Trident インストールのステータスを確認そのためには、の*ステータス*を確認してください
TridentProvisioner
。ステータスがになっている必要がありますInstalled
。kubectl describe tprov trident -n trident | grep Message: -A 3 Message: Trident installed Status: Installed Version: v20.10.1
ステータスがになっている場合 `Updating`をクリックし、続行する前に解決してください。可能なステータス値のリストについては、を参照してください "こちらをご覧ください"。 -
を作成します
TridentOrchestrator
Tridentインストーラに付属のマニフェストを使用したCRD。# Download the release required [23.01.1] mkdir 23.01.1 cd 23.01.1 wget https://github.com/NetApp/trident/releases/download/v23.01.1/trident-installer-23.01.1.tar.gz tar -xf trident-installer-23.01.1.tar.gz cd trident-installer kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
マニフェストを使用して、名前空間を対象とした演算子を削除します。この手順を完了するには、名前空間を対象とした演算子をから配備するために使用するバンドルYAMLファイルが必要です
https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/BUNDLE.YAML
ここで、vXX.XX
は、バージョン番号およびですBUNDLE.YAML
はバンドルYAMLファイル名です。Tridentのインストールパラメータに必要な変更を加えます(の値の変更など) tridentImage
、autosupportImage
、プライベートイメージリポジトリ、および提供imagePullSecrets
)名前空間を対象とした演算子を削除した後、クラスタを対象とした演算子をインストールする前。更新可能なパラメータの一覧については、を参照してください "設定オプション"。#Ensure you are in the right directory pwd /root/20.10.1/trident-installer #Delete the namespace-scoped operator kubectl delete -f deploy/<BUNDLE.YAML> -n trident serviceaccount "trident-operator" deleted clusterrole.rbac.authorization.k8s.io "trident-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "trident-operator" deleted deployment.apps "trident-operator" deleted podsecuritypolicy.policy "tridentoperatorpods" deleted #Confirm the Trident operator was removed kubectl get all -n trident NAME READY STATUS RESTARTS AGE pod/trident-csi-68d979fb85-dsrmn 6/6 Running 12 99d pod/trident-csi-8jfhf 2/2 Running 6 105d pod/trident-csi-jtnjz 2/2 Running 6 105d pod/trident-csi-lcxvh 2/2 Running 8 105d NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/trident-csi ClusterIP 10.108.174.125 <none> 34571/TCP,9220/TCP 105d NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/trident-csi 3 3 3 3 3 kubernetes.io/arch=amd64,kubernetes.io/os=linux 105d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/trident-csi 1/1 1 1 105d NAME DESIRED CURRENT READY AGE replicaset.apps/trident-csi-68d979fb85 1 1 1 105d
この段階では、を実行します
trident-operator-xxxxxxxxxx-xxxxx
ポッドが削除されました。 -
(オプション)インストールパラメータを変更する必要がある場合は、を更新します
TridentProvisioner
仕様これらの変更には、コンテナイメージをからプルするためのプライベートイメージレジストリの変更、デバッグログの有効化、イメージプルシークレットの指定などがあります。kubectl patch tprov <trident-provisioner-name> -n <trident-namespace> --type=merge -p '{"spec":{"debug":true}}'
-
Tridentオペレータをインストール
クラスタを対象としたオペレータをインストールすると、の移行が開始されます TridentProvisioner
オブジェクトの移動先TridentOrchestrator
オブジェクトを削除しますTridentProvisioner
オブジェクトとtridentprovisioner
CRD、およびAstra Tridentを、使用しているクラスタ対象オペレータのバージョンにアップグレードします。次の例では、Tridentが23.01.1にアップグレードされています。Tridentオペレータを使用してAstra Tridentをアップグレードすると、が移行されます tridentProvisioner
をに追加しますtridentOrchestrator
同じ名前のオブジェクト。これは、オペレータによって自動的に処理されます。アップグレードの際には、 Astra Trident が以前と同じネームスペースにインストールされる予定です。#Ensure you are in the correct directory pwd /root/23.01.1/trident-installer #Install the cluster-scoped operator in the **same namespace** kubectl create -f deploy/<BUNDLE.YAML> serviceaccount/trident-operator created clusterrole.rbac.authorization.k8s.io/trident-operator created clusterrolebinding.rbac.authorization.k8s.io/trident-operator created deployment.apps/trident-operator created podsecuritypolicy.policy/tridentoperatorpods created #All tridentProvisioners will be removed, including the CRD itself kubectl get tprov -n trident Error from server (NotFound): Unable to list "trident.netapp.io/v1, Resource=tridentprovisioners": the server could not find the requested resource (get tridentprovisioners.trident.netapp.io) #tridentProvisioners are replaced by tridentOrchestrator kubectl get torc NAME AGE trident 13s #Examine Trident pods in the namespace kubectl get pods -n trident NAME READY STATUS RESTARTS AGE trident-controller-79df798bdc-m79dc 6/6 Running 0 1m41s trident-node-linux-xrst8 2/2 Running 0 1m41s trident-operator-5574dbbc68-nthjv 1/1 Running 0 1m52s #Confirm Trident has been updated to the desired version kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v23.01.1
。 trident-controller
ポッド名は、23.01で導入された命名規則を反映しています。
Helm ベースのオペレータインストレーションをアップグレードします
Helm ベースのオペレータインストレーションをアップグレードするには、次の手順を実行します。
Astra TridentがインストールされているKubernetesクラスタを1.24から1.25以降にアップグレードする場合は、value.yamlを更新して設定する必要があります excludePodSecurityPolicy 終了: true または、を追加します --set excludePodSecurityPolicy=true に移動します helm upgrade コマンドを実行してからクラスタをアップグレードしてください。
|
-
最新の Astra Trident リリースをダウンロード
-
を使用します
helm upgrade
コマンドを入力しますtrident-operator-23.01.1.tgz
アップグレード後のバージョンが反映されます。helm upgrade <name> trident-operator-23.01.1.tgz
初期インストール時にデフォルト以外のオプションを設定した場合(TridentイメージおよびCSIイメージのプライベートなミラーレジストリを指定するなど)は、を使用します
--set
これらのオプションがupgradeコマンドに含まれるようにするため、それらのオプションの値をdefaultにリセットします。たとえば、のデフォルト値を変更するには、のように指定します `tridentDebug`を使用して、次のコマンドを実行します。
helm upgrade <name> trident-operator-23.01.1-custom.tgz --set tridentDebug=true
-
を実行します
helm list
グラフとアプリのバージョンが両方ともアップグレードされていることを確認します。を実行しますtridentctl logs
デバッグメッセージを確認します。
Tridentのオペレータが、既存のAstra Tridentインストールを特定し、オペレータと同じバージョンにアップグレードします。
オペレータ以外のインストールからアップグレードします
からTridentの最新リリースにアップグレードできます tridentctl
インストール:
-
最新の Astra Trident リリースをダウンロード
# Download the release required [23.01.1] mkdir 23.01.1 cd 23.01.1 wget https://github.com/NetApp/trident/releases/download/v22.01.1/trident-installer-23.01.1.tar.gz tar -xf trident-installer-23.01.1.tar.gz cd trident-installer
-
を作成します
tridentorchestrator
マニフェストからのCRD。kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
オペレータを配備します。
#Install the cluster-scoped operator in the **same namespace** kubectl create -f deploy/<BUNDLE.YAML> serviceaccount/trident-operator created clusterrole.rbac.authorization.k8s.io/trident-operator created clusterrolebinding.rbac.authorization.k8s.io/trident-operator created deployment.apps/trident-operator created podsecuritypolicy.policy/tridentoperatorpods created #Examine the pods in the Trident namespace NAME READY STATUS RESTARTS AGE trident-controller-79df798bdc-m79dc 6/6 Running 0 150d trident-node-linux-xrst8 2/2 Running 0 150d trident-operator-5574dbbc68-nthjv 1/1 Running 0 1m30s
-
を作成します
TridentOrchestrator
Astra Tridentのインストール用にCR。#Create a tridentOrchestrator to initiate a Trident install cat deploy/crds/tridentorchestrator_cr.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident kubectl create -f deploy/crds/tridentorchestrator_cr.yaml #Examine the pods in the Trident namespace NAME READY STATUS RESTARTS AGE trident-csi-79df798bdc-m79dc 6/6 Running 0 1m trident-csi-xrst8 2/2 Running 0 1m trident-operator-5574dbbc68-nthjv 1/1 Running 0 5m41s #Confirm Trident was upgraded to the desired version kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v23.01.1
既存のバックエンドと PVC は自動的に使用可能