您可以修改TektonConfig
自定义资源 (CR) 中.spec.pipeline.performance
参数下的字段,以更改 OpenShift Pipelines 控制器的 高可用性 (HA) 支持和性能配置。
TektonConfig 性能字段示例
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
pipeline:
performance:
disable-ha: false
buckets: 7
replicas: 5
threads-per-controller: 2
kube-api-qps: 5.0
kube-api-burst: 10
所有字段都是可选的。如果您设置它们,Red Hat OpenShift Pipelines 运算符会将大多数字段作为参数包含在openshift-pipelines-controller
命名空间下openshift-pipelines-controller
容器中的openshift-pipelines-controller
部署中。OpenShift Pipelines 运算符还会更新openshift-pipelines
命名空间下config-leader-election
配置映射中的buckets
字段。
如果您未指定值,OpenShift Pipelines 运算符不会更新这些字段,并为 OpenShift Pipelines 控制器应用默认值。
|
如果您修改或删除任何性能字段,OpenShift Pipelines 运算符将更新openshift-pipelines-controller 部署和config-leader-election 配置映射(如果buckets 字段已更改)并重新创建openshift-pipelines-controller Pod。
|
高可用性 (HA) 模式适用于 OpenShift Pipelines 控制器,该控制器根据管道运行和任务运行定义创建和启动 Pod。在没有 HA 模式的情况下,单个 Pod 执行这些操作,在高负载下可能会造成明显的延迟。
在 HA 模式下,OpenShift Pipelines 使用多个 Pod(副本)来执行这些操作。最初,OpenShift Pipelines 将每个控制器操作分配到一个桶中。每个副本从一个或多个桶中选择操作。如果两个副本可能同时选择相同的操作,控制器会在内部确定一个执行此操作的*领导者*。
表 1. 用于调整 OpenShift Pipelines 性能的可修改字段
名称 |
描述 |
OpenShift Pipelines 控制器的默认值 |
disable-ha
|
启用或禁用高可用性 (HA) 模式。默认情况下,HA 模式已启用。 |
false
|
buckets
|
在 HA 模式下,用于处理控制器操作的 bucket 数量。最大值为 10 |
1
|
replicas
|
在 HA 模式下,创建用于处理控制器操作的 Pod 数量。此值应设置为等于或小于 buckets 值。 |
1
|
threads-per-controller
|
处理 OpenShift Pipelines 控制器工作队列时使用的线程(工作进程)数量。 |
2
|
kube-api-qps
|
REST 客户端对集群主机的每秒最大查询数 (QPS)。 |
5.0
|
kube-api-burst
|
节流的最大突发值。 |
10
|
|
OpenShift Pipelines 运算符不控制 OpenShift Pipelines 控制器的副本数量。部署的 replicas 设置决定了副本的数量。例如,要将副本数更改为 3,请输入以下命令:
$ oc --namespace openshift-pipelines scale deployment openshift-pipelines-controller --replicas=3
|
|
在 OpenShift Pipelines 控制器中,kube-api-qps 和 kube-api-burst 字段的值将乘以 2。例如,如果 kube-api-qps 和 kube-api-burst 值为 10 ,则实际的 QPS 和突发值将变为 20 。
|