6-k8s-控制器版本管理

文章目录

    • 一、概念介绍
    • 二、配置介绍
    • 三、版本生成测试
    • 四、版本回滚测试

一、概念介绍

  1. 什么是控制器:在k8s中,控制器是一种用于控制和管理Pod的管理器,包括Deployment、ReplicaSet、StatefulSet等。

  2. 什么是控制器版本管理:是指对于同一个控制器,在进行更新和回滚操作时,可以记录和管理相应的版本信息。每个版本都会有一个固定的版本号,以及与此版本相关的配置和参数信息。这样,当需要回滚到某个版本时,可以很方便地找到相应的版本进行操作,而且也不会出现配置信息丢失的情况。

  3. 控制器版本如何生成:当执行kubectl apply或edit命令来更新一个控制器时,默认情况下会创建一个新的版本,而之前的版本会被保留。通过kubectl rollout history命令可以查看控制器的版本历史记录,并且可以基于版本号进行回滚操作。

  4. 控制器版本管理优势:控制器版本管理能够提高系统的可靠性和稳定性。在进行更新操作时,k8s会保存历史相关版本,新发布的版本有问题,可以迅速回滚到之前的版本,从而避免应用程序因为操作失误或者意外故障而出现问题。

二、配置介绍

  1. 控制器版本配置:spec.revisionHistoryLimit

    ps:当超过设置的数量,旧的版本将会被清除。如果设置为0,则无法进行回滚
    在这里插入图片描述

  2. statefulset控制器更新策略

    ps:利用滚动更新中的partition属性,可以实现简易的灰度发布的效果。例如我们有5个pod如果当前 partition设置为3那么此时滚动更新时,只会更新那些序号>=3的pod。利用该机制,我们可以通过控制partition的值,来决定只更新其中—部分pod,确认没有问题后再主键增大更新的pod数量,最终实现全部pod更新

    #默认更新策略:updateStrategy:rollingUpdate:partition: 0         type: RollingUpdate    #1.RollingUpdate 滚动更新:从下往上更新,倒序更新。2.OnDelete 手动更新,需要删除一个pod才会触发更新策略
    

三、版本生成测试

  1. 创建nginx控制器:kubectl create deployment nginx --image=nginx

  2. 修改配置,添加存活探针:kubectl edit deployment nginx

            livenessProbe:httpGet:path: /started.htmlport: 80failureThreshold: 3periodSeconds: 10successThreshold: 1timeoutSeconds: 5
    
  3. 每次修改deployment后,都会生成一个新的Replicaset控制器:kubectl get rs
    在这里插入图片描述

  4. 查看历史版本信息:kubectl rollout history deployment/nginx
    在这里插入图片描述

  5. 查看历史版本,某个版本的具体信息:kubectl rollout history deployment/控制器 --revision=版本号

    ps:可以看出版本1版本2的区别,就是添加了存活探针配置
    在这里插入图片描述

四、版本回滚测试

  1. 回退到版本1:kubectl rollout undo deployment/控制器 --to-revision=版本号
    在这里插入图片描述

  2. 查看版本滚动情况:kubectl rollout status deployment 控制器
    在这里插入图片描述

  3. 再次查看版本历史:kubectl rollout history deployment/nginx

    ps:可以看到版本1被移除了,新增了版本3。实际上版本3就是版本1,因为是回滚版本。
    在这里插入图片描述

  4. 由于有的时候我们需要修改很多次资源配置,如果我们只想产生一次资源历史版本,则可以再修改前先暂停记录版本,等待升级版本结束后,再重新启用

    1. 暂停记录版本:kubectl rollout pause deploy  控制器
    2. 重新启用版本:kubectl rollout  resume  deploy  控制器
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/108463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用Java包com.sun.net.httpserver下面的类实现一个简单的http服务器demo

java的com.sun.net.httpserver包下的类提供了一个高层级的http服务器API,可以用来构建内嵌的http服务器。支持http和https。这些API提供了一个RFC 2616 (HTTP 1.1)和RFC 2818 (HTTP over TLS)的部分实现。 https://docs.oracle.com/en/java/javase/19/docs/api/jdk.…

SpringBoot面试题6:Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring Boot 2.X 有什么新特性?与 1.X 有什么区别? Spring Boot是一种用于简化Spring应用程序开发的框架,它提供了自动配置、起步依赖和快速开…

opensl学习——base16编码解码、base64编码解码、ASCII码表、扩展ASCII码

文章目录 ASCII表概述base家族简单说明 Hex(十六进制)编码、Base32编码、Base64编码、base256编码base16编码与解码base64编码概述转换过程不足 3 字节处理方法例子一,不足3字节,只有一个字节例子二,不足3字节,只有两个字节 base64示例代码1代码分析 acl…

【数据结构】排序--选择排序(堆排序)

目录 一 堆排序 二 直接选择排序 一 堆排序 堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是 通过堆来进行选择数据。 需要注意的是排升序要建大堆,排降序建小堆。 直接选择排…

