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

使用 Helm 部署Trident Operator(標準模式)

貢獻者 netapp-aruldeepa

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

步驟
  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創建了命名空間,那麼 `--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

配置選項

這張表格和 `values.yaml`該檔案是 Helm chart 的一部分,提供了鍵及其預設值的清單。

選項 描述 預設

nodeSelector

用於 pod 分配的節點標籤

podAnnotations

Pod 註解

deploymentAnnotations

部署註解

tolerations

對艙位分配的容忍度

affinity

對小組分配的偏好

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操作符的日誌等級設定為: tracedebuginfowarnerror , 或者 fatal

"info"

operatorDebug

允許將Trident操作符的日誌等級設定為 debug。

true

operatorImage

允許完全覆蓋影像 trident-operator

""

operatorImageTag

允許覆蓋標籤 `trident-operator`圖像。

""

tridentIPv6

允許Trident在 IPv6 叢集中工作。

false

tridentK8sTimeout

覆寫大多數 Kubernetes API 操作的預設 30 秒逾時(如果非零,則以秒為單位)。

0

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的日誌等級設定為: tracedebuginfowarnerror , 或者 fatal

"info"

tridentDebug

允許將Trident的日誌等級設定為 debug

false

tridentLogWorkflows

允許為追蹤日誌記錄或日誌抑制啟用特定的Trident工作流程。

""

tridentLogLayers

允許為追蹤日誌記錄或日誌抑制啟用特定的Trident層。

""

tridentImage

允許完全覆蓋Trident的圖像。

""

tridentImageTag

允許覆蓋Trident影像的標籤。

""

tridentProbePort

允許覆蓋 Kubernetes 存活/就緒探測使用的預設連接埠。

""

windows

允許在 Windows 工作節點上安裝Trident 。

false

enableForceDetach

允許啟用強制分離功能。

false

excludePodSecurityPolicy

不建立操作員 pod 安全性原則。

false

cloudProvider

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

""

cloudIdentity

在 AKS 叢集上使用雲端識別時,請設定為工作負載標識(「azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx」)。在 EKS 叢集上使用雲端身分時,設定為 AWS IAM 角色(「'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role'」)。

""

iscsiSelfHealingInterval

呼叫 iSCSI 自癒功能的時間間隔。

5m0s

iscsiSelfHealingWaitTime

iSCSI 自癒功能會在一段時間後嘗試透過登出和重新登入來解決過期的會話。

7m0s

nodePrep

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

enableConcurrency

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

註 技術預覽:此功能在NetApp Trident 25.06 中處於實驗階段,目前支援使用ONTAP-SAN 驅動程式(iSCSI 和 FCP 協定)的有限平行工作流程。

錯誤的

k8sAPIQPS

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

100; 選修的

了解控制器 pod 和節點 pod

Trident以單一控制器 pod 的形式運行,叢集中的每個工作節點上也有一個節點 pod。節點 pod 必須運行在您希望掛載Trident磁碟區的任何主機上。

Kubernetes"節點選擇器""容忍與污點"用於限制 pod 在特定或首選節點上運行。使用`ControllerPlugin`和 `NodePlugin`您可以指定約束和覆蓋規則。

  • 控制器插件負責磁碟區的配置和管理,例如快照和調整大小。

  • 節點插件負責將儲存連接到節點。