基于历史的修剪
根据运行的状态保留固定数量的运行,不考虑其年龄。
工作原理
历史限制和 TTL 都可以同时生效。如果某个运行超出历史限制,或者其 TTL 已过期,则该运行符合删除条件。这意味着保留时间更短的规则优先生效。
配置选项
基本配置
按状态分别设置限制:
两者使用相同限制:
环境特定限制
Pipeline 特定限制
在 namespace ConfigMaps 中使用选择器来设置 pipeline 特定限制:
WARNING
namespace 级 ConfigMaps 不在 TektonConfig 生命周期内。如果你之后需要备份或恢复 Tekton 配置,请单独保存这些 ConfigMaps。
与 TTL 的交互
历史限制不会覆盖 TTL:
结果:超过 5 分钟的运行会被删除,即使它们仍在最近 5 个成功运行或最近 10 个失败运行之内。只要存在超过配置数量的运行,历史限制仍然可能更早删除较旧的运行。
最佳实践
- 保留更多失败运行,而不是成功运行,以便调试
- 关键 pipeline:为审计轨迹设置更高的限制
- 开发环境:设置更低的限制(3-5)以便快速迭代
- 生产环境:设置更高的限制(10-20)以便分析
- 监控存储:根据集群容量调整限制
相关内容
- 基于时间的修剪 - 基于年龄的删除
- Namespace 配置 - 按环境设置限制
- Resource Groups - Pipeline 特定限制