调整子组件的可选配置项
功能概述
通过调整 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 组件为例,说明如何配置资源配额。
Step 1
编辑 TektonConfig 资源
Step 2
WARNING
修改配置可能会触发组件 Pods 的滚动更新,从而导致服务短暂不可用,请在合适的时间执行。
按如下方式修改 spec.pipeline.options.deployments 配置:
- 将
Deploymenttekton-events-controller的副本数改为 2 - 修改
Deploymenttekton-events-controller的resources配置
Step 3
提交配置并等待 Pods 更新完成。
操作结果
可以看到 tekton-events-controller 的副本数为 2,且 resources 配置已生效。
后续操作
如果需要修改其他组件的配置,可以参考以上步骤修改其他组件的 options 配置。