自訂Trident操作員安裝
Trident 運算子可讓您使用規格中的屬性來自訂 Trident 安裝 TridentOrchestrator。如果您想自訂超出引數允許範圍的安裝 TridentOrchestrator、請考慮使用 `tridentctl`產生自訂的 YAML 資訊清單、以視需要進行修改。
瞭解控制器 Pod 和節點 Pod
組態選項
|
|
spec.namespace`在中指定 `TridentOrchestrator、表示安裝 Trident 的命名空間。此參數 * 安裝 Trident 後無法更新 * 。嘗試這樣做會導致 TridentOrchestrator`狀態變更為 `Failed。Trident 不打算跨命名空間移轉。
|
本表詳細說明 TridentOrchestrator 屬性。
| 參數 | 說明 | 預設 | ||||
|---|---|---|---|---|---|---|
|
安裝 Trident 的命名空間 |
|
||||
「Debug」 |
啟用 Trident 的偵錯功能 |
「假」 |
||||
|
|
「假」 |
||||
|
設定為 |
「假」 |
||||
|
在 AKS 叢集上使用託管身分識別或雲端身分識別時、請設定為 |
|
||||
|
在 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 角色」)。在 GKE 叢集上使用雲端身分識別時,請設定為雲端身分識別(「 iam.GKE 。 IO/GCP 服務帳戶: xxxx@mygcpproject.iam.gserviceaccount.com 」)。 |
|
||||
|
透過 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`是唯一支援的值。 *
|
|||||
|
控制器與 Kubernetes API 伺服器通訊時所使用的每秒查詢數 (QPS) 限制。 Burst 值會根據 QPS 值自動設定。 |
|
||||
|
支援並發Trident控制器操作以提高吞吐量。
|
錯 |
||||
|
設定Trident控制器和節點 pod 的 Kubernetes 資源限制和請求。您可以為每個容器和邊車配置 CPU 和內存,以管理 Kubernetes 中的資源分配。 有關配置資源請求和限制的更多信息,請參閱"Pod 和容器的資源管理"。
|
|
||||
|
為 Prometheus 指標端點啟用 HTTPS。 |
錯 |
||||
「主機網路」 |
為Trident控制器啟用主機聯網功能。在多宿主網路中,當需要分離前端和後端流量時,這非常有用。 |
錯 |
|
|
如需格式化 Pod 參數的詳細資訊、請參閱 "將Pod指派給節點"。 |
組態範例
您可以使用下列屬性組態選項在定義時 `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 工作節點
這個範例是在運行以下命令後創建的: `cat deploy/crds/tridentorchestrator_cr.yaml`該指令在 Windows 工作節點上安裝Trident 。
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 叢集上的雲端身份
本範例在 AKS 叢集上安裝Trident以用於雲端身分。
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 叢集上的雲端身份
本範例在 AKS 叢集上安裝Trident以用於雲端身分。
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 的雲端身分識別
本範例在 GKE 叢集上安裝Trident以用於雲端身分。
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
Trident控制器和Trident Linux 節點 Pod 的 Kubernetes 資源請求和限製配置
本範例為Trident控制器和Trident Linux 節點 pod 設定 Kubernetes 資源請求和限制。
|
|
免責聲明:本範例中提供的請求和限制值僅用於演示目的。請根據您的環境和工作負載需求調整這些值。 |
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: true
namespace: trident
imagePullSecrets:
- thisisasecret
resources:
controller:
trident-main:
requests:
cpu: 10m
memory: 80Mi
limits:
cpu: 200m
memory: 256Mi
# sidecars
csi-provisioner:
requests:
cpu: 2m
memory: 20Mi
limits:
cpu: 100m
memory: 64Mi
csi-attacher:
requests:
cpu: 2m
memory: 20Mi
limits:
cpu: 100m
memory: 64Mi
csi-resizer:
requests:
cpu: 3m
memory: 20Mi
limits:
cpu: 100m
memory: 64Mi
csi-snapshotter:
requests:
cpu: 2m
memory: 20Mi
limits:
cpu: 100m
memory: 64Mi
trident-autosupport:
requests:
cpu: 1m
memory: 30Mi
limits:
cpu: 50m
memory: 128Mi
node:
linux:
trident-main:
requests:
cpu: 10m
memory: 60Mi
limits:
cpu: 200m
memory: 256Mi
# sidecars
node-driver-registrar:
requests:
cpu: 1m
memory: 10Mi
limits:
cpu: 50m
memory: 32Mi
Kubernetes資源請求和限製配置,適用於Trident控制器以及Trident Windows和Linux節點Pod
本範例為Trident控制器和Trident Windows 和 Linux 節點 pod 設定 Kubernetes 資源請求和限制。
|
|
免責聲明:本範例中提供的請求和限制值僅用於演示目的。請根據您的環境和工作負載需求調整這些值。 |
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: true
namespace: trident
imagePullSecrets:
- thisisasecret
windows: true
resources:
controller:
trident-main:
requests:
cpu: 10m
memory: 80Mi
limits:
cpu: 200m
memory: 256Mi
# sidecars
csi-provisioner:
requests:
cpu: 2m
memory: 20Mi
limits:
cpu: 100m
memory: 64Mi
csi-attacher:
requests:
cpu: 2m
memory: 20Mi
limits:
cpu: 100m
memory: 64Mi
csi-resizer:
requests:
cpu: 3m
memory: 20Mi
limits:
cpu: 100m
memory: 64Mi
csi-snapshotter:
requests:
cpu: 2m
memory: 20Mi
limits:
cpu: 100m
memory: 64Mi
trident-autosupport:
requests:
cpu: 1m
memory: 30Mi
limits:
cpu: 50m
memory: 128Mi
node:
linux:
trident-main:
requests:
cpu: 10m
memory: 60Mi
limits:
cpu: 200m
memory: 256Mi
# sidecars
node-driver-registrar:
requests:
cpu: 1m
memory: 10Mi
limits:
cpu: 50m
memory: 32Mi
windows:
trident-main:
requests:
cpu: 6m
memory: 40Mi
limits:
cpu: 200m
memory: 128Mi
# sidecars
node-driver-registrar:
requests:
cpu: 6m
memory: 40Mi
limits:
cpu: 100m
memory: 128Mi
liveness-probe:
requests:
cpu: 2m
memory: 40Mi
limits:
cpu: 50m
memory: 64Mi