调整子组件的可选配置项
功能概述
通过调整 TektonConfig 资源中各个组件的 options 配置,可以实现对子组件的自定义配置。
本文档介绍 options 支持的配置项,以及如何配置这些项。
使用场景
Tekton 支持通过 TektonConfig 资源部署子组件。该资源在 spec.pipeline、spec.trigger、spec.hub、spec.chain 和 spec.result 字段下都有一个公共配置项 options。
通过 options 配置,可以实现:
- 组件的定点部署
- 修改高可用设置
- 修改组件副本数
- 修改组件资源配额
- 修改默认
ConfigMap配置项
详细可配置项
- 修改组件
Deployment的配置,例如:labels和annotations配置- 副本数
replicas - 亲和性规则
affinity - 优先级类
priorityClassName - 节点选择器
nodeSelector - 容忍规则
tolerations - 拓扑分布约束
topologySpreadConstraints - 运行时类
runtimeClassName - 卷
volumes - 容器
containers和initContainers- 资源配额
resources.limits和resources.requests - 环境变量
env - 卷
volumes - 执行参数
args
- 资源配额
- 修改组件
ConfigMap的配置,例如:labels和annotations配置- 更新或新增
data配置项
- 修改组件
Ingress的配置,例如:ingressClassName,用于覆盖默认的 ingressClass 配置rules,用于覆盖默认路由规则tls,用于覆盖默认证书配置
- 修改组件
HorizontalPodAutoscaler的自动扩缩容配置,例如:- 添加此配置
- 修改
minReplicas和maxReplicas配置 - 修改
targetCPUUtilizationPercentage配置等
- 修改组件
StatefulSet的配置 - 修改组件
ValidatingWebhookConfiguration和MutatingWebhookConfiguration的配置
前提条件
在使用该功能前,请确保:
- 已安装 Tekton Operator 组件
- 环境中已自动创建 TektonConfig 资源
- 您已基本了解
TektonConfig中支持的配置项
以下是一个典型的 options 配置示例:
操作步骤
以下以 pipeline 组件为例,说明如何配置资源配额。
步骤 1
编辑 TektonConfig 资源
步骤 2
WARNING
修改配置可能会触发组件 Pod 的滚动更新,这可能会导致服务短暂不可用。请在合适的时间执行。
按如下方式修改 spec.pipeline.options.deployments 配置:
- 将
Deploymenttekton-events-controller的副本数改为 2 - 修改
Deploymenttekton-events-controller的resources配置
步骤 3
提交配置并等待 Pod 更新。
操作结果
可以看到 tekton-events-controller 的副本数已变为 2,且 resources 配置已生效。
后续操作
如果需要修改其他组件的配置,可以参考上述步骤修改其他组件的 options 配置。