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

使用 Helm 部署 Trident 操作员(离线模式)

您可以使用 Helm 部署 Trident 操作员并安装 Trident。此过程适用于 Trident 所需的容器映像存储在私有注册表中的安装。如果您没有私有映像注册表,请使用 "标准部署流程"。

有关 Trident 26.02 的关键信息

您必须阅读以下有关 Trident 的重要信息。

<strong>有关 Trident 的重要信息</strong>
  • Trident 现在支持 Kubernetes 1.35。在升级 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.2602.0`是您要安装的 Trident 版本。

    一个注册表中的图像
    helm install <name> netapp-trident/trident-operator --version 100.2602.0 --set imageRegistry=<your-registry> --create-namespace --namespace <trident-namespace> --set nodePrep={iscsi}
    不同注册表中的图像
    helm install <name> netapp-trident/trident-operator --version 100.2602.0 --set imageRegistry=<your-registry> --set operatorImage=<your-registry>/trident-operator:26.02.0 --set tridentAutosupportImage=<your-registry>/trident-autosupport:26.02 --set tridentImage=<your-registry>/trident:26.02.0 --create-namespace --namespace <trident-namespace> --set nodePrep={iscsi}
    备注 如果您已经为 Trident 创建了命名空间,则 --create-namespace 参数不会创建其他命名空间。

您可以使用 `helm list`查看安装详细信息,例如名称、命名空间、图表、状态、应用版本和修订版号。

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

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

选项 说明

--values (或 -f)

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

--set

在命令行上指定重写。

例如,要更改 `debug`的默认值,请运行以下命令,其中 `100.2602.0`是您要安装的 Trident 版本:

helm install <name> netapp-trident/trident-operator --version 100.2602.0  --create-namespace --namespace trident --set tridentDebug=true

要添加 nodePrep 值,请运行以下命令:

helm install <name> netapp-trident/trident-operator --version 100.2602.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-operator、 trident 和其他图像的注册表。留空以接受默认值。重要提示:在专用存储库中安装 Trident 时,如果您使用 imageRegistry 开关来指定存储库位置,请不要在存储库路径中使用 /netapp/。

""

imagePullPolicy

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

IfNotPresent

imagePullSecrets

为 trident-operator、 trident 和其他镜像设置镜像拉取密钥。

kubeletDir

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

"/var/lib/kubelet"

operatorLogLevel

允许将 Trident 操作员的日志级别设置为: trace、 debug、 info、 warn、 error、或 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 日志记录格式 (text 或 json)。

"text"

tridentDisableAuditLog

禁用 Trident 审计记录器。

true

tridentLogLevel

允许将 Trident 的日志级别设置为: trace、 debug、 info、 warn、 error 或 fatal。

"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: