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

使用 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/
步骤
  1. 添加 Trident Helm 存储库:

    helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
  2. 使用 `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`查看安装详细信息,例如名称、命名空间、图表、状态、应用版本和修订版号。

在安装过程中传递配置数据

在安装过程中,有两种传递配置数据的方法:

选项 说明

--values (或 -f)

指定具有重写的 YAML 文件。这可以指定多次,最右边的文件将优先。

--set

在命令行上指定重写。

例如,要更改 `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 文件中删除默认关联。如果要提供自定义关联,请扩展默认关联。
选项 说明 默认

nodeSelector

Pod 分配的节点标签

podAnnotations

Pod 注释

deploymentAnnotations

部署注释

tolerations

Pod 分配的容忍度

affinity

Pod 分配的亲和力

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
        - matchExpressions:
            - key: kubernetes.io/arch
              operator: In
              values:
              - arm64
              - amd64
            - key: kubernetes.io/os
              operator: In
              values:
              - linux
警告 请勿从 values.yaml 文件中删除默认关联。如果要提供自定义关联,请扩展默认关联。

tridentControllerPluginNodeSelector

Pod 的其他节点选择器。有关详细信息,请参见 "了解控制器 pod 和节点 pod"

tridentControllerPluginTolerations

覆盖 Kubernetes 对 pod 的容忍。有关详细信息,请参见 "了解控制器 pod 和节点 pod"

tridentNodePluginNodeSelector

Pod 的其他节点选择器。有关详细信息,请参见 "了解控制器 pod 和节点 pod"

tridentNodePluginTolerations

覆盖 Kubernetes 对 pod 的容忍。有关详细信息,请参见 "了解控制器 pod 和节点 pod"

imageRegistry

标识 trident-operatortrident 和其他图像的注册表。留空以接受默认值。重要提示:在专用存储库中安装 Trident 时,如果您使用 imageRegistry 开关来指定存储库位置,请不要在存储库路径中使用 /netapp/

""

imagePullPolicy

trident-operator 设置镜像拉取策略。

IfNotPresent

imagePullSecrets

trident-operatortrident 和其他镜像设置镜像拉取密钥。

kubeletDir

允许覆盖 kubelet 内部状态的主机位置。

"/var/lib/kubelet"

operatorLogLevel

允许将 Trident 操作员的日志级别设置为: tracedebuginfowarnerror、或 fatal

"info"

operatorDebug

允许将 Trident 操作员的日志级别设置为调试。

true

operatorImage

允许完全覆盖 trident-operator 的图像。

""

operatorImageTag

允许覆盖 trident-operator 图像的标记。

""

tridentIPv6

允许启用 Trident 在 IPv6 集群中工作。

false

tridentK8sTimeout

覆盖大多数 Kubernetes API 操作的默认 180 秒超时(如果非零,以秒为单位)。

备注 tridentK8sTimeout 参数仅适用于 Trident 安装。

180

tridentHttpRequestTimeout

覆盖 HTTP 请求的默认 90 秒超时, 0s 为超时的无限持续时间。不允许使用负值。

"90s"

tridentSilenceAutosupport

允许禁用 Trident 定期 AutoSupport 报告。

false

tridentAutosupportImageTag

允许覆盖 Trident AutoSupport 容器的图像标记。

<version>

tridentAutosupportProxy

使 Trident AutoSupport 容器能够通过 HTTP 代理拨打回家电话。

""

tridentLogFormat

设置 Trident 日志记录格式 (textjson)。

"text"

tridentDisableAuditLog

禁用 Trident 审计记录器。

true

tridentLogLevel

允许将 Trident 的日志级别设置为: tracedebuginfowarnerrorfatal

"info"

tridentDebug

允许将 Trident 的日志级别设置为 debug

false

tridentLogWorkflows

允许为跟踪日志记录或日志抑制启用特定 Trident 工作流。

""

tridentLogLayers

允许启用特定 Trident 图层以进行跟踪日志记录或日志抑制。

""

tridentImage

允许完全覆盖 Trident 的镜像。

""

tridentImageTag

允许覆盖 Trident 镜像的标签。

""

tridentProbePort

允许覆盖用于 Kubernetes 活动/就绪探测的默认端口。

""

windows

允许在 Windows worker 节点上安装 Trident。

false

enableForceDetach

允许启用强制分离功能。您可以通过与节点健康检查 (NHC) 运算符集成来自动执行强制分离过程。有关信息,请参见 "使用 Trident 自动化有状态应用程序的故障转移"

false

excludePodSecurityPolicy

从创建中排除操作员 Pod 安全策略。

false

nodePrep

使 Trident 能够准备 Kubernetes 集群的节点,以使用指定的数据存储协议管理卷。目前, iscsi 是唯一受支持的值。

备注 从 OpenShift 4.19 开始,此功能支持的最低 Trident 版本为 25.06.1。

resources

为 Trident 控制器、节点和操作员 pod 设置 Kubernetes 资源限制和请求。您可以为每个容器和 sidecar 配置 CPU 和内存,以管理 Kubernetes 中的资源分配。

有关配置资源请求和限制的详细信息,请参阅 "Pod 和容器的资源管理"

警告
  • 请勿更改任何容器或字段的名称。

  • 请勿更改缩进 - YAML 缩进对于正确解析至关重要。

备注
  • 默认情况下不会应用任何限制 - 只有请求具有默认值。

  • 容器名称按 Pod 规格中显示的方式列出。

  • Sidecar 列在每个主容器下。

  • 检查 TORC 的 `status.CurrentInstallationParams`字段以查看当前应用的值。

resources:
  controller:
    trident-main:
      requests:
        cpu: 10m
        memory: 80Mi
      limits:
          cpu:
          memory:
    csi-provisioner:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-attacher:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-resizer:
      requests:
        cpu: 3m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-snapshotter:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    trident-autosupport:
      requests:
        cpu: 1m
        memory: 30Mi
      limits:
        cpu:
        memory:
  node:
    linux:
      trident-main:
        requests:
          cpu: 10m
          memory: 60Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 1m
          memory: 10Mi
        limits:
          cpu:
          memory:
    windows:
      trident-main:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      liveness-probe:
        requests:
          cpu: 2m
          memory: 40Mi
        limits:
          cpu:
          memory:
  operator:
    requests:
      cpu: 10m
      memory: 40Mi
    limits:
      cpu:
      memory: