Kubernetes部署与重建策略和maxSurge?

Kubernetes部署与重建策略和maxSurge?,kubernetes,kubernetes-deployment,Kubernetes,Kubernetes Deployment,摘要 我是否可以为展开提供卷展策略重新创建,并为展开设置固定的最大喘振 更多详细信息 我正在开发一个在Kubernetes中运行的应用程序。后端将有多个副本,并通过数据库迁移运行EF Core。我知道有几种方法可以解决这个问题;这是我目前的想法 在新版本中,我希望停止所有副本。然后一次启动一个复制副本,对于每个复制副本,应该有一个运行迁移的init容器(如果需要) 使用以下两个配置值,这似乎是可能的: .spec.strategy.type==重新创建和 .spec.strategy.roll

摘要

我是否可以为展开提供卷展策略
重新创建
,并为展开设置固定的
最大喘振

更多详细信息

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

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

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

  • .spec.strategy.type==重新创建
  • .spec.strategy.rollingUpdate.maxsupge==1
这两个可以一起使用吗?如果没有,是否有任何方法可以通过
重新创建
策略控制控制器一次启动的副本数量

“不!你应该用完全不同的方式来做!”

如果你认为我从一个完全错误的角度来看这件事,请随意建议其他方法。

在这种情况下可能会对你有所帮助

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

我试试看!你是如何解决这个问题的?@LeonG我从部署变为状态集。我给了它
updateStrategy.type:OnDelete
。然后,作为发布管道的一部分,我运行一个命令,手动删除有状态集合中的所有pod。结果是Kubernetes(删除所有pod后)一次重新创建一个pod,直到满足副本计数。缺点是每个副本都运行迁移,而实际上只需要第一个副本。但这是可以接受的,我想。感谢更新,我最终选择了Kubernetes中由Helm hooks触发的作业,并使用额外的参数调用应用程序容器以运行迁移并退出。与init容器相比,作业只运行一次,而不是每个配置的副本运行一次。