自定义Trident操作员安装
Trident操作员允许您使用规范中的属性自定义Trident安装 TridentOrchestrator。如果要在允许的参数之外自定义安装 TridentOrchestrator、请考虑使用生成自定义YAML清单、 `tridentctl`以便根据需要进行修改。
了解控制器Pod和节点Pod
配置选项
|
|
spec.namespace`在中指定 `TridentOrchestrator`以表示安装Trident的命名空间。安装Trident后无法更新此参数*。尝试执行此操作会导致 `TridentOrchestrator`状态更改为 `Failed。Trident不应跨多个名称卷进行迁移。
|
此表详细介绍了相关信息 TridentOrchestrator 属性。
| 参数 | Description | Default | ||||
|---|---|---|---|---|---|---|
|
要安装Trident的命名空间 |
|
||||
|
为Trident启用调试 |
|
||||
|
|
|
||||
|
设置为 |
|
||||
|
如果在AKS集群上使用托管身份或云身份、请设置为 |
|
||||
|
在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"")。在GKE集群上使用云标识时、请设置为云标识("iam.GKE.IO/GCP-service-account:xxxx@mygcpproject.iam.gserviceaccount.com ")。 |
|
||||
|
安装基于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`是唯一支持的值。
|
|||||
|
控制器与 Kubernetes API 服务器通信时使用的每秒查询数 (QPS) 限制。 Burst 值根据 QPS 值自动设置。 |
|
||||
|
支持并发Trident控制器操作以提高吞吐量。
|
false |
||||
|
设置 Kubernetes 对Trident控制器和节点 pod 的资源限制和请求。您可以为每个容器和边车配置 CPU 和内存,以管理 Kubernetes 中的资源分配。 有关配置资源请求和限制的更多信息,请参阅"Pod 和容器的资源管理"。
|
|
||||
|
为 Prometheus 指标端点启用 HTTPS。 |
false |
||||
|
为Trident控制器启用主机联网功能。在多宿主网络中,当需要分离前端和后端流量时,这非常有用。 |
false |
|
|
有关格式化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