使用 Trident 操作员或 Helm 升级 Trident 安装
您可以使用 Trident 操作员手动或使用 Helm 升级 Trident。您可以从 Trident 操作员安装升级到另一个 Trident 操作员安装,或从 `tridentctl`安装升级到 Trident 操作员版本。在升级 Trident 操作员安装之前,请查看"选择升级方法"。
升级手动安装
您可以从集群范围内的 Trident 操作员安装升级到另一个集群范围内的 Trident 操作员安装。所有 Trident 版本都使用集群范围的操作符。
|
|
要从使用命名空间范围运算符(版本 20.07 至 20.10)安装的 Trident 进行升级,请使用 "您安装的版本" 版本的 Trident 升级说明。 |
Trident 提供了一个捆绑文件,可用于安装操作员并为您的 Kubernetes 版本创建关联的对象。
-
对于运行 Kubernetes 1.24 的集群,请使用 "bundle_pre_1_25.yaml"。
-
对于运行 Kubernetes 1.25 或更高版本的集群,请使用 "bundle_post_1_25.yaml"。
请确保使用的是正在运行 "受支持的 Kubernetes 版本" 的 Kubernetes 集群。
-
验证您的 Trident 版本:
./tridentctl -n trident version
-
使用要升级到的版本(例如 25.06)的注册表和图像路径以及正确的密码更新
operator.yaml、tridentorchestrator_cr.yaml和post_1_25_bundle.yaml。 -
删除用于安装当前 Trident 实例的 Trident 操作员。例如,如果要从 25.02 升级,请运行以下命令:
kubectl delete -f 25.02.0/trident-installer/deploy/<bundle.yaml> -n trident
-
如果使用
TridentOrchestrator属性自定义初始安装,则可以编辑TridentOrchestrator对象以修改安装参数。这可能包括为离线模式指定镜像的 Trident 和 CSI 映像注册表、启用调试日志或指定映像拉取密钥所做的更改。 -
使用适合您环境的正确捆绑包 YAML 文件安装 Trident,其中 <bundle.yaml> 是
bundle_pre_1_25.yaml`或 `bundle_post_1_25.yaml,具体取决于您的 Kubernetes 版本。例如,如果要安装 Trident 25.06.0,请运行以下命令:kubectl create -f 25.06.0/trident-installer/deploy/<bundle.yaml> -n trident
-
编辑 Trident torc 以包括图像 25.06.0。
升级 Helm 安装
您可以升级 Trident Helm 安装。
|
|
在将安装了 Trident 的 Kubernetes 集群从 1.24 升级到 1.25 或更高版本时,必须更新 values.yaml 以将 `excludePodSecurityPolicy`设置为 `true`或将 `--set excludePodSecurityPolicy=true`添加到 `helm upgrade`命令中,然后才能升级集群。 |
如果您已经将 Kubernetes 集群从 1.24 升级到 1.25,而没有升级 Trident helm,则 helm 升级将失败。要完成 helm 升级,请执行以下步骤作为先决条件:
-
从 https://github.com/helm/helm-mapkubeapis安装 helm-mapkubeapis 插件。
-
在安装 Trident 的命名空间中对 Trident 版本执行试运行。这列出了将要清除的资源。
helm mapkubeapis --dry-run trident --namespace trident
-
使用 helm 执行完整运行以进行清理。
helm mapkubeapis trident --namespace trident
-
如果您"使用 Helm 安装了 Trident",您可以使用 `helm upgrade trident netapp-trident/trident-operator --version 100.2506.0`一步升级。如果您没有添加 Helm 存储库或无法使用它进行升级:
-
从 "GitHub 上的 Assets 部分" 下载最新的 Trident 版本。
-
请使用
helm upgrade命令,其中trident-operator-25.10.0.tgz反映要升级到的版本。helm upgrade <name> trident-operator-25.10.0.tgz
如果您在初始安装期间设置了自定义选项(例如为 Trident 和 CSI 镜像指定私有、镜像仓库),请使用 helm upgrade`命令并附加 `--set,以确保这些选项包含在升级命令中,否则这些值将重置为默认值。
-
-
运行
helm list以确认图表和应用版本都已升级。运行tridentctl logs以查看所有调试消息。
从 tridentctl 安装升级到 Trident 操作员
您可以从 `tridentctl`安装升级到最新版本的 Trident 操作员。现有的后端和 PVC 将自动可用。
|
|
在切换安装方法之前,请查看 "在安装方法之间切换"。 |
-
下载最新的 Trident 版本。
# Download the release required [25.10.0] mkdir 25.10.0 cd 25.10.0 wget https://github.com/NetApp/trident/releases/download/v25.10.0/trident-installer-25.10.0.tar.gz tar -xf trident-installer-25.10.0.tar.gz cd trident-installer
-
从清单中创建
tridentorchestratorCRD。kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
在同一命名空间中部署集群作用域运算符。
kubectl create -f deploy/<bundle-name.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
-
创建
TridentOrchestratorCR 以安装 Trident。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
-
确认 Trident 已升级到预期版本。
kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v25.10.0