自訂Trident操作員安裝
Trident 運算子可讓您使用規格中的屬性來自訂 Trident 安裝 TridentOrchestrator
。如果您想自訂超出引數允許範圍的安裝 TridentOrchestrator
、請考慮使用 `tridentctl`產生自訂的 YAML 資訊清單、以視需要進行修改。
瞭解控制器 Pod 和節點 Pod
組態選項
spec.namespace`在中指定 `TridentOrchestrator 、表示安裝 Trident 的命名空間。此參數 * 安裝 Trident 後無法更新 * 。嘗試這樣做會導致 TridentOrchestrator`狀態變更為 `Failed 。Trident 不打算跨命名空間移轉。
|
本表詳細說明 TridentOrchestrator
屬性。
參數 | 說明 | 預設 |
---|---|---|
|
安裝 Trident 的命名空間 |
|
「Debug」 |
啟用 Trident 的偵錯功能 |
「假」 |
|
僅限`ontap-san`、 |
「假」 |
|
設定為 |
「假」 |
|
設定為 |
|
|
在 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 角色」)。 |
|
|
透過 IPv6 安裝 Trident |
錯 |
|
Kubernetes作業逾時 |
|
|
請勿將 AutoSupport 套裝組合傳送至 NetApp |
「假」 |
「autosupportImage」 |
遙測的容器影像AutoSupport |
|
「autosupportProxy」 |
用於傳送 AutoSupport 的 Proxy 位址 / 連接埠 |
|
解除安裝 |
用於解除安裝 Trident 的旗標 |
「假」 |
|
要使用的 Trident 記錄格式 [text,json] |
|
「TridentImage」 |
要安裝的 Trident 映像 |
|
「影像登錄」 |
內部登錄的路徑、格式 |
|
《kubeletDir |
主機上的kubelet目錄路徑 |
|
|
要刪除以執行 Trident 完整移除的資源清單 |
|
「imagePullSecrets」 |
從內部登錄擷取映像的機密 |
|
|
設定Trident運算子的影像提取原則。有效值包括: |
|
「controllerPluginNodeSelector」 |
用於 Pod 的其他節點選取器。 格式與相同 |
無預設值;選用 |
「控制器插件」 |
覆寫 Pod 的 Kubernetes 公差。遵循與相同的格式 |
無預設值;選用 |
「nodePluginNodeSelector」 |
用於 Pod 的其他節點選取器。格式與相同 |
無預設值;選用 |
「nodePluginBolerations」 |
覆寫 Pod 的 Kubernetes 公差。遵循與相同的格式 |
無預設值;選用 |
|
可讓 Trident 準備 Kubernetes 叢集的節點、以使用指定的資料儲存傳輸協定來管理磁碟區。* 目前 `iscsi`是唯一支援的值。 * |
如需格式化 Pod 參數的詳細資訊、請參閱 "將Pod指派給節點"。 |
強制分離的詳細資料
「強制分離」僅適用於 ontap-san
、 ontap-san-economy`和 `onatp-nas-economy
。啟用強制分離之前、必須先在 Kubernetes 叢集上啟用非正常節點關機( NGNS )。如需詳細資訊、請 "Kubernetes :非正常節點關機"參閱。
使用驅動程式時 ontap-nas-economy 、您需要將後端組態中的參數設定 autoExportPolicy`為 `true 、以便 Trident 可以使用受管理的匯出原則套用的污染來限制從 Kubernetes 節點的存取。
|
由於 Trident 仰賴 Kubernetes NGNS 、因此在重新排程所有不可容忍的工作負載之前、請勿移除 `out-of-service`不良節點的污點。如果不考慮套用或移除污染、可能會危及後端資料保護。 |
當 Kubernetes 叢集管理員已將 Tintt 套用 `node.kubernetes.io/out-of-service=nodeshutdown:NoExecute`至節點、並 `enableForceDetach`設定為 `true`時、 Trident 會判斷節點狀態、並:
-
停止掛載到該節點之磁碟區的後端 I/O 存取。
-
將 Trident 節點物件標記為
dirty
(不適用於新出版物)。Trident 控制器將拒絕新的發佈 Volume 要求、直到 Trident 節點 Pod 重新驗證節點(標記為之後)為止 dirty
。除非 Trident 能夠驗證節點(新出版品安全)、否則任何排程使用已掛載 PVC 的工作負載(即使在叢集節點健全且準備就緒之後)都不會被接受clean
。
還原節點健全狀況並移除污染時、 Trident 將:
-
識別並清除節點上過時的已發佈路徑。
-
如果節點處於某個狀態(已移除服務外污染、且節點處於
Ready`狀態)、且所有過時的已發佈路徑均為乾淨、則 `cleanable
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
節點選取器
此範例會安裝 Trident 搭配節點選取器。
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident controllerPluginNodeSelector: nodetype: master nodePluginNodeSelector: storage: netapp
Windows 工作者節點
此範例會在 Windows 工作者節點上安裝 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 叢集上的託管身分識別
此範例會安裝 Trident 、以在 AKS 叢集上啟用託管身分識別。
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident cloudProvider: "Azure"
在 AKS 叢集上的雲端身分識別
此範例會安裝 Trident 、以搭配使用於 AKS 叢集上的雲端身分識別。
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 叢集上的雲端身分識別
此範例會安裝 Trident 、以搭配使用於 AKS 叢集上的雲端身分識別。
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/trident-role'"
GKE 的雲端身分識別
此範例會安裝 Trident 、以搭配 GKE 叢集上的雲端身分識別使用。
apiVersion: trident.netapp.io/v1 kind: TridentBackendConfig metadata: name: backend-tbc-gcp-gcnv spec: version: 1 storageDriverName: google-cloud-netapp-volumes projectNumber: '012345678901' network: gcnv-network location: us-west2 serviceLevel: Premium storagePool: pool-premium1