📜  k8s 回滚到之前的部署——Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:32:27.279000             🧑  作者: Mango

K8s 回滚到之前的部署 - Shell/Bash

简介

Kubernetes 是一种开源容器管理平台,可以自动化地部署、扩展和管理容器化应用程序。在 K8s 中,部署的应用程序可以有多个版本,当出现问题时,需要回滚到之前的部署版本。本文将介绍在 K8s 中如何回滚到之前的部署版本。

环境配置

在使用 K8s 进行回滚之前,您需要做以下准备:

  • 一个 K8s 集群
  • 安装 kubectl 命令行工具
操作步骤
  1. 查看部署历史

    在 K8s 中,可以使用 kubectl rollout history 命令来查看部署历史。以下是一个示例:

    kubectl rollout history deployment/myapp
    

    输出结果如下:

    deployment.apps/myapp
    REVISION  CHANGE-CAUSE
    1         kubectl create -f myapp-v1.yaml --record=true
    2         kubectl apply -f myapp-v2.yaml --record=true
    3         kubectl apply -f myapp-v3.yaml --record=true
    

    在上面的示例中,kubectl rollout history 命令显示了 myapp 部署的历史版本和引起部署变化的原因。

  2. 回滚到之前的版本

    在 K8s 中,可以使用 kubectl rollout undo 命令来回滚到之前的版本。以下是一个示例:

    kubectl rollout undo deployment/myapp
    

    如果要回滚到特定版本,可以使用 --to-revision 参数。以下是一个示例:

    kubectl rollout undo deployment/myapp --to-revision=2
    

    在上面的示例中,使用 --to-revision=2 参数回滚到版本 2。

结论

在 K8s 中,可以通过 kubectl rollout history 命令查看部署历史,通过 kubectl rollout undo 命令回滚到之前的版本。这些命令可以帮助您快速解决应用程序部署的问题。