简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

降级 Astra Trident

提供者

了解降级到早期版本的 Astra Trident 所涉及的步骤。

您可能会考虑降级的各种原因,例如:

  • 应急规划

  • 立即修复因升级而发现的错误

  • 依赖关系问题,升级失败和不完整

何时降级

迁移到使用 CRD 的 Astra Trident 版本时,应考虑降级。由于 Astra Trident 现在使用 CRD 来保持状态,因此创建的所有存储实体(后端,存储类, PV 和卷快照)都已关联 CRD 对象,而不是写入到 trident PV (由早期安装的 Astra Trident 版本使用)中的数据。新创建的 PV ,后端和存储类均作为 CRD 对象进行维护。如果需要降级,则只能对使用 CRD ( 19.07 及更高版本)运行的 Astra Trident 版本尝试执行此操作。这是为了确保在降级后,当前 Astra Trident 版本上执行的所有操作均可见。

何时不降级

您不应降级到使用 etcd 保持状态( 19.04 及更早版本)的 Trident 版本。降级后,使用当前 Astra Trident 版本执行的所有操作都不会反映出来。在回滚到早期版本时,新创建的 PV 不可用。在迁移回早期版本时,对后端, PV ,存储类和卷快照(已创建 / 更新 / 删除)等对象所做的更改对 Astra Trident 不可见。恢复到早期版本不会中断对已使用早期版本创建的 PV 的访问,除非已对其进行升级。

使用操作员安装 Astra Trident 时的降级过程

对于使用 Trident 操作员完成的安装,降级过程有所不同,不需要使用 tridentctl

对于使用 Trident 操作符完成的安装, Astra Trident 可以降级为以下任一项:

  • 使用命名空间范围的运算符( 20.07 - 20.10 )安装的版本。

  • 使用集群范围运算符( 21.01 及更高版本)安装的版本。

降级为集群范围的运算符

要将 Astra Trident 降级为使用集群范围运算符的版本,请执行以下步骤。

步骤
  1. "卸载 Astra Trident"。* 除非要完全删除现有安装,否则请勿删除这些 CRD

  2. 删除集群范围的运算符。为此,您需要使用清单来部署操作员。您可以从获取 "Trident GitHub 报告"。确保切换到所需的分支。

  3. 通过安装所需版本的 Astra Trident 继续降级。按照所需版本的文档进行操作。

降级到命名空间范围的运算符

本节总结了降级到 20.07 到 20.10 范围内的 Astra Trident 版本所涉及的步骤,该版本将使用命名空间范围的运算符进行安装。

步骤
  1. "卸载 Astra Trident"除非要完全删除现有安装,否则请勿删除 CRD 。确保已删除 tridentOrchestrator 。

    #Check to see if there are any tridentorchestrators present
    $ kubectl get torc
    NAME        AGE
    trident     20h
    
    #Looks like there is a tridentorchestrator that needs deleting
    $ kubectl delete torc trident
    tridentorchestrator.trident.netapp.io "trident" deleted
  2. 删除集群范围的运算符。为此,您需要使用清单来部署操作员。您可以从此处获取 "Trident GitHub 报告"。确保切换到所需的分支。

  3. 删除 tridentorchator CRD 。

    #Check to see if ``tridentorchestrators.trident.netapp.io`` CRD is present and delete it.
    $ kubectl get crd tridentorchestrators.trident.netapp.io
    NAME                                     CREATED AT
    tridentorchestrators.trident.netapp.io   2021-01-21T21:11:37Z
    $ kubectl delete crd tridentorchestrators.trident.netapp.io
    customresourcedefinition.apiextensions.k8s.io "tridentorchestrators.trident.netapp.io" deleted

    已卸载 Astra Trident 。

  4. 通过安装所需版本继续降级。按照所需版本的文档进行操作。

使用 Helm 降级

要降级,请使用 helm rollback 命令。请参见以下示例:

$ helm rollback trident [revision #]

使用 tridentctl 安装 Astra Trident 时的降级过程

如果您使用 tridentctl 安装了 Astra Trident ,则降级过程涉及以下步骤。此顺序将指导您完成从 Astra Trident 21.07 迁移到 20.07 的降级过程。

注 在开始降级之前,您应创建 Kubernetes 集群的 etcd 的快照。这样,您就可以备份 Astra Trident 的 CRD 的当前状态了。
步骤
  1. 确保使用 tridentctl 安装 Trident 。如果您不确定如何安装 Astra Trident ,请运行以下简单测试:

    1. 列出 Trident 命名空间中的 Pod 。

    2. 确定集群中运行的 Astra Trident 的版本。您可以使用 tridentctl 或查看 Trident Pod 中使用的图像。

    3. 如果您 * 未看到 * a tridentOrchestrator ,(或) a tridentprovisioner ,(或)名为 trident — operator-xxxxxxxxxx-xxxxx 的 Pod ,则已安装 Astra Trident * 和 tridentctl

  2. 使用现有的 tridentctl 二进制文件卸载 Astra Trident 。在这种情况下,您将使用 21.07 二进制文件卸载。

    $ tridentctl version -n trident
    +----------------+----------------+
    | SERVER VERSION | CLIENT VERSION |
    +----------------+----------------+
    | 21.07.0        | 21.07.0        |
    +----------------+----------------+
    
    $ tridentctl uninstall -n trident
    INFO Deleted Trident deployment.
    INFO Deleted Trident daemonset.
    INFO Deleted Trident service.
    INFO Deleted Trident secret.
    INFO Deleted cluster role binding.
    INFO Deleted cluster role.
    INFO Deleted service account.
    INFO Deleted pod security policy.                  podSecurityPolicy=tridentpods
    INFO The uninstaller did not delete Trident's namespace in case it is going to be reused.
    INFO Trident uninstallation succeeded.
  3. 完成此操作后,获取所需版本的 Trident 二进制文件(在此示例中为 20.07 ),并使用它安装 Astra Trident 。您可以为生成自定义 YAML "自定义安装" 如果需要,

    $ cd 20.07/trident-installer/
    $ ./tridentctl install -n trident-ns
    INFO Created installer service account.            serviceaccount=trident-installer
    INFO Created installer cluster role.               clusterrole=trident-installer
    INFO Created installer cluster role binding.       clusterrolebinding=trident-installer
    INFO Created installer configmap.                  configmap=trident-installer
    ...
    ...
    INFO Deleted installer cluster role binding.
    INFO Deleted installer cluster role.
    INFO Deleted installer service account.

    降级过程已完成。