# 回滚 Deployment

返回 Deployment

某些情况下,您可能想要回滚(rollback)Deployment,例如:Deployment 不稳定(可能是不断地崩溃)。默认情况下,kubernetes 将保存 Deployment 的所有更新(rollout)历史。您可以设定 revision history limit 来确定保存的历史版本数量。

TIP

当且仅当 Deployment 的 .spec.template 字段被修改时(例如,您修改了容器的镜像),kubernetes 将为其创建一个 Deployment revision(版本)。Deployment 的其他更新(例如:修改 .spec.replicas 字段)将不会创建新的 Deployment reviesion(版本)。

本文提供了两种途径对 Deployment 执行回滚操作:

  • 使用 kubectl 回滚 Deployment
  • 使用 Kuboard 回滚 Deployment

# 模拟更新错误

  • 假设您更新 Deployment 的时候,犯了一个拼写错误,将 1.9.1 写成了 1.91,如下图所示:

    Kubernetes-教程

  • 该更新将卡住,新的副本集中的 Pod 将因为抓取不到镜像而不能启动,并陷入不断抓取镜像的死循环当中,如下图所示:

    Kubernetes-教程

# 检查 Deployment 的更新历史,并回滚

  • 上图中,显示了该 Deployment 有三个副本集,分别对应 Deployment 的版本 123。点击某一个副本集上的 回滚 按钮,Kuboard 将为您对比两个版本之间的差异,如下图所示:

    Kubernetes-教程

  • 点击 确认回滚 按钮,将回滚到选定的版本

返回 Deployment