使用 Recreate 策略和 maxSurge 部署 Kubernetes?

Kubernetes deployment with Recreate strategy and maxSurge?

总结

我可以为部署提供部署策略 Recreate 并为部署设置固定的 maxSurge 吗?

更多详情

我正在开发一个在 Kubernetes 中运行的应用程序。后端将有多个副本,并运行带有数据库迁移的 EF Core。我知道有几种方法可以解决这个问题;这是我目前的想法。

在新版本中,我希望停止所有副本。然后一次应该启动一个副本,并且对于每个副本应该有一个运行迁移的初始化容器(如果需要)。

这似乎是可行的,使用以下两个配置值:

这两个可以一起用吗?如果没有,有什么方法可以控制控制器一次启动多少个副本Recreate策略?

"No! You should do this in a completely different way!"

如果您认为我从完全错误的角度来看这个问题,请随时提出其他方法。

Statefulset 在这种情况下可能会对您有所帮助。

StatefulSets are valuable for applications that require one or more of the following.
  • 稳定、唯一的网络标识符。
  • 稳定、持久的存储。
  • 有序、优雅的部署和扩展。
  • 有序、自动滚动更新。