家居行业如何打破获客困局?2023重庆建博会现场,智哪儿AI营销第一课给出了答案

10月12日-14日,2023中国(重庆)建筑及装饰材料博览会(简称:2023中国重庆建博会)正在重庆国际博览中心如火如荼地进行。「智哪儿」携手2023中国重庆建博会主办方共同主办的《2023家居行业AI营销第一课&#x…

910数据结构(2013年真题)

算法设计题 问题1 已知元素数据类型为整数的顺序表SL(a1,a2,…,am,b1,b2,…,bn),试设计算法将SL中元素的两部分互换为(b1,b2,…,bn,a1,a2,…,am)。要求:不能使用额外的数组空间。 (1&#xff…

深入理解强化学习——智能体的类型:有模型强化学习智能体与免模型强化学习智能体

分类目录:《深入理解强化学习》总目录 根据智能体学习的事物不同,我们可以把智能体进行归类。基于价值的智能体(Value-based agent)显式地学习价值函数,隐式地学习它的策略。策略是其从学到的价值函数里面推算出来的。…

软件测试:遇到bug怎么分析,这篇文章值得一看

为什么定位问题如此重要? 可以明确一个问题是不是真的“bug” 很多时候,我们找到了问题的原因,结果发现这根本不是bug。原因明确,误报就会降低多个系统交互,可以明确指出是哪个系统的缺陷,防止“踢皮球”&…

万界星空科技/生产制造管理MES系统/开源MES/免费MES

一、 开源系统概述: 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、免费MES、免费智能制造系统、免费排产系统、免费排班系统、免费质检系统、免费生产计划系统、免费仓库管理系统、免费出入库管理系统、免费可视化数字大屏。 万界…

C语言:冒泡排序

C语言 基础开发----目录 冒泡排序 1. 原理 对一个有n个数据的数组进行遍历,依次对相邻两个数据进行比较大小,若大的数据在前面则交换位置(升序),完成一次遍历后数组中最大的数据到了数组的末尾位置,就象水…

【王道代码】【2.2顺序表】d1

关键字: 删除最小值最后位补齐;逆置;删除所有x;删除值为s到t区间的元素

FDTD Solutions笔记

FDTD Solutions笔记 目录使用流程实例 目录 使用流程 实例 材料条件 步骤 基底 2. 添加规则膜层 3. 添加仿真区 解释: 仿真区为(0,0),x方向为0.4,y方向是1 解释: 一般先用低精度进行计算 解释&#xff1a…

数据结构上机实验——栈和队列的实现、栈和队列的应用、进制转换、约瑟夫环问题

文章目录 栈和队列上机实验1.要求2.栈的实现(以顺序栈为例)3.队列的实现(以顺序队列为例)4.利用栈实现进制转换5.利用队列解决约瑟夫环问题6.全部源码Stack.hQueue.htest.cpp 栈和队列上机实验 1.要求 1.利用栈的基本操作实现将任…

ubuntu20.04下Kafka安装部署及基础使用

Ubuntu安装kafka基础使用 kafka 安装环境基础安装下载kafka解压文件修改配置文件启动kafka创建主题查看主题发送消息接收消息 工具测试kafka Assistant 工具连接测试基础连接连接成功查看topic查看消息查看分区查看消费组 Idea 工具测试基础信息配置信息当前消费组发送消息消费…

微信小程序里配置less

介绍 在微信小程序里,样式文件的后缀名都是wxss,这导致一个问题,就是页面样式过多的时候,要写很多的类名来包裹,加大了工作量,还很有可能会写错样式。这时可以配置一个less,会大大提高代码编辑…

《小狗钱钱》阅读笔记(三)

目录 还会有各种各样的人取笑你,但也会有更多的人认可你 有的时候,疯狂的念头比普通的小目标更容易达到。当你定下大目标的时候,就意味着你必须付出比别人多得多的努力。 可是请你告诉我,你为什么不能因为做了一件自己喜欢的事…

framework通信机制—LiveData使用方法及原理

LiveData是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 activity、fragment 或 service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应…

模型量化笔记--对称量化和非对称量化

1–量化映射 量化映射的通用公式为: r S ( q − Z ) r S(q - Z) rS(q−Z) 其中r表示量化前数据的真实值,S表示缩放因子,q表示量化后的数值,Z表示零点 2–非对称量化 非对称量化需要一个偏移量Z来完成零点的映射,即量化前的零…

pg嵌套子查询

1.概念 查询里面还有查询 进阶版:关联子查询 2.相关运算符补充 in/all/any all:表中的所有内容遍历一边,等价与max some/any:表中任何一个,等价与min

汉得欧洲x甄知科技 | 携手共拓全球化布局,助力出海中企数智化发展

HAND Europe 荣幸获得华为云颁发的 GrowCloud 合作伙伴奖项,进一步巩固了其在企业数字化领域的重要地位。于 2023 年 10 月 5 日,HAND Europe 参加了华为云荷比卢峰会,并因其在全球拓展方面的杰出贡献而荣获 GrowCloud 合作伙伴奖项的认可。 …