← 中文资源

简体中文版本

Kubernetes 因缺少 Secret 键报 CreateContainerConfigError

通过确认 Secret 存在、含有所需键且挂载正确,解决 Kubernetes 的 Secret 键错误。

阅读英文原文

症状

Pod 以 CreateContainerConfigError 拒绝启动,describe 会揭示缺失的 Secret 或键。Kubernetes 在容器启动时解析 Secret 引用,因此缺失的键会在进程运行前阻塞容器。Secret 按命名空间隔离,这意味着集群中别处存在的 Secret 对另一命名空间的 Pod 不可见。

诊断

describe Pod 查看确切错误;检查 Secret 的键;确认命名空间。

kubectl describe pod <pod>

根因

Pod 引用了其命名空间中不存在的 Secret 或键,kubelet 无法构建容器环境,Pod 卡在配置错误。

修复

在 Pod 所在命名空间创建含所需键的 Secret;修正 secretKeyRef 的名称与键;调整命名空间;然后重建 Pod。

验证

重建 Pod 确认启动,并确认注入的环境变量或挂载文件含预期值。Pod 运行且配置正确即证明 Secret 接线正确。

常见陷阱

把 Secret 内容打进日志或容器镜像会泄露凭据;应使用 Secret 挂载并限制读取权限。