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

自訂Trident操作員安裝

貢獻者

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的偵錯功能

「假」

enableForceDetach

ontap-sanontap-san-economy 僅限。

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

「假」

windows

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

「假」

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
自動

「假」

「autosupportImage」

遙測的容器影像AutoSupport

"netapp/trident-autosupport:24.02"

「autosupportProxy」

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

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

解除安裝

用來解除安裝Astra Trident的旗標

「假」

logFormat

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

"text"

「TridentImage」

要安裝的Astra Trident映像

"netapp/trident:24.02"

「影像登錄」

內部登錄的路徑、格式
<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

無預設值;選用

「控制器插件」

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

無預設值;選用

「nodePluginNodeSelector」

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

無預設值;選用

「nodePluginBolerations」

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

無預設值;選用

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

強制分離的詳細資料

可以使用強制分離 ontap-sanontap-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'"