Result Limit Exceeded When Writing Tekton Task Results
问题描述
当 Task 步骤向 Task result 写入较大内容时,可能因大小限制导致输出失败。
错误表现
-
Pod 日志显示终止消息溢出(结果超过默认 4 KB 限制):
根因分析
默认情况下,Tekton Pipelines 通过容器的 termination message 捕获 Task 结果,而 Kubernetes 对 termination message 限制为 4 KB。 这实际上将单个 Task 可用的结果大小限制为 4096 字节。
为了解除该限制,Tekton 支持从 sidecar 日志 读取结果,并对每个结果应用可配置的 max-result-size。
故障排查
TIP
以下说明假设您已默认将 Tekton Pipeline 安装在 tekton-pipelines 命名空间中。
如果安装在其他命名空间,请将 tekton-pipelines 替换为您的命名空间。
以下是配置结果大小限制的步骤:
-
编辑 TektonConfig 资源,设置
spec.pipeline.results-from和spec.pipeline.max-result-size,示例如下: -
feature-flagsConfigMap 会自动更新: -
由于启用了
results-from: sidecar-logs功能,需要为 controller 配置日志访问权限:技术说明:此配置允许 controller 从 pod 日志中获取结果信息。详细信息请参阅 Tekton 官方文档。
-
无需手动重启组件,修改会自动生效。