首页 > 其他分享 >k8s如何进行版本回滚

k8s如何进行版本回滚

时间:2025-01-11 23:32:35浏览次数:1  
标签:kubectl 回滚 版本 deployment rollout k8s revision

在 Kubernetes (k8s) 中,版本回滚通常指的是将 Deployment、DaemonSet 或 StatefulSet 等资源回滚到之前的版本。Kubernetes 通过记录资源的修订历史(revision history)来支持回滚操作。以下是回滚操作的步骤:

1. 查看历史版本

首先,你需要查看资源的修订历史,确定要回滚到的版本。

kubectl rollout history deployment/<deployment-name>

这将列出该 Deployment 的所有修订版本。例如:

REVISION  CHANGE-CAUSE
1         <none>
2         kubectl set image deployment/<deployment-name> <container-name>=<new-image>
3         kubectl set image deployment/<deployment-name> <container-name>=<new-image>

2. 查看特定版本的详细信息

如果你想查看某个特定版本的详细信息,可以使用以下命令:

kubectl rollout history deployment/<deployment-name> --revision=<revision-number>

例如:

kubectl rollout history deployment/my-app --revision=2

3. 回滚到上一个版本

如果你想回滚到上一个版本,可以使用以下命令:

kubectl rollout undo deployment/<deployment-name>

4. 回滚到特定版本

如果你想回滚到某个特定的版本,可以使用以下命令:

kubectl rollout undo deployment/<deployment-name> --to-revision=<revision-number>

例如,回滚到版本 2:

kubectl rollout undo deployment/my-app --to-revision=2

5. 验证回滚

回滚完成后,你可以通过以下命令查看 Deployment 的状态,确保回滚成功:

kubectl rollout status deployment/<deployment-name>

你也可以通过以下命令查看 Pod 的状态:

kubectl get pods

6. 查看回滚后的资源状态

你可以通过以下命令查看 Deployment 的详细信息,确认回滚后的资源配置:

kubectl describe deployment/<deployment-name>

注意事项

  • 修订历史保留策略:Kubernetes 默认会保留 10 个修订历史。你可以通过 spec.revisionHistoryLimit 字段来调整这个值。
  • 回滚的影响:回滚操作会触发 Pod 的重新创建,因此可能会导致服务短暂中断。

通过以上步骤,你可以轻松地在 Kubernetes 中回滚到之前的版本。

标签:kubectl,回滚,版本,deployment,rollout,k8s,revision
From: https://www.cnblogs.com/ydswin/p/18639283

相关文章

  • 如何安全地升级PHP版本并避免潜在的风险?
     您好,PHP版本升级是提升网站性能和安全性的重要手段之一,但也伴随着一定的风险。为了确保升级过程顺利进行,并最大限度地降低对现有应用的影响,请遵循以下步骤:备份数据:在开始任何重大变更之前,务必先备份整个网站的数据,包括代码库、配置文件和数据库。这样即使出现问题也能迅速回......
  • PHP 7 和 PHP 8 的重要改进及性能对比:哪个版本运行速度更快?
    PHP7和PHP8是两个重要的PHP版本,它们在性能、新功能和错误处理方面都有显著的改进。以下是详细的比较:1.运行速度特性PHP7PHP8JIT编译器不支持引入了JIT(即时编译器),将PHP代码“翻译”成机器语言,直接由计算机执行,大幅提升了复杂计算的效率。性能提升-......
  • 解决VMWare虚拟机“无法获取vmci驱动程序版本”的问题
            打开虚拟机却提示“无法获得vmci驱动程序的版本:句柄无效”,导致虚拟机无法启动。    下面为大家详细介绍一下打开虚拟机提示“无法获得vmci驱动程序的版本:句柄无效”的解决方法。    找到虚拟机的存放路径,打开该路径,找到VMX结尾的文件  ......
  • k8s列出所有未配置探针的deployment
    在Kubernetes中,探针(Probes)用于检测容器的健康状态,主要包括以下三种:LivenessProbe(存活探针):检测容器是否正在运行。ReadinessProbe(就绪探针):检测容器是否准备好接收流量。StartupProbe(启动探针):检测容器是否已完成启动。如果Deployment未配置这些探针,可能会导致容器在异......
  • Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
    Ubuntu22.04LTS版本二进制部署K8S1.30+版本 目录一.K8S集群各主机环境准备1.环境准备2.所有节点安装常用的软件包3.k8s-master01节点免密钥登录集群并同步数据4.所有节点Linux基础环境优化5.所有节点安装ipvsadm以实现kube-proxy的负载均衡二.安装containerd组......
  • Anaconda和Pycharm超详细安装教程(2025版本)!pycharm配置anaconda运行环境!
    目录:一:【Anaconda】下载安装二:【Pycharm】配置Anaconda环境工欲善其事,必先利其器。安装包、激活码领取!一、anaconda下载安装Anaconda介绍Anaconda是一个基于Python的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,装上Anaconda,就相当于把Python和......
  • 【Python】pyenv多版本管理
    下载pyenvhttps://github.com/pyenv-win/pyenv-win解压后配置环境变量PYENV D:\00_develop\pyenv-win-3.1.1\pyenv-win%PYENV%\bin查看可安装版本列表pyenvinstall--list查看已安装版本列表pyenvversions安装指定版本pyenvinstall2.7.18卸载指定版本pyenvunin......
  • Hive4.0.1集群安装部署(Hadoop版本为3.3.6)(详细教程)
    前置环境​​​Linux环境Zookeeper集群安装(详细教程)-CSDN博客HadoopHA高可用集群3.3.6搭建(详细教程)-CSDN博客MySQL8.0.40离线安装(详细教程)_mysql8.0.40ftp-CSDN博客Hadoop3.3.6官网下载链接地址部署规划服务器节点MetaStoreHiveServer2bigdata01√bigd......
  • 【面试题】简单聊一下什么是云原生、什么是k8s、容器,容器与虚机相比优势
    云原生(CloudNative)定义:云原生是一种构建和运行应用程序的方法,旨在充分利用云计算的优势。它涵盖了一系列技术和理念,包括容器化、微服务架构、自动化部署与管理等。特点:云原生应用程序被设计为可弹性扩展、容错性强,能够快速响应变化。例如,一个电商平台的云原生应用可以根据......
  • ubuntu20.04部署k8s集群(基于docker)
    Ubuntu部署k8s集群(基于docker)本文总结一下部署k8s集群踩的坑以及部署流程。相关版本:docker-v27.4.1、cri-dockerd-v0.3.16、kubeadm-v1.28.15注意本人的机器是arm64的,x86已经amd64的可以参考目前仅完成至基础配置阶段(到集群初始化)k8s介绍Kubernetes是一个开源的容器编排......