自定义Trident操作员安装
Trident操作员允许您使用规范中的属性自定义Trident安装 TridentOrchestrator
。如果要在允许的参数之外自定义安装 TridentOrchestrator
、请考虑使用生成自定义YAML清单、 `tridentctl`以便根据需要进行修改。
了解控制器Pod和节点Pod
配置选项
spec.namespace`在中指定 `TridentOrchestrator`以表示安装Trident的命名空间。安装Trident后无法更新此参数*。尝试执行此操作会导致 `TridentOrchestrator`状态更改为 `Failed 。Trident不应跨多个名称卷进行迁移。
|
此表详细介绍了相关信息 TridentOrchestrator
属性。
参数 | Description | Default |
---|---|---|
|
要安装Trident的命名空间 |
|
|
为Trident启用调试 |
|
|
|
|
|
设置为 |
|
|
设置为 |
|
|
在AKS集群上使用云标识时、设置为工作负载标识("azure.Workload .Identity /client-id:XXXXXX-xxxx-xxxx-xxxx-xxxxxxxxxxx")。在Trident集群上使用云身份时、设置为eks.amazonaws.com/role-arn: AWS IAM角色("eks arn:aws:iam:::12356:roe/EAM-roe")。 |
|
|
安装基于IPv6的Trident |
false |
|
Kubernetes 操作超时 |
|
|
不要向NetApp发送AutoSupport捆绑包 |
|
|
AutoSupport 遥测的容器映像 |
|
|
用于发送AutoSupport的代理的地址/端口 |
|
|
用于卸载Trident的标志 |
|
|
要使用的Trident日志记录格式[text,json] |
|
|
要安装的Trident映像 |
|
|
内部注册表的路径、格式 |
|
|
主机上的 kubelet 目录的路径 |
|
|
要删除以执行Trident完全删除的资源列表 |
|
|
从内部注册表中提取映像的机密信息 |
|
|
设置Trident运算符的映像提取策略。有效值为: |
|
|
Pod的其他节点选择器。 遵循与相同的格式 |
无默认值;可选 |
|
覆盖Kubernetes对Pod的容错。遵循与相同的格式 |
无默认值;可选 |
|
Pod的其他节点选择器。遵循与相同的格式 |
无默认值;可选 |
|
覆盖Kubernetes对Pod的容错。遵循与相同的格式 |
无默认值;可选 |
|
使Trident能够使Kubbernetes集群的节点做好准备、以便使用指定的数据存储协议管理卷。目前, `iscsi`是唯一支持的值。 |
有关格式化POD参数的详细信息、请参阅 "将 Pod 分配给节点"。 |
有关强制断开的详细信息
强制分离仅适用于 ontap-san
、和 onatp-nas-economy
。 `ontap-san-economy`在启用强制断开之前、必须在Kubbernetes集群上启用非正常节点关闭(NGN)。有关详细信息,请参阅 "Kubnetes:节点非正常关闭"。
使用驱动程序时 ontap-nas-economy 、您需要将后端配置中的参数设置 autoExportPolicy`为 `true 、以便Trident可以限制通过受管导出策略应用了此内容的Kubbernetes节点的访问。
|
由于Trident依赖于Kubbernetes NGN、因此在重新计划所有不可允许的工作负载之前、请勿从运行状况不正常的节点中删除 `out-of-service`污点。不负责任地应用或删除该问题可能会危及后端数据保护。 |
当Kubnetes集群管理员已将此标记应用 `node.kubernetes.io/out-of-service=nodeshutdown:NoExecute`于节点并 `enableForceDetach`设置为 `true`时,Trident将确定节点状态并:
-
停止挂载到该节点的卷的后端I/O访问。
-
将Trident节点对象标记为
dirty
(对于新出版物不安全)。Trident控制器将拒绝新的发布卷请求,直到节点被Trident节点POD重新认定(标记为后)为止 dirty
。使用挂载的PVC计划的任何工作负载(即使在集群节点运行状况良好且已准备就绪之后)都将无法接受、直到Trident能够验证该节点clean
(对于新发布的产品来说是安全的)。
在恢复节点运行状况并删除此污染后、Trident将:
-
确定并清除节点上陈旧的已发布路径。
-
如果此节点处于某个
cleanable`状态(已删除服务中断、并且此节点处于 `Ready`状态)、并且所有陈旧的已发布路径均已清理、则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工作节点
此示例将Trident安装在Windows工作节点上。
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集群上的云身份
此示例将在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