【发布时间】:2019-12-03 22:06:14
【问题描述】:
我正在使用 Kubernetes Cronjob 运行周期数据库恢复和发布恢复脚本,这些脚本针对目标环境运行,包括使用数据库、redis 和文件系统等任务。
我面临的问题是我必须重新定义我在 Cronjob 中的部署中使用的所有环境变量(例如,DATABASE_NAME、DATABASE_PASSWORD、REDIS_HOST 等)。
虽然重复所有环境变量有效,但很容易出错,因为我已经忘记更新作业,这导致我不得不重新运行整个过程,这需要 2-4 小时才能运行,具体取决于环境。
有没有办法引用现有的 Deployment 并在我的 Cronjob 中重新使用定义的环境变量?
【问题讨论】:
-
我不认为你可以参考部署,但你可以从秘密设置环境变量,所以你会在 cron 和部署中引用相同的秘密
-
@Markownikow,是的,这是真的。我将它用于我的实际秘密,例如
DATABASE_PASSWORD,但实际上并不想在我的部署中将非敏感环境变量转换为秘密(因为在 SCM 中查看文件时,它会使故障排除变得有点困难)。感谢您的反馈。 -
我明白了,在调试时可以轻松查看值的配置映射怎么样?
-
好点。那么有效的解决方法。谢谢指点。
标签: kubernetes kubernetes-deployment kubernetes-cronjob