【发布时间】:2016-08-31 17:25:49
【问题描述】:
在将我的应用程序的新版本部署到 Kubernetes 集群之前,我想运行这些数据库迁移。我希望这些迁移作为持续交付管道的一部分自动运行。迁移将被封装为容器镜像。实现这一目标的最佳机制是什么?
解决方案的要求:
- 能够确定迁移是否失败,这样我们就不会随后尝试将新版本的应用部署到集群中。
- 如果迁移失败,请放弃 - 不要继续重试。
- 能够访问日志以诊断失败的迁移。
我曾认为 Kubernetes 中的 Jobs 功能会让这一切变得简单,但似乎存在一些挑战:
- Kubernetes 将 repeatedly re-run containers whose processes terminate with a non-zero exit code,即使 Job 有
restartPolicy或never。 - 在等待排队作业的结果时阻塞似乎需要手动编写脚本
使用“裸豆荚”会是更好的方法吗?如果是这样,它会如何工作?
【问题讨论】:
-
你是怎么做到的?我自己也有同样的困境......
标签: docker kubernetes