Skip to main content
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用Helm部署Trident運算子(標準模式)

貢獻者 netapp-aruldeepa juliantap

您可以部署 Trident 運算子、並使用 Helm 安裝 Trident 。此程序適用於 Trident 所需的容器映像未儲存在私有登錄中的安裝。如果您有私有映像登錄,請使用"離線部署程序"

關於Trident 25.10 的關鍵信息

  • 您必須閱讀下列有關 Trident 的重要資訊。 *

<strong> 的 Trident </strong> 相關資訊
  • Trident現已支援 Kubernetes 1.34。在升級 Kubernetes 之前先升級Trident 。

  • Trident 嚴格強制在 SAN 環境中使用多重路徑組態、建議在 multipath.conf 檔案中使用值 find_multipaths: no

    使用非多重路徑組態或使用 find_multipaths: yesfind_multipaths: smart 多重路徑.conf檔案中的值會導致掛載失敗。Trident建議使用 find_multipaths: no 自21.07版本以來。

部署 Trident 操作員、並使用 Helm 安裝 Trident

使用Trident "掌舵表" 您可以部署Trident運算子、並在單一步驟中安裝Trident。

檢閱 "安裝總覽" 為了確保您符合安裝先決條件、並為您的環境選擇正確的安裝選項。

開始之前

此外 "部署先決條件" 您的需求 "Helm版本3"

步驟
  1. 新增Trident Helm儲存庫:

    helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
  2. 使用 `helm install`並指定部署名稱、如下例所示、其中 `100.2506.0`是您要安裝的 Trident 版本。

    helm install <name> netapp-trident/trident-operator --version 100.2506.0 --create-namespace --namespace <trident-namespace>
    註 如果您已經為Trident建立命名空間、則「-cree-namespacre」參數不會建立其他命名空間。

您可以使用 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

組態選項

此表格和 values.yaml 檔案是 Helm 圖表的一部分、提供按鍵清單及其預設值。

選項 說明 預設

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

覆寫 Pod 的 Kubernetes 公差。請參閱 瞭解控制器 Pod 和節點 Pod 以取得詳細資料。

tridentNodePluginNodeSelector

用於 Pod 的其他節點選取器。請參閱 瞭解控制器 Pod 和節點 Pod 以取得詳細資料。

tridentNodePluginTolerations

覆寫 Pod 的 Kubernetes 公差。請參閱 瞭解控制器 Pod 和節點 Pod 以取得詳細資料。

「影像登錄」

識別、 trident`和其他影像的登錄 `trident-operator。保留空白以接受預設值。重要事項:在私有儲存庫中安裝 Trident 時、如果您使用 imageRegistry`交換器來指定儲存庫位置、請勿在儲存庫路徑中使用 `/netapp/

""

imagePullPolicy

設定的映像拉出原則 trident-operator

IfNotPresent

「imagePullSecrets」

設定的影像拉出秘密 trident-operator、 `trident`和其他影像。

《kubeletDir

允許覆寫 kubelet 內部狀態的主機位置。

"/var/lib/kubelet"

operatorLogLevel

允許 Trident 運算子的記錄層級設定為: tracedebuginfowarnerror`或 `fatal

"info"

operatorDebug

允許將 Trident 運算子的記錄層級設為偵錯。

"真的"

operatorImage

允許完全置換的映像 trident-operator

""

operatorImageTag

允許覆寫的標記 trident-operator 映像。

""

tridentIPv6

允許 Trident 在 IPv6 叢集中運作。

「假」

tridentK8sTimeout

覆寫大部分 Kubernetes API 作業的預設 30 秒逾時(如果非零、則以秒為單位)。

0

tridentHttpRequestTimeout

以取代 HTTP 要求的預設 90 秒逾時 0s 是超時的無限持續時間。不允許使用負值。

"90s"

tridentSilenceAutosupport

允許停用 Trident 定期 AutoSupport 報告。

「假」

tridentAutosupportImageTag

允許覆寫 Trident AutoSupport 容器的映像標記。

<version>

tridentAutosupportProxy

可讓 Trident AutoSupport Container 透過 HTTP Proxy 撥打電話回家。

""

tridentLogFormat

設定 Trident 記錄格式(text`或 `json)。

"text"

tridentDisableAuditLog

停用 Trident 稽核記錄程式。

"真的"

tridentLogLevel

