使用操作员升级
您可以使用操作员手动或Helm轻松升级现有的Asta三端安装。
使用Trident操作符进行升级
通常、您应使用最初安装Asta三端存储时所用的方法来升级Asta三端存储。请查看 "选择升级方法" 在尝试使用三端修复操作符进行升级之前。
从使用命名空间范围的运算符(版本20.07到20.10)安装的A作用 于Trident实例升级时、该运算符会自动:
|
升级集群范围的Trident操作员安装
您可以升级集群范围的三端操作员安装。所有Astra Trident 21.01及更高版本均使用集群范围的运算符。
确保您使用的是正在运行的Kubbernetes集群 "支持的Kubernetes版本"。
-
验证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映像注册表、启用调试日志或指定映像提取密钥所做的更改。 -
使用适用于您的环境和Astra Trident版本的正确捆绑包YAML文件安装Astra Trident。例如、如果要为Kubenetes 1.27安装Asta Trident 23.04、请运行以下命令:
kubectl create -f 23.04.0/trident-installer/deploy/bundle_post_1_25.yaml -n trident
Trident提供了一个捆绑包文件、可用于安装操作员并为Kubernetes版本创建关联对象。
-
对于运行Kubornetes 1.24或更早版本的集群、请使用 "bundle_pre_1_25.yaml"。
-
对于运行Kubernetes 1.25或更高版本的集群、请使用 "捆绑包_后_ 1_25.yaml"。
-
Trident操作员将确定现有的Astra Trident安装并将其升级到与操作员相同的版本。
升级命名空间范围的操作员安装
您可以从使用命名空间范围的操作符(版本20.07到20.10)安装的Astra Dent实例升级到集群范围的操作符安装。
您需要使用捆绑包YAML文件从中部署命名空间范围的运算符 https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/BUNDLE.YAML
其中: vXX.XX
是版本号和 BUNDLE.YAML
是捆绑包YAML文件名。
-
验证
TridentProvisioner
现有的{\f270通过}{\f151。}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.04.0] mkdir 23.04.0 cd 23.04.0 wget https://github.com/NetApp/trident/releases/download/v23.04.0/trident-installer-23.04.0.tar.gz tar -xf trident-installer-23.04.0.tar.gz cd trident-installer kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
使用其清单删除命名空间范围的运算符。
-
确保您位于正确的目录中。
pwd /root/20.10.1/trident-installer
-
删除命名空间范围的运算符。
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
-
确认已删除三端修复操作符。
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
-
-
(可选)如果需要修改安装参数、请更新
TridentProvisioner
规格这可能包括更改、例如更改:的值tridentImage
,autosupportImage
、私有映像存储库和提供imagePullSecrets
)。有关可更新的完整参数列表、请参见 "配置选项"。kubectl patch tprov <trident-provisioner-name> -n <trident-namespace> --type=merge -p '{"spec":{"debug":true}}'
-
安装在集群范围内的TRIdent操作符。
-
确保您位于正确的目录中。
pwd /root/23.04.0/trident-installer
-
在同一命名空间中安装集群范围的运算符。
Trident提供了一个捆绑包文件、可用于安装操作员并为Kubernetes版本创建关联对象。
-
对于运行Kubornetes 1.24或更早版本的集群、请使用 "bundle_pre_1_25.yaml"。
-
对于运行Kubernetes 1.25或更高版本的集群、请使用 "捆绑包_后_ 1_25.yaml"。
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
-
-
检查命名空间中的三端Pod。。
trident-controller
和POD名称反映了23.01中引入的命名约定。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
-
确认已将三端到端更新到预期版本。
kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v23.04.0
-
升级基于 Helm 的操作员安装
要升级基于 Helm 的操作员安装,请执行以下步骤。
将安装了Astra Trident的Kubernetes集群从1.24升级到1.25或更高版本时、必须将values.yaml更新为set excludePodSecurityPolicy to true 或添加 --set excludePodSecurityPolicy=true 到 helm upgrade 命令。
|
-
下载最新的 Astra Trident 版本。
-
使用
helm upgrade
命令位置trident-operator-23.04.0.tgz
反映了要升级到的版本。helm upgrade <name> trident-operator-23.04.0.tgz
如果在初始安装期间设置了任何非默认选项(例如为Trident和CSI映像指定专用的镜像注册表)、请使用
--set
为了确保这些选项包含在upgrade命令中、否则这些值将重置为默认值。例如、要更改的默认值 `tridentDebug`下,运行以下命令:
helm upgrade <name> trident-operator-23.04.0-custom.tgz --set tridentDebug=true
-
运行
helm list
验证图表和应用程序版本均已升级。运行tridentctl logs
查看任何调试消息。
Trident操作员将确定现有的Astra Trident安装并将其升级到与操作员相同的版本。
从非操作员安装升级
您可以从升级到最新版本的Trident操作员 tridentctl
安装。
-
下载最新的 Astra Trident 版本。
# Download the release required [23.04.0] mkdir 23.04.0 cd 23.04.0 wget https://github.com/NetApp/trident/releases/download/v22.01.1/trident-installer-23.04.0.tar.gz tar -xf trident-installer-23.04.0.tar.gz cd trident-installer
-
创建
tridentorchestrator
清单中的CRD。kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
将集群范围的运算符部署在同一命名空间中。
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。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
-
确认已将三项功能升级到预期版本。
kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v23.04.0
现有后端和 PVC 会自动可用。