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 后运行的任务。

表 3.1. 用于调整 OpenShift Pipelines 性能的 modifiable 字段
Name描述OpenShift Pipelines 控制器的默认值

disable-ha

启用或禁用高可用性(HA)模式。默认情况下启用 HA 模式。

false

bucket

在 HA 模式中,用于处理控制器操作的存储桶数量。最大值为 10

1

replicas

在 HA 模式中,为处理控制器操作创建的 pod 数量。将此值设置为与 bucket 值相同的或更低的数量。

1

threads-per-controller

处理 OpenShift Pipelines 控制器的工作队列时要使用的线程数量 (worker) 数量。

2

kube-api-qps

从 REST 客户端到集群 master 的最大每秒查询数 (QPS)。

5.0

kube-api-burst

节流的最大突发。

10

注意

OpenShift Pipelines Operator 不控制 OpenShift Pipelines 控制器的副本数。部署的 replicas 设置决定了副本数。例如,要将副本数改为 3,请输入以下命令:

$ oc --namespace openshift-pipelines scale deployment openshift-pipelines-controller --replicas=3
重要

在 OpenShift Pipelines 控制器中,kube-api-qpskube-api-burst 字段会乘以 2。例如,如果 kube-api-qpskube-api-burst 值为 10,则实际的 QPS 和 burst 值将变为 20

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.