目标
- 使用 kubectl 执行滚动更新
更新应用程序
用户期望应用程序始终可用,并且希望开发人员每天部署新版本。在 Kubernetes 上这通过滚动更新(Rolling updates)达成。 Rolling updates 允许通过使用新的 Pods 实例逐个更新来实现零停机的部署更新。新的 Pods 会被调度到可用资源的 Node 节点上。
在上一个模块中,我们将应用程序扩展为运行多个实例。这也是执行更新但不影响应用可用性所需的条件。默认情况下,更新期间最大数量的不可用 Pod 以及最大数量的新 Pod 是一。 这两个选项可以配置为数字或百分比(Pods)。 在 Kubernetes 中,更新已版本化,任何部署更新都可以恢复到以前的 (稳定) 版本。
摘要:
- 更新应用程序
滚动更新允许通过使用新的 Pods 实例逐个更新来实现零停机的部署更新。
滚动更新概述
与应用程序伸缩类似,如果 Deployment 外部可见,则服务将在更新期间将流量负载均衡到可用的 Pod。可用的 Pod 指的是应用程序用户可用的实例。
滚动更新允许以下操作:
- 将应用程序从一个环境升级到另一个环境 (通过容器镜像更新)
- 回滚到以前的版本
- 持续集成和持续交付,实现应用程序零停机
如果部署外部可见,则服务将在更新期间将流量负载均衡到可用的 Pod。
在下面的互动教程中,我们将把应用程序更新到一个新版本,并执行回滚。