# 使用 kubectl 实现应用滚动更新

# 更新应用

用户需求:需要应用始终正常运行,开发人员每天需要部署新的版本*(一个简单例子,大家在玩游戏时常常碰到这类公告:8 月 8 日凌晨:2 点-6 点服务升级,暂停所有服务...)*。在 k8s 中可以通过滚动更新Rolling updates )来完成。滚动更新通过 Deployments 实现应用实例在不中断、不停机情况下更新,新的 Pod 会逐步调度到可用的资源 Node 节点上。

在前面的模块中,我们对应用进行了伸缩,以运行多个实例。这是在不影响应用可用性的情况下执行更新的需求。更新时的 Pod 数量可以是数字或百分数(pod)来表示。在 k8s 更新中,支持升级 / 回滚(恢复)更新。

# 滚动更新概述

(1)

img

(2)

img

(3)

img

(4)

img

与应用伸缩相似,滚动更新是实现流量负载均衡方式。

滚动更新允许以下操作:

  • 将应用从一个环境升级到另一个环境(通过容器镜像更新)
  • 回滚到之前的版本
  • 持续集成和持续交付应用的零停机
Last Updated: 6/17/2023, 6:57:19 PM