我使用Kubernetes Cronjob来运行期间数据库还原以及针对目标环境运行的还原脚本,这些脚本包括诸如处理数据库,Redis和文件系统之类的任务。
我面临的问题是我必须重新定义在Cronjob的部署中使用的所有环境变量(例如,DATABASE_NAME,DATABASE_PASSWORD,REDIS_HOST等)。
在重复使用所有环境变量的时候,容易出错,因为具体取决于哪种环境。这导致我不得不重新运行整个过程,整个过程需要2-4个小时,
有没有办法引用现有的Deployment并重新使用Cronjob中定义的环境变量吗?
可以使用'kind: PodPreset'来定义公共变量并将其注入到多个kuberentes对象中,如deployments/statefulsets/pods/replicasets等。
参考:https://kubernetes.io/docs/tasks/inject-data-application/podpreset/
你的答案