了解Trident安装
为了确保Trident可以安装在各种环境和组织中、NetApp提供了多种安装选项。您可以使用Trident操作员(手动或使用Helm)或与一起安装Trident tridentctl
。本主题提供了有关为您选择正确安装过程的重要信息。
有关Trident 24.06的重要信息
您必须阅读以下有关Trident的重要信息。
<strong>与Trident </strong>相关的信息
-
现在、在Trident中支持Kubnetes 1.31。在升级Kubernetes之前升级Trident。
-
Trident会严格强制在SAN环境中使用多路径配置、并在Multipath.conf文件中使用建议值
find_multipaths: no
。使用非多路径配置或
find_multipaths: yes
或find_multipaths: smart
multipath.conf文件中的值将导致挂载失败。Trident已建议使用find_multipaths: no
自21.07版起。
开始之前
无论您的安装路径如何、您都必须:
-
对运行受支持的Kubernetes版本并启用了功能要求的受支持Kubernetes集群的完全权限。查看 "要求" 了解详细信息。
-
访问受支持的NetApp存储系统。
-
能够从所有Kubernetes工作节点挂载卷。
-
具有的Linux主机
kubectl
(或oc
(如果您使用的是OpenShift)已安装并配置为管理要使用的Kubernetes集群。 -
。
KUBECONFIG
环境变量设置为指向您的Kubernetes集群配置。 -
如果您将 Kubernetes 与 Docker Enterprise 结合使用, "按照其步骤启用 CLI 访问"。
如果您尚未熟悉 "基本概念",现在是一个实现这一目标的好时机。 |
选择安装方法
选择适合您的安装方法。您还应查看的注意事项 "在方法之间移动" 在做出决定之前。
使用Trident运算符
无论是手动部署还是使用Helm部署、Trident操作员都是简化安装和动态管理Trident资源的绝佳方式。您甚至可以"自定义Trident操作员部署"使用自定义资源(CR)中的属性 TridentOrchestrator
。
使用Trident运算符的优势包括:
<strong> Trident对象</strong>
Trident操作符会自动为您的Kubernetes版本创建以下对象。
-
操作员的ServiceAccount
-
ClusterRole和ClusterRoleBindingto the ServiceAccount
-
专用PodSecurityPolicy (适用于Kubernetes 1.25及更早版本)
-
运算符本身
<strong>帐户</strong>
集群范围的Trident操作员在集群级别管理与Trident安装关联的资源。这可减少使用命名空间范围的操作符维护集群范围的资源时可能导致的错误。这对于自我修复和修补至关重要。
<strong> —修复功能—</strong>
操作员监控Trident安装并主动采取措施解决问题、例如何时删除部署或意外修改部署。此时将创建一个 trident-operator-<generated-id>`POD、将CR与Trident安装关联起来 `TridentOrchestrator
。这样可以确保集群中只有一个Trident实例、并控制其设置、从而确保安装有效。对安装进行更改(例如删除部署或节点取消设置)时,操作员会识别这些更改并逐个修复它们。
<strong> 更新了现有安装的</strong>
您可以使用操作员轻松更新现有部署。您只需编辑 TridentOrchestrator
cr以更新安装。
例如、假设您需要启用Trident以生成调试日志。要执行此操作,请修补 TridentOrchestrator`以将设置 `spec.debug`为 `true
:
kubectl patch torc <trident-orchestrator-name> -n trident --type=merge -p '{"spec":{"debug":true}}'
之后 TridentOrchestrator
更新后、操作员将处理更新并修补现有安装。这可能会触发创建新Pod以相应地修改安装。
<strong> Clean重新安装</strong>
通过集群范围的三端技术参数操作符、可以完全删除集群范围的资源。用户可以完全卸载Trident并轻松重新安装。
<strong> Kubernetes升级</strong>
将集群的Kubnetes版本升级到受支持的版本后、操作员会自动更新现有Trident安装并进行更改、以确保满足Kubnetes版本的要求。
如果集群升级到不受支持的版本、则操作员将阻止安装Trident。如果已使用操作员安装Trident、则会显示一条警告、指示Trident安装在不受支持的Kubnetes版本上。 |
使用 tridentctl
如果您的现有部署必须升级,或者您希望高度自定义您的部署,则应考虑。这是部署Trident的传统方法。
您可以为Trident资源生成清单。其中包括Trident在安装过程中创建的部署、守护进程、服务帐户和集群角色。
从22.04版开始、每次安装Trident时、不会再重新生成AES密钥。在此版本中、Trident将安装一个新的机密对象、此对象会在安装期间持续存在。这意味着、 `tridentctl`在22.04中可以卸载早期版本的Trident、但早期版本无法卸载22.04安装。选择适当的安装_method。 |
选择安装模式
根据您的组织所需的_installation mode"(标准)、"Offline"(脱机)或"Remote"(远程)来确定部署过程。
这是安装Trident的最简单方法、适用于不施加网络限制的大多数环境。标准安装模式使用默认注册表来存储所需的Trident (docker.io
()和CSI (registry.k8s.io
()图像。
使用标准模式时、Trident安装程序将:
-
通过Internet提取容器映像
-
创建部署或节点守护进程、以便在Kubornetes集群中所有符合条件的节点上启动Trident Pod
在带风口或安全位置可能需要脱机安装模式。在这种情况下、您可以创建一个专用的镜像注册表或两个镜像注册表来存储所需的Trident和CSI映像。
无论注册表配置如何、CSI映像都必须驻留在一个注册表中。 |
下面简要概述了远程安装过程:
-
在要从中部署Trident的远程计算机上部署适当版本的
kubectl
。 -
从 Kubernetes 集群复制配置文件,并在远程计算机上设置
KUBECONFIG
环境变量。 -
启动
kubectl get nodes
命令,验证您是否可以连接到所需的 Kubernetes 集群。 -
使用标准安装步骤从远程计算机完成部署。
根据您的方法和模式选择过程
在安装方法之间移动
您可以决定更改安装方法。在执行此操作之前、请考虑以下事项:
-
请始终使用相同的方法安装和卸载Trident。如果已使用部署
tridentctl
,则应使用适当版本的 `tridentctl`二进制文件卸载Trident。同样、如果使用操作员进行部署、则应编辑 `TridentOrchestrator`CR并设置 `spec.uninstall=true`为卸载Trident。 -
如果要删除基于操作员的部署并使用它
tridentctl`来部署Trident、则应首先编辑并设置 `spec.uninstall=true`为卸载Trident。 `TridentOrchestrator`然后删除 `TridentOrchestrator`和操作员部署。然后,您可以使用安装 `tridentctl
。 -
如果您使用的是基于操作员的手动部署、并且要使用基于Helm的Trident操作员部署、则应先手动卸载此操作员、然后再执行Helm安装。这样, Helm 就可以使用所需的标签和标注来部署 Trident 操作员。如果不执行此操作,则基于 Helm 的 Trident 操作员部署将失败,并显示标签验证错误和标注验证错误。如果您有 `tridentctl`基于部署、您可以使用基于Helm的部署、而不会遇到问题。
其他已知配置选项
在VMware Tanzu产品组合上安装Trident时:
-
集群必须支持有权限的工作负载。
-
` -kubelet-dir` 标志应设置为 kubelet 目录的位置。默认情况下,此值为 ` /var/vcap/data/kubelet` 。
已知使用 ` -kubelet-dir` 指定 kubelet 位置适用于 Trident Operator , Helm 和
tridentctl
部署。