kubernetes 中烧瓶迁移的最佳实践

best practice for flask migrations in kubernetes

正在开发一个项目,该项目是使用 flask 实现的 k8s 服务。

作为部署的一部分,我想在应用程序开始执行之前 运行 数据库迁移。

我想知道什么是“最佳实践”,为什么。

这里只是提一下我的一些想法:

如果你有其他的approach/technique,那就做我的客人:)

提前致谢!

最佳做法是将所有与应用程序相关的 Kubernetes 文件包装在一个 helm chart 中,将迁移添加到 post-upgrade-hook 中,这将确保只有 运行 一个时间.

entrypoint.sh 的问题是,如果您的部署中有超过 1 个 pod,迁移将 运行 不止一次...

有关 helm 图表挂钩的更多信息:

https://helm.sh/docs/topics/charts_hooks/