处理一个使用flask实现的k8s服务项目。
作为部署的一部分,我希望在应用程序开始执行之前运行数据库迁移。
我想知道什么是所谓的";最佳实践";,以及原因。
只是在这里提到了我脑海中的一些想法:
- entrypoint.sh脚本
- init容器
- 一份工作
- 配置映射
如果你有其他方法/技术,请接受我的邀请:(
提前感谢!
最佳做法是将所有与应用程序相关的Kubernetes文件封装在helm图表中,并在升级后挂钩中添加迁移,这将确保只运行一次。
entrypoint.sh
的问题是,如果您的部署中有多个pod,那么迁移将运行多次。。。
关于舵图挂钩的更多信息:
https://helm.sh/docs/topics/charts_hooks/