You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes部署WordPress-MySQL遇CreateContainerConfigError:找不到mysql-pass Secret

解决Kustomize生成Secret自动加后缀导致Pod无法找到的问题

问题原因

你用Kustomize的secretGenerator生成Secret时,默认会根据Secret内容的哈希值自动添加后缀(比如mysql-pass-kkcc2b926b),但WordPress和MySQL的Pod配置里引用的是不带后缀的mysql-pass,自然找不到对应的Secret,导致Pod卡在CreateContainerConfigError状态。

解决方案

方法1:禁用Secret名称后缀哈希(推荐)

修改你的Kustomize配置,添加generatorOptions字段关闭自动加后缀的功能,这样生成的Secret名称会严格匹配你定义的mysql-pass:

generatorOptions:
  disableNameSuffixHash: true
secretGenerator:
- name: mysql-pass
  literals:
  - password=123456

保存配置后,重新执行部署命令:

kubectl apply -k .

此时再查看Secret,名称就是mysql-pass,Pod就能正常拉取Secret启动。

方法2:手动修改Pod配置引用带后缀的Secret(不推荐)

如果暂时不想修改Kustomize配置,可以直接修改WordPress和MySQL的Deployment配置文件,把引用的Secret名称改成实际生成的带后缀的名字(比如mysql-pass-kkcc2b926b)。但这个方法存在缺陷:后续只要Secret内容变化,Kustomize会生成带新后缀的Secret,你又得重新修改Pod配置,维护成本很高。

总结

优先选择方法1,通过禁用名称后缀哈希来保持Secret名称固定,避免后续出现类似的匹配问题。

内容的提问来源于stack exchange,提问作者eastwater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 19:52:13