Skip to main content
Astra Trident
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

自訂Trident操作員安裝

貢獻者 netapp-aruldeepa

Trident運算子可讓您使用中的屬性來自訂Astra Trident安裝 TridentOrchestrator 規格如果您想要自訂安裝內容以外的內容 TridentOrchestrator 引數允許、請考慮使用 tridentctl 產生自訂的 YAML 資訊清單、以視需要進行修改。

瞭解控制器 Pod 和節點 Pod

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

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

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

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

組態選項

警告 spec.namespace 在中指定 TridentOrchestrator 表示 Astra Trident 安裝的命名空間。此參數*無法在安裝Astra Trident之後更新*。嘗試這麼做會導致 TridentOrchestrator 要變更為的狀態 Failed。Astra Trident不打算跨命名空間移轉。

本表詳細說明 TridentOrchestrator 屬性。

參數 說明 預設

namespace

用於安裝Astra Trident的命名空間

"default"

debug

啟用Astra Trident的偵錯功能

false

enableForceDetach

ontap-san 和 ontap-san-economy 僅限。

與 Kubernetes Non-Graceful Node Shutdown ( NGNS )一起運作、讓叢集管理員能夠在節點發生問題時、將已掛載磁碟區的工作負載安全移轉至新節點。

false

windows

設定為 true 可在Windows工作節點上安裝。

false

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 :角色 / 身分識別角色」)。

""

IPv6

透過IPv6安裝Astra Trident

錯

k8sTimeout

Kubernetes作業逾時

30sec

silenceAutosupport

請勿將 AutoSupport 套裝組合傳送至 NetApp
自動

false

autosupportImage

遙測的容器影像AutoSupport

"netapp/trident-autosupport:24.02"

autosupportProxy

用於傳送 AutoSupport 的 Proxy 位址 / 連接埠
遙測

"http://proxy.example.com:8888"

uninstall

用來解除安裝Astra Trident的旗標

false

logFormat

要使用的Astra Trident記錄格式[text、json]

"text"

tridentImage

要安裝的Astra Trident映像

"netapp/trident:24.02"

imageRegistry

內部登錄的路徑、格式
<registry FQDN>[:port][/subpath]

"k8s.gcr.io/sig-storage" ( Kubernetes 1.19+ )
或 "quay.io/k8scsi"

kubeletDir

主機上的kubelet目錄路徑

"/var/lib/kubelet"

wipeout

要刪除以執行完整移除的資源清單
Astra Trident

imagePullSecrets

從內部登錄擷取映像的機密

imagePullPolicy

設定Trident運算子的影像提取原則。有效值包括:

Always 永遠拉出映像。

IfNotPresent 僅當節點上尚未存在映像時才提取映像。

Never 永遠不要拉動映像。

IfNotPresent

controllerPluginNodeSelector

用於 Pod 的其他節點選取器。 格式與相同 pod.spec.nodeSelector。

無預設值;選用

controllerPluginTolerations

覆寫 Pod 的 Kubernetes 公差。遵循與相同的格式 pod.spec.Tolerations。

無預設值;選用

nodePluginNodeSelector

用於 Pod 的其他節點選取器。格式與相同 pod.spec.nodeSelector。

無預設值;選用

nodePluginTolerations

覆寫 Pod 的 Kubernetes 公差。遵循與相同的格式 pod.spec.Tolerations。

無預設值;選用

註 如需格式化 Pod 參數的詳細資訊、請參閱 "將Pod指派給節點"。

強制分離的詳細資料

可以使用強制分離 ontap-san 和 ontap-san-economy 僅限。啟用強制分離之前、必須先在 Kubernetes 叢集上啟用非正常節點關機( NGNS )。如需詳細資訊、請參閱 "Kubernetes :非正常節點關機"。

警告 由於 Astra Trident 仰賴 Kubernetes NGNS 、因此請勿移除 out-of-service 從不正常的節點污染、直到重新排程所有不可容忍的工作負載為止。如果不考慮套用或移除污染、可能會危及後端資料保護。

當 Kubernetes 叢集管理員套用時 node.kubernetes.io/out-of-service=nodeshutdown:NoExecute 污染到節點和 enableForceDetach 設為 true、 Astra Trident 將決定節點狀態、並:

  1. 停止掛載到該節點之磁碟區的後端 I/O 存取。

  2. 將 Astra Trident 節點物件標記為 dirty (新出版品不安全)。

    註 Trident 控制器會拒絕新的發佈 Volume 要求、直到節點重新符合資格為止(在標記為之後) dirty)。在 Astra Trident 能夠驗證節點之前、任何以掛載的 PVC 排程的工作負載(即使在叢集節點健全且準備就緒之後)都不會被接受 clean (新出版品的安全性)。

當節點健全狀況恢復且刪除污染物時、 Astra Trident 將:

  1. 識別並清除節點上過時的已發佈路徑。

  2. 如果節點位於 cleanable 狀態(服務外污點已移除、節點位於中 Ready 狀態)且所有過時的已發佈路徑都是乾淨的、 Astra Trident 將重新將節點重新接收為 clean 並允許新發行的磁碟區到節點。

組態範例

您可以在中使用屬性 [組態選項] 定義時 TridentOrchestrator 以自訂安裝。

基本自訂組態

這是基本自訂安裝的範例。

cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
節點選取器

此範例會安裝 Astra Trident 搭配節點選取器。

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  controllerPluginNodeSelector:
    nodetype: master
  nodePluginNodeSelector:
    storage: netapp
Windows 工作者節點

此範例會在 Windows 工作者節點上安裝 Astra Trident 。

cat deploy/crds/tridentorchestrator_cr.yaml
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
在 AKS 叢集上的託管身分識別

此範例安裝 Astra Trident 、可在 Aaks 叢集上啟用受管理的身分識別。

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
在 AKS 叢集上的雲端身分識別

本範例安裝 Astra Trident 、以搭配 Astra 叢集上的雲端身分識別使用。

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
  cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
EKS 叢集上的雲端身分識別

本範例安裝 Astra Trident 、以搭配 Astra 叢集上的雲端身分識別使用。

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "AWS"
  cloudIdentity: "'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/astratrident-role'"