允許將 Trident 的日誌級別設置爲: tracedebuginfowarn error`或 `fatal

"info"

tridentDebug

允許將Trident的日誌等級設定為 debug。您可以透過與節點健康檢查 (NHC) 操作符整合來自動執行強制分離程序。有關信息,請參閱"使用Trident實現有狀態應用程式的故障轉移自動化"

「假」

tridentLogWorkflows

允許啟用特定的 Trident 工作流程、以進行追蹤記錄或記錄抑制。

""

tridentLogLayers

允許啟用特定 Trident 層以進行追蹤記錄或記錄抑制。

""

「TridentImage」

允許完全置換 Trident 的映像。

""

tridentImageTag

可覆寫 Trident 的映像標記。

""

tridentProbePort

允許覆寫 Kubernetes 活性 / 整備性探查所使用的預設連接埠。

""

windows

可在 Windows 工作節點上安裝 Trident 。

「假」

enableForceDetach

允許啟用強制分離功能。

「假」

excludePodSecurityPolicy

不建立營運商 Pod 安全性原則。

「假」

cloudProvider

設定為 "Azure" 在 AKS 叢集上使用託管身分識別或雲端身分識別時。在 EKS 叢集上使用雲端身分識別時、請設定為「 AWS 」。

""

cloudIdentity

在 AKS 叢集上使用雲端身分識別時、請設定為工作負載身分識別(「 azure.Workload .idental/client-id : XXXXXXXX-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxx 」)。在 EKS 叢集上使用雲端身分識別時、請設定為 AWS IAM 角色(「 eks.amazonaws.com/role-arn: arn:AWS:iam::123456 :角色 Trident 角色」)。

""

iscsiSelfHealingInterval

啟動 iSCSI 自我修復的時間間隔。

5m0s

iscsiSelfHealingWaitTime

iSCSI 自我修復透過執行登出和後續登入來嘗試解決過時工作階段的持續時間。

7m0s

nodePrep

使Trident能夠準備 Kubernetes 叢集的節點,以使用指定的資料儲存協定管理磁碟區。 *現在, `iscsi`是唯一支援的值。 *注意:從 OpenShift 4.19 開始,此功能支援的最低Trident版本為 25.06.1。

enableConcurrency

支援並發Trident控制器操作以提高吞吐量。

註 技術預覽:此功能為實驗性功能,目前除了現有的ONTAP -SAN 驅動程式(統一ONTAP 9 中的 iSCSI 和 FCP 協定)技術預覽版外,還支援ONTAP-NAS(僅限 NFS)和ONTAP -SAN(統一ONTAP 9 中的 NVMe)驅動程式的有限並行工作流程。

k8sAPIQPS

控制器與 Kubernetes API 伺服器通訊時所使用的每秒查詢數 (QPS) 限制。 Burst 值會根據 QPS 值自動設定。

100; 選修的

resources

設定 Kubernetes 對Trident控制器、節點和操作員 pod 的資源限制和請求。您可以為每個容器和邊車配置 CPU 和內存,以管理 Kubernetes 中的資源分配。

有關配置資源請求和限制的更多信息,請參閱"Pod 和容器的資源管理"

警告
  • 請勿變更任何容器或欄位的名稱。

  • 請勿更改縮排 - YAML 縮排對於正確解析至關重要。

註
  • 預設不套用任何限制-只有請求才有預設值,如果未指定則會自動套用。

  • 容器名稱依其在 pod 規格中的顯示方式列出。

  • 邊車列在每個主貨櫃下方。

  • 查看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:

httpsMetrics

為 Prometheus 指標端點啟用 HTTPS。

「主機網路」

為Trident控制器啟用主機聯網功能。在多宿主網路中,當需要分離前端和後端流量時,這非常有用。

瞭解控制器 Pod 和節點 Pod

Trident 以單一控制器 Pod 的形式執行、並在叢集中的每個工作節點上執行節點 Pod 。節點 Pod 必須在任何想要掛載 Trident Volume 的主機上執行。

Kubernetes "節點選取器""容忍和污染" 用於限制 Pod 在特定或偏好的節點上執行。使用「 ControllerPlugin' 」和 NodePlugin,您可以指定限制和置換。

  • 控制器外掛程式可處理磁碟區資源配置與管理、例如快照和調整大小。

  • 節點外掛程式會處理將儲存設備附加至節點的問題。