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

部署概述

提供者

您可以使用 Trident 运算符或使用 tridentctl 来部署 Astra Trident 。

注 从 22.04 版开始,每次安装 Astra Trident 时, AES 密钥将不再重新生成。在此版本中, Astra Trident 将安装一个新的机密对象,该对象会在安装之间持续存在。这意味着, 22.04 中的 tridentctl 可以卸载先前版本的 Trident ,但早期版本无法卸载 22.04 安装。

有关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: yesfind_multipaths: smart multipath.conf文件中的值将导致挂载失败。Trident已建议使用 find_multipaths: no 自21.07版起。

选择部署方法

要确定要使用的部署方法,请考虑以下几点:

何时使用Trident运算符

"Trident 运算符" 是动态管理 Astra Trident 资源并自动完成设置阶段的绝佳方式。必须满足某些前提条件。请参见 "要求"

Trident 运算符提供了以下几项优势。

自我修复功能

您可以监控 Astra Trident 安装并主动采取措施来解决问题,例如删除部署或意外修改部署的时间。将此操作员设置为部署时,将创建 trident 操作符 -<generated -id> Pod 。此 POD 会将 Trident Orchestrator CR 与 Astra Trident 安装关联起来,并始终确保只有一个活动的 TridentOrchestrator 。换言之,操作员可确保集群中只有一个 Astra Trident 实例并控制其设置,从而确保安装有效。对安装进行更改(例如删除部署或节点取消设置)时,操作员会识别这些更改并逐个修复它们。

轻松更新现有安装

您可以使用操作员轻松更新现有部署。您只需编辑 TridentOrchestrator CR 即可更新安装。例如,请考虑需要启用 Astra Trident 以生成调试日志的情形。

为此,请修补您的 TridentOrchestrator 以将 spec.debug 设置为 true

kubectl patch torc <trident-orchestrator-name> -n trident --type=merge -p '{"spec":{"debug":true}}'

更新 TridentOrchestrator 后,操作员将处理更新并修补现有安装。这可能会触发创建新 Pod 以相应地修改安装。

自动处理 Kubernetes 升级

当集群的 Kubernetes 版本升级到受支持的版本时,操作员会自动更新现有的 Astra Trident 安装并进行更改,以确保其满足 Kubernetes 版本的要求。

注 如果集群升级到不受支持的版本,则操作员会阻止安装 Astra Trident 。如果已随操作员安装了 Astra Trident ,则会显示一条警告,指示 Astra Trident 安装在不受支持的 Kubernetes 版本上。

使用BlueXP (以前称为Cloud Manager)管理Kubernetes集群

使用 "使用BlueXP的Astra Trident"、您可以升级到最新版本的Astra Trident、添加和管理存储类并将其连接到工作环境、以及使用Cloud Backup Service 备份永久性卷。BlueXP支持使用Trident操作员手动或使用Helm部署Astra Trident。

何时使用Helm

如果您还有其他要使用 Helm 管理的应用程序,从 Astra Trident 21.01 开始,您也可以使用 Helm 管理您的部署。

何时使用tridenctl

如果您的现有部署必须升级到、或者您希望对部署进行高度自定义、则应考虑使用 "Tridentctl"。这是部署 Astra Trident 的传统方法。

在部署方法之间移动时的注意事项

不难想象需要在部署方法之间移动的情形。在尝试从 tridentctl 部署迁移到基于操作员的部署之前,应考虑以下事项,反之亦然:

  • 卸载 Astra Trident 时,请始终使用相同的方法。如果已使用 tridentctl 进行部署,则应使用适当版本的 tridentctl 二进制文件卸载 Astra Trident 。同样,如果要使用操作员进行部署,则应编辑 TridentOrchestrator CR 并设置 sPec.uninstall=true 以卸载 Astra Trident 。

  • 如果您要删除基于操作员的部署并使用 tridentctl 来部署 Astra Trident ,则应先编辑 TridentOrchestrator 并设置 sPec.uninstall=true 以卸载 Astra Trident 。然后删除 TridentOrchestrator 和操作员部署。然后,您可以使用 tridentctl 进行安装。

  • 如果您使用的是基于操作员的手动部署,并且要使用基于 Helm 的 Trident 操作员部署,则应先手动卸载此操作员,然后再执行 Helm 安装。这样, Helm 就可以使用所需的标签和标注来部署 Trident 操作员。如果不执行此操作,则基于 Helm 的 Trident 操作员部署将失败,并显示标签验证错误和标注验证错误。如果您使用的是基于 tridentctl 的部署,则可以使用基于 Helm 的部署,而不会出现问题。

了解部署模式

部署 Astra Trident 的方法有三种。

标准部署

在 Kubernetes 集群上部署 Trident 会导致 Astra Trident 安装程序执行以下两项操作:

  • 通过 Internet 提取容器映像

  • 创建部署和 / 或节点取消设置,以便在 Kubernetes 集群中所有符合条件的节点上启动 Astra Trident Pod 。

此类标准部署可以通过两种不同的方式执行:

  • 使用 tridentctl install

  • 使用 Trident 运算符。您可以手动或使用 Helm 部署 Trident 操作员。

此安装模式是安装 Astra Trident 的最简单方法,适用于大多数不会实施网络限制的环境。

脱机部署

要执行空映射部署,您可以在调用 tridentctl install 时使用 ` -image-regRegistry` 标志来指向私有映像注册表。如果使用 Trident 操作符进行部署,则也可以在 TridentOrchestrator 中指定 sPec.imageRegistry 。此注册表应包含 "Trident 映像""Trident AutoSupport 映像"和 Kubernetes 版本所需的 CSI sidecar 映像。

要自定义部署,您可以使用 tridentctl 为 Trident 的资源生成清单。其中包括 Astra Trident 在安装过程中创建的部署,取消设置,服务帐户和集群角色。

有关自定义部署的详细信息,请参见以下链接:

重要 如果您使用的是私有映像存储库、则应将`/SIG-storage`添加到专用注册表URL的末尾。在使用私有注册表进行 tridentctl 部署时,应将 ` -trident 映像` 和 ` -autosupport-image` 与 ` -image-regRegistry` 结合使用。如果要使用 Trident 操作符部署 Astra Trident ,请确保 Orchestrator CR 在安装参数中包含 tridentImageautosupportImage

远程部署

下面简要概述了远程部署过程:

  • 在要部署 Astra Trident 的远程计算机上部署适当版本的 kubectl

  • 从 Kubernetes 集群复制配置文件,并在远程计算机上设置 KUBECONFIG 环境变量。

  • 启动 kubectl get nodes 命令,验证您是否可以连接到所需的 Kubernetes 集群。

  • 使用标准安装步骤从远程计算机完成部署。

其他已知配置选项

在 VMware Tanzu Portfolio 产品上安装 Astra Trident 时:

  • 集群必须支持有权限的工作负载。

  • ` -kubelet-dir` 标志应设置为 kubelet 目录的位置。默认情况下,此值为 ` /var/vcap/data/kubelet` 。

    已知使用 ` -kubelet-dir` 指定 kubelet 位置适用于 Trident Operator , Helm 和 tridentctl 部署。