保留策略配置
Tekton Results 保留策略为数据库记录和 S3 兼容存储系统中的归档日志提供自动清理功能。Retention Agent 会根据可配置的基于时间的策略,定期删除过期的结果及其关联的日志负载。
配置
保留策略通过 TektonConfig 自定义资源中的 spec.result.options 字段配置 ConfigMap 覆盖:
配置参数
-
defaultRetention:指定结果在自动删除前的保留天数。超过该期限后,数据库记录和 S3 存储中的关联日志负载都会被清理。 -
runAt:定义 Retention Agent 运行时间的 Cron 表达式。"0 2 * * *"- 每天凌晨 2 点"0 2 * * 0"- 每周日凌晨 2 点"0 2 1 * *"- 每月 1 日凌晨 2 点
应用配置
应用 TektonConfig 配置:
示例输出:
等待 Retention Agent 重启:
示例输出:
验证配置是否生效:
示例输出:
重要说明
重要:统一清理功能(同时删除数据库记录和 S3 日志负载)是一个 增强功能(基于补丁),当前社区版 Tekton Results 尚未提供。社区版本仅删除数据库记录,但不会清理 S3 存储中的日志负载,可能导致存储无限增长。
查看 TektonConfig 保留策略配置:
示例输出(简略):
查看 Retention Agent 日志:
示例输出:
验证
要快速验证保留策略是否正常工作,请按以下步骤操作:
-
创建测试结果/日志:生成一些 Tekton PipelineRuns 或 TaskRuns,产生结果和日志存储到 Tekton Results 数据库。
-
验证初始状态:检查数据库和 S3 存储(如适用)中是否存在结果和日志。
-
修改保留策略用于测试:临时设置非常短的保留期和特定的 cron 计划(例如,当前时间 + 10 分钟执行一次)。
-
应用修改后的配置:应用临时测试配置并等待 Retention Agent 重启。
-
监控 Retention Agent 日志:观察 Retention Agent 日志,确认清理操作是否执行。
-
验证清理结果:保留策略执行后,确认旧的结果和日志已被删除。
-
恢复生产设置:验证完成后,将保留策略恢复为生产环境的预期值。
警告:设置非常短的保留期会导致结果立即被删除,请务必在测试环境中进行验证。