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