使用 Helm 部署Trident Operator(离线模式)
您可以使用 Helm 部署Trident Operator 并安装Trident 。此过程适用于Trident所需的容器镜像存储在私有镜像仓库中的安装情况。如果您没有私有镜像仓库,请使用"标准部署流程"。
关于Trident25.06的关键信息
您必须阅读以下关于Trident的重要信息。
关于Trident的关键信息
-
Trident现已支持 Kubernetes 1.34。在升级 Kubernetes 之前先升级Trident 。
-
Trident严格强制要求在 SAN 环境中使用多路径配置,建议值为 `find_multipaths: no`在 multipath.conf 文件中。
使用非多路径配置或使用 `find_multipaths: yes`或者 `find_multipaths: smart`multipath.conf 文件中的值会导致挂载失败。 Trident建议使用 `find_multipaths: no`自 21.07 版本发布以来。
使用 Helm 部署Trident Operator 并安装Trident。
使用Trident"掌舵图"您可以一步完成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 镜像可以位于同一个注册表或不同的注册表中,但所有 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.06.0 --set tridentAutosupportImage=<your-registry>/trident-autosupport:25.06 --set tridentImage=<your-registry>/trident:25.06.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}
配置选项
这张表格和 `values.yaml`该文件是 Helm chart 的一部分,提供了键及其默认值的列表。
|
|
不要从 values.yaml 文件中移除默认亲和性设置。当您需要提供自定义亲和性时,请扩展默认亲和性。 |
| 选项 | 描述 | 默认 | ||
|---|---|---|---|---|
|
用于 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操作符的日志级别设置为 debug。 |
|
||
|
允许完全覆盖图像 |
"" |
||
|
允许覆盖标签 `trident-operator`图像。 |
"" |
||
|
允许Trident在 IPv6 集群中工作。 |
|
||
|
覆盖大多数 Kubernetes API 操作的默认 180 秒超时(如果非零,则以秒为单位)。
|
|
||
|
覆盖 HTTP 请求的默认 90 秒超时时间。 `0s`超时时间无限长。不允许使用负值。 |
|
||
|
允许禁用Trident定期AutoSupport报告。 |
|
||
|
允许覆盖Trident AutoSupport容器的图像标签。 |
|
||
|
使Trident AutoSupport容器能够通过 HTTP 代理向服务器发送请求。 |
"" |
||
|
设置Trident日志格式( |
|
||
|
禁用Trident审计日志记录器。 |
|
||
|
允许将Trident的日志级别设置为: |
|
||
|
允许将Trident的日志级别设置为 |
|
||
|
允许为跟踪日志记录或日志抑制启用特定的Trident工作流程。 |
"" |
||
|
允许为跟踪日志记录或日志抑制启用特定的Trident层。 |
"" |
||
|
允许完全覆盖Trident的图像。 |
"" |
||
|
允许覆盖Trident图像的标签。 |
"" |
||
|
允许覆盖 Kubernetes 存活/就绪探测使用的默认端口。 |
"" |
||
|
允许在 Windows 工作节点上安装Trident 。 |
|
||
|
允许启用强制分离功能。 |
|
||
|
不创建操作员 pod 安全策略。 |
|
||
|
使Trident能够准备 Kubernetes 集群的节点,以使用指定的数据存储协议管理卷。现在, `iscsi`是唯一支持的值。
|