我有一个正在运行的 Kubernetes 单主集群,其中有 14 个工作节点。
其中 4 个节点托管 Web 应用程序,10 个节点托管后端应用程序。
由于我们的架构设计方式,我有时只需要用最新镜像更新几个节点,而让其他节点在旧的部署镜像上再保留几个小时。(这是因为,在某些更新中,较新的 web 应用程序无法与旧的后端应用程序通信,所以我需要拆分基础架构,让一些节点在旧版本上保持活动状态,同时更新其他节点)。我花了很多时间在文档中寻找一个选项,但似乎没有一种使用 Kubernetes 轻松做到这一点的方法。
为了更新应用程序,我目前正在使用滚动更新,在 yaml 文件中配置:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
为了应用更新,我基本上运行两个命令:
kubectl apply -f webapp.yaml
kubectl apply -f backendapp.yaml
这一切都很顺利,但对于我上面描述的场景来说,这却是一个真正的问题。有人有什么建议吗?我可以遵循什么路径?
谢谢