使用 Helm 部署 Trident 操作员(离线模式)
您可以使用 Helm 部署 Trident 操作员并安装 Trident。此过程适用于 Trident 所需的容器镜像存储在私有注册表中的安装。如果您没有私有镜像注册表,请使用 "标准部署流程"。
有关 Trident 25.10 的关键信息
您必须阅读以下有关 Trident 的重要信息。
<strong>有关 Trident 的重要信息</strong>
-
Trident 现在支持 Kubernetes 1.34。在升级 Kubernetes 之前升级 Trident。
-
Trident 严格执行在 SAN 环境中使用多路径配置,在 multipath.conf 文件中的建议值为
find_multipaths: no。使用非多路径配置或在 multipath.conf 文件中使用
find_multipaths: yes`或 `find_multipaths: smart`值将导致挂载失败。自 21.07 版本发布以来,Trident 建议使用 `find_multipaths: no。
部署 Trident 操作员并使用 Helm 安装 Trident
使用 Trident "Helm Chart" 您可以部署 Trident 操作员并一步安装 Trident。
请检查 "安装概述" 以确保您已满足安装先决条件,并为您的环境选择了正确的安装选项。
除了 "部署先决条件" 之外,您还需要 "Helm 版本 3"。
|
|
在专用存储库中安装 Trident 时,如果您使用 imageRegistry`开关指定存储库位置,请不要在存储库路径中使用 `/netapp/。
|
-
添加 Trident Helm 存储库:
helm repo add netapp-trident https://netapp.github.io/trident-helm-chart -
使用 `helm install`并指定部署和映像注册表位置的名称。您的"Trident 和 CSI 镜像"可以位于一个注册表或不同的注册表中,但所有 CSI 映像必须位于同一个注册表中。在示例中, `100.2506.0`是您要安装的 Trident 版本。
一个注册表中的图像helm install <name> netapp-trident/trident-operator --version 100.2506.0 --set imageRegistry=<your-registry> --create-namespace --namespace <trident-namespace> --set nodePrep={iscsi}不同注册表中的图像helm install <name> netapp-trident/trident-operator --version 100.2506.0 --set imageRegistry=<your-registry> --set operatorImage=<your-registry>/trident-operator:25.10.0 --set tridentAutosupportImage=<your-registry>/trident-autosupport:25.10 --set tridentImage=<your-registry>/trident:25.10.0 --create-namespace --namespace <trident-namespace> --set nodePrep={iscsi}如果您已经为 Trident 创建了命名空间,则 --create-namespace参数不会创建其他命名空间。
您可以使用 `helm list`查看安装详细信息,例如名称、命名空间、图表、状态、应用版本和修订版号。
在安装过程中传递配置数据
在安装过程中,有两种传递配置数据的方法:
| 选项 | 说明 |
|---|---|
|
指定具有重写的 YAML 文件。这可以指定多次,最右边的文件将优先。 |
|
在命令行上指定重写。 |
例如,要更改 `debug`的默认值,请运行以下命令,其中 `100.2506.0`是您要安装的 Trident 版本:
helm install <name> netapp-trident/trident-operator --version 100.2506.0 --create-namespace --namespace trident --set tridentDebug=true
要添加 nodePrep 值,请运行以下命令:
helm install <name> netapp-trident/trident-operator --version 100.2506.0 --create-namespace --namespace trident --set nodePrep={iscsi}
配置选项
此表和作为 Helm 图表一部分的 `values.yaml`文件提供了键及其默认值的列表。
|
|
请勿从 values.yaml 文件中删除默认关联。如果要提供自定义关联,请扩展默认关联。 |
| 选项 | 说明 | 默认 | ||||
|---|---|---|---|---|---|---|
|
Pod 分配的节点标签 |
|||||
|
Pod 注释 |
|||||
|
部署注释 |
|||||
|
Pod 分配的容忍度 |
|||||
|
Pod 分配的亲和力 |
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- arm64
- amd64
- key: kubernetes.io/os
operator: In
values:
- linux
|
||||
|
Pod 的其他节点选择器。有关详细信息,请参见 "了解控制器 pod 和节点 pod"。 |
|||||
|
覆盖 Kubernetes 对 pod 的容忍。有关详细信息,请参见 "了解控制器 pod 和节点 pod"。 |
|||||
|
Pod 的其他节点选择器。有关详细信息,请参见 "了解控制器 pod 和节点 pod"。 |
|||||
|
覆盖 Kubernetes 对 pod 的容忍。有关详细信息,请参见 "了解控制器 pod 和节点 pod"。 |
|||||
|
标识 |
"" |
||||
|
为 |
|
||||
|
为 |
|||||
|
允许覆盖 kubelet 内部状态的主机位置。 |
|
||||
|
允许将 Trident 操作员的日志级别设置为: |
|
||||
|
允许将 Trident 操作员的日志级别设置为调试。 |
|
||||
|
允许完全覆盖 |
"" |
||||
|
允许覆盖 |
"" |
||||
|
允许启用 Trident 在 IPv6 集群中工作。 |
|
||||
|
覆盖大多数 Kubernetes API 操作的默认 180 秒超时(如果非零,以秒为单位)。
|
|
||||
|
覆盖 HTTP 请求的默认 90 秒超时, |
|
||||
|
允许禁用 Trident 定期 AutoSupport 报告。 |
|
||||
|
允许覆盖 Trident AutoSupport 容器的图像标记。 |
|
||||
|
使 Trident AutoSupport 容器能够通过 HTTP 代理拨打回家电话。 |
"" |
||||
|
设置 Trident 日志记录格式 ( |
|
||||
|
禁用 Trident 审计记录器。 |
|
||||
|
允许将 Trident 的日志级别设置为: |
|
||||
|
允许将 Trident 的日志级别设置为 |
|
||||
|
允许为跟踪日志记录或日志抑制启用特定 Trident 工作流。 |
"" |
||||
|
允许启用特定 Trident 图层以进行跟踪日志记录或日志抑制。 |
"" |
||||
|
允许完全覆盖 Trident 的镜像。 |
"" |
||||
|
允许覆盖 Trident 镜像的标签。 |
"" |
||||
|
允许覆盖用于 Kubernetes 活动/就绪探测的默认端口。 |
"" |
||||
|
允许在 Windows worker 节点上安装 Trident。 |
|
||||
|
允许启用强制分离功能。您可以通过与节点健康检查 (NHC) 运算符集成来自动执行强制分离过程。有关信息,请参见 "使用 Trident 自动化有状态应用程序的故障转移"。 |
|
||||
|
从创建中排除操作员 Pod 安全策略。 |
|
||||
|
使 Trident 能够准备 Kubernetes 集群的节点,以使用指定的数据存储协议管理卷。目前,
|
|||||
|
为 Trident 控制器、节点和操作员 pod 设置 Kubernetes 资源限制和请求。您可以为每个容器和 sidecar 配置 CPU 和内存,以管理 Kubernetes 中的资源分配。 有关配置资源请求和限制的详细信息,请参阅 "Pod 和容器的资源管理"。
|
|