gpt4 book ai didi

Kubernetes 滚动部署和数据库迁移

转载 作者:行者123 更新时间:2023-12-03 08:22:50 27 4
gpt4 key购买 nike

使用数据库迁移处理滚动更新时,kubernetes 如何处理?

例如 - 我有一个从 app-v1 更新到 app-v2 的应用程序,其中包括更改现有表的迁移步骤。所以这意味着它需要我运行类似 db:migrate 的东西对于部署后的 rails 应用程序。

在 3 个副本集上进行滚动部署时。它将从一个 pod 部署到另一个。可能允许没有新版本应用程序的 POD 中断。

虽然这种情况不是经常发生的事情。很有可能会。我想了解此场景的最佳/推荐方法。

最佳答案

防止旧版本损坏的一种方法是将迁移拆分为多个步骤。

例如。您想重命名数据库中的列。直接重命名列会破坏旧版本的应用程序。这可以分为多个步骤:

  • 添加插入新列的数据库迁移
  • 更改应用程序,以便所有写入都转到新旧列
  • 运行将所有值从旧列复制到新列的任务
  • 更改它从新列
  • 读取的应用程序
  • 添加删除旧列的迁移

  • 不幸的是,这很麻烦,但可以防止出现维护页面的停机时间。

    关于Kubernetes 滚动部署和数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48877182/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com