有许多升级策略,例如:
滚动升级
蓝绿色
A/B 测试
金丝雀
它们适用于无共享架构的应用程序。并且一些策略也适用于分布式集群应用程序,例如 ElasticSearch 的滚动升级
我只需要确认这些策略中的任何一个都不适用于有状态且不支持数据层集群的应用程序。(例如一次只有一个应用程序实例可以写入外部数据库[和持久卷])?
所以我想知道升级的唯一方法是停止并删除当前部署并部署一个新的部署,有一些停机时间?
有许多升级策略,例如:
滚动升级
蓝绿色
A/B 测试
金丝雀
它们适用于无共享架构的应用程序。并且一些策略也适用于分布式集群应用程序,例如 ElasticSearch 的滚动升级
我只需要确认这些策略中的任何一个都不适用于有状态且不支持数据层集群的应用程序。(例如一次只有一个应用程序实例可以写入外部数据库[和持久卷])?
所以我想知道升级的唯一方法是停止并删除当前部署并部署一个新的部署,有一些停机时间?
在 Kubernetes 1.7 及更高版本中,StatefulSet 控制器支持自动更新。有 2 个有效方法,RollingUpdate 和 OnDelete。
有关更多信息,请查看此官方文档