3.2. 使用 TektonConfig CR 进行性能调优
您可以修改 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 Operator 会在 openshift-pipelines-controller
容器下的 openshift-pipelines-controller
部署中包含大多数字段作为参数。OpenShift Pipelines Operator 还更新 openshift-pipelines
命名空间下的 config-leader-election
配置映射中的 bucket
字段。
如果没有指定值,OpenShift Pipelines Operator 不会更新这些字段,并应用 OpenShift Pipelines 控制器的默认值。
如果您修改或删除任何性能字段,OpenShift Pipelines Operator 会更新 openshift-pipelines-controller
部署和 config-leader-election
配置映射(如果 bucket
字段已更改),并重新创建 openshift-pipelines-controller
pod。
高可用性(HA)模式适用于 OpenShift Pipelines 控制器,它根据管道运行和任务运行定义创建并启动 pod。如果没有 HA 模式,单个 pod 会执行这些操作,可能会导致高负载出现大量延迟。
在 HA 模式中,OpenShift Pipelines 使用几个 pod (副本)来执行这些操作。最初,OpenShift Pipelines 将每个控制器操作分配到存储桶中。每个副本从一个或多个存储桶中选择操作。如果两个副本可以同时选择同一操作,控制器内部决定执行此操作的 领导。
HA 模式不会影响创建 pod 后运行的任务。
Name | 描述 | OpenShift Pipelines 控制器的默认值 |
---|---|---|
| 启用或禁用高可用性(HA)模式。默认情况下启用 HA 模式。 |
|
|
在 HA 模式中,用于处理控制器操作的存储桶数量。最大值为 |
|
|
在 HA 模式中,为处理控制器操作创建的 pod 数量。将此值设置为与 |
|
| 处理 OpenShift Pipelines 控制器的工作队列时要使用的线程数量 (worker) 数量。 |
|
| 从 REST 客户端到集群 master 的最大每秒查询数 (QPS)。 |
|
| 节流的最大突发。 |
|
OpenShift Pipelines Operator 不控制 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 和 burst 值将变为 20
。