【发布时间】:2019-07-26 19:05:26
【问题描述】:
我正在寻找一种强大且可靠的策略,以便在我的部署 yaml 文件的每个应用程序中应用我的数据库迁移一次,以便在我的 CI/CD 管道中使用。
最初的(没有双关语)计划是使用initContainers 来执行迁移。我遇到的困难与连接到 CloudSQL 数据库的方法有关——因为我使用gcr.io/cloudsql-docker/gce-proxy:1.11 sidecar 容器让我的应用程序容器连接,我不确定如何提供数据库访问initContainers 因为它们似乎只支持单个容器 pod。是否可以在initContainers 上将代理容器作为 sidecar 运行?
如果不可能,首选的方法是什么?应用程序容器的入口点是否应该在启动应用程序本身之前应用迁移?我担心的是,在部署的初始启动中,可能会产生多个 pod 尝试同时应用迁移的竞争条件?
【问题讨论】:
标签: django kubernetes database-migration