首页 > 其他分享 >helm chart rollback实现过程是什么?

helm chart rollback实现过程是什么?

时间:2024-09-08 16:27:50浏览次数:10  
标签:回滚 rollback Kubernetes Release chart Helm 版本 helm

Helm Chart 的回滚(rollback)功能允许用户将应用程序恢复到先前的版本。这一过程涉及多个步骤和关键组件。以下是 Helm Chart 回滚的实现过程:

1. Release 版本管理

每次安装或升级 Chart 时,Helm 会为该 Release 创建一个新的版本,并将其状态保存在 Kubernetes 集群中。每个版本包含:

  • 元数据:包括版本号、更新时间等。
  • Kubernetes 资源定义:使用模板生成的所有 Kubernetes 资源。

2. 存储状态

Helm 将 Release 的状态信息存储在 Kubernetes 的 ConfigMap 或 Secret 中,具体取决于 Helm 的配置。这些对象包含了所有历史版本的信息,包括:

  • 当前版本
  • 以前的版本
  • 各版本的模板和配置

3. 执行回滚

当用户调用 helm rollback <release-name> [version] 命令时,Helm 会执行以下步骤:

a. 查找版本

  • Helm 会查找指定的 Release 名称及其历史版本。如果未指定版本,则默认为最新的已安装版本之前的一个版本。

b. 生成变更

  • 根据所选版本的模板和配置,Helm 会生成所需的 Kubernetes 资源定义。这些定义是基于所选版本的状态,而不是当前运行的版本。

c. 应用变更

  • Helm 使用 Kubernetes API 将生成的资源定义应用到集群中。这可能涉及到创建、更新或删除资源,以使集群的状态与所选版本一致。

4. 验证和确认

在执行回滚后,Helm 会监控 Kubernetes 中的资源状态,确保所有资源都成功更新。若更新失败,Helm 会记录错误信息,并允许用户查看详细日志。

5. 更新历史记录

  • 一旦回滚成功,Helm 会更新 Release 的状态信息,将当前版本设置为回滚后的版本,并保留历史记录以便将来参考。

6. 回滚日志

用户可以通过 helm history <release-name> 命令查看 Release 的历史记录,包括所有版本及其状态。这有助于确认回滚是否成功。

总结

Helm Chart 的回滚过程主要包括版本管理、状态存储、生成变更、应用变更、验证和更新历史记录等步骤。通过这一机制,用户可以方便地将应用程序恢复到稳定的先前版本,从而提高了应用的可靠性和可维护性。

标签:回滚,rollback,Kubernetes,Release,chart,Helm,版本,helm
From: https://www.cnblogs.com/love-DanDan/p/18403069

相关文章

  • Helm Deploy Online Rancher v2.9.1
    文章目录准备安装查看下载准备$kubectlgetnodeNAMESTATUSROLESAGEVERSIONkube-master01Readycontrol-plane19dv1.29.5kube-node01Ready<none>19dv1.29.5kube-node02Ready<none>19......
  • echarts 加一个圆环图带阴影
    这里面一共三个圆,最外层是一个半透明的varchartDomymr=document.getElementById('container-ymr');varmyChartymr=echarts.init(chartDomymr);varoptionymr;varoptionymr_data=[{value:332,name:'类型A',color:newecha......
  • echarts圆环图
    外环的渐变是内环的阴影varchartDom2=document.getElementById('container-workcode2');varmyChart2=echarts.init(chartDom2);varoption2;option2={tooltip:{trigger:'item'},legend:{......
  • 基于ECharts+JS+Flask 交互可视化呈现NBA近期比赛信息及球队排名及数据 | 源码分享
    目录文章|内容结语|源代码文章|内容和大家分享一个我在闲暇之余写的一个小项目。为了能够更加直观的了解近期的NBA比赛信息、球队排名以及数据,本项目采用了ECharts、JS、Flask等技术进行可视化呈现。通过这种方式,我们可以更直观的了解NBA比赛,为球迷提供更好的观赛体验......
  • Spring事务:异常不回滚、marked as rollback-only无法提交
    1、非代理对象调用事务方法时事务不生效类A实现了接口IA,类A的方法a()上使用@Transaction声明了事务,想要在调用该方法时,使a()的事务生效,就必须使用类A的Aop代理对象来调用。1)正常情况下,我们在类B中注入A的Bean对象,这个对象就是代理对象,使用该对象调用a()方法时,a()的事务是正常生......
  • vue3+vite+echarts集成中国地图
    前段时间我们的项目有使用到echarts集成中国地图的功能,实际上这个功能我进项目组的时候人家就已经完成了,我这边只是简单复刻了一遍,先看看效果图;上代码,走起<template><!--第一步:设置地图容器--><divid="map"style="width:100vw;height:100vh"></div></template>......
  • 科研绘图系列:R语言折线图(linechart plots)
    介绍在R语言中,折线图(LinePlot)是一种常用的数据可视化类型,用于展示数据随时间或有序类别变化的趋势。折线图通过连接数据点来形成一条或多条线,这些线条可以清晰地表示数据的变化方向、速度和模式。加载R包knitr::opts_chunk$set(warning=F,message=F)library(tid......
  • react中使用echarts关系图
     一,工作需求,展示几类数据关系,可缩放大小,可拖拽位置,在节点之间的连线上展示相关日期,每个节点展示本身信息,并且要求每个关系节点能点击。实现情况如图所示:二,实现过程中遇到的问题: 关系图完美呈现,但关系节点点击后,整个关系图会杂乱无章的浮动,导致不知道点击了哪个关系节点。 ......
  • 前端常用的echart获取地图json方法
    一、世界地图,不细分国家相关链接:geojson在线绘制 Json文件链接:world-min.json二、世界地图,包含各个国家 Json文件链接:world.json三、中国地图,省市区县(阿里DataV.GeoAtlas)相关链接:阿里DataV.GeoAtlas在线绘制  Json文件链接:china-min.json、china.json修复右手定......
  • 基于VUE2-dataV和echarts实现的可视化大屏,百分比适配PC端
    可视化平台中,数据分别通过仪表盘、环状图、柱形图、曲线图、滚动表格等多种形式展示数据变化。可视化平台大致分为左、中、右三部分,左侧由能耗总览、耗能占比、库存预警构成,中间由数据总览、销售计划完成率构成,右侧由销售统计、销售排名(TOP8)、生产统计构成。平台右上角动态......