6-k8s-控制器版本管理

news2024/12/26 0:21:17

文章目录

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

一、概念介绍

  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.html
                port: 80
              failureThreshold: 3
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 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.coloradmin.cn/o/1100784.html

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

相关文章

django无法导入第三方库

引子 有的人可能会很困惑,为什么自己在pip中安装了某个包,但是在django中死活无法导入。 在cmd中能够导入。 启动django,总是无法导入。 本文将会用一分钟解决你的困惑。 正文 那么本文以上述的第三方库dj_db_conn_pool为例,…

Android:展锐T760平台camera驱动调试

一、模块平台框架 平台介绍 基于UMS9620x平台集成Camera时,共有四类信号需要了解: 1、MIPI CSI信号:该平台有DPHY和CPHY两种MIPI信号。  DPHY配置:包括数对差分数据信号DP/N,和一对差分时钟信号CKP/N。  …

超全面的前端工程化配置指南

前端工程化配置指南 本文讲解如何构建一个工程化的前端库,并结合 Github Actions,自动发布到 Github 和 NPM 的整个详细流程。 示例 我们经常看到像 Vue、React 这些流行的开源项目有很多配置文件,他们是干什么用的?他们的 Commit…

Typora+PicGo+Github+CSDN梦幻联动

文章目录 一、快速搭建个人免费图床二、Typora图片实现自动上传三、Typora图片上传到CSDN出现错误 一、快速搭建个人免费图床 之前写过一篇 快速搭建个人免费图床 的文章,但是每次都要把图片拖到PicGo里面才能生成链接很麻烦,而且在本地用Typora写的文章…

C++ —— Tinyxml2在Vs2017下相关使用2(较文1更复杂,附源码)

相关链接 C —— Tinyxml2在Vs2017下相关使用1(附源码) tinyxml2简介 TinyXML2是一个简单,小巧,高效,CXML解析器,可以很容易地集成到其他程序中。TinyXML-2解析一个XML文档,并从中构建一个 可以…

强化学习章节脉络

强化学习是在求解最优策略

Python爬虫:制作一个属于自己的IP代理模块

前言 在Python爬虫过程中,为了避免被网站的反爬虫机制干扰,我们需要使用IP代理。所谓IP代理,就是通过修改网络请求中的IP地址,来达到隐藏真实IP地址的效果。本文将教你如何制作一个自己的IP代理模块,让你的爬虫更加稳…

网络库OKHttp(1)流程

序、慢慢来才是最快的方法。 背景 OkHttp 是一套处理 HTTP 网络请求的依赖库,由 Square 公司设计研发并开源,目前可以在 Java 和 Kotlin 中使用。对于 Android App 来说,OkHttp 现在几乎已经占据了所有的网络请求操作。 OKHttp源码官网 版…

8.14 PowerBI系列之DAX函数专题-分析客户购买行为

需求 实现 其实如果同时输出订单号的情况下,可以通过订单号出现的次数判断同一订单中同时购买与否的关系。 同时购买了A和B的客户 var v_cust_1 calculatetable(values(客户表[客户姓名]),filter(订单表,订单表[产品编号] "off-pa-10001970")) var v…

2016款奔驰C200车COMAND显示屏黑屏

作者:中鑫之宝鹤壁店 赵玉宾 赵玉宾,从事汽车维修工作9年,现任中鑫之宝汽车服务有限公司鹤壁分公司高级维修技师。 故障现象 一辆2016款奔驰C200车,搭载274发动机,累计行驶里程约为7万km。车主反映,车辆行…

亚马逊、eBay,速卖通,国际站买家账号支付异常问题解决方法

如何解决下单被砍、封号问题,建议采取以下措施: 买家账号下单,不单纯只是解决支付卡、IP问题就可以了,因为平台大数据风控点很多, 我们防关联具体要解决几个问题 一:要硬件参数的关联、安全码、地区码、…

【定时开关机】windows 10 如何设置定时开关机

一、需求 二、场景 三、思路 四、实现 A. 设置来电开机 B. 设置及定时关机 一、需求 需要一台 win 10 的电脑在工作时间内自动开关机(早 8:30 - 晚:6:05) 二、场景 开机:早 8:30 关机:晚 6:05 三、思路 【开机…

github 终端克隆操作,以及对 https/ssh 的理解

前言 最近瞎搞 github 的一些配置,结果搞得有一段时间克隆不了仓库。不过经历了这次风波后,我对 github 的一些原理有了更清楚的了解。所以想稍微写一小篇文章总结输出一下,也欢迎有疑问的读者与博主进一步交流,我的理解还是有限…

2023年中国钢卷尺产量、销量、市场均价及市场规模分析[图]

卷尺是日常生活中常用的工量具,是家庭必备工具之一。鲁班尺、风水尺、文公尺同样属于钢卷尺。钢卷尺是建筑和装修常用工具。钢卷尺可分为,自卷式卷尺、制动式卷尺、摇卷式卷尺。钢卷尺的其他名称有:钢皮卷尺、钢盒尺。 钢卷尺市场已经告别了以…

什么是库存管理?无需Excel,2023年这几款大热库存管理软件你get了吗?

什么是库存管理?库存管理是什么意思?都有哪些好用的库存管理系统?相信这些都是大家非常关注的话题,这篇就跟大家详细唠唠什么是库存管理,都用什么系统可以进行库存管理,并且为大家盘点2023年这几款大热库存…

和硕首次参加展OCP 峰会,将发布多项AI合作项目产品 | 百能云芯

电子代工大厂和硕联合科技宣布,将参与今年的 OCP 全球峰会 (OCP Global Summit),展示与英伟达 (NVIDIA) 合作成果,包含使用英伟达 GH200 Grace Hopper 超级芯片的 MGX AI 服务器,以及搭载 A100、L40 等服务器产品。 OCP 峰会于 10…

斯坦福JSKarel编程机器人使用介绍

斯坦福JSKarel编程机器人使用介绍 为了避免被编程语言固有的复杂性所困扰,有一个被称为卡雷尔(Karel)机器人的微型世界(microworld)的简化环境,可以让编程初学者从中学习理解编程的基本概念,而…

GaussDB for openGauss部署形态

前言 华为云数据库GaussDB是华为自主创新研发的分布式关系型数据库,具有高性能、高可用、高安全、低成本的特点,本文带你详细了解GaussDB数据库的部署形态。 1、GaussDB部署形态三种类型 GaussDB部署形态:单机 独立部署是将数据库组件部署…

10.17课上(七段显示器,递归异或与电路)

异或的递归与数电实现 用二选一选择器实现异或函数 在异或当中,如果有一项为0,就可以把那一项消掉;如果有一项为1,就是把剩下的所有项运算完的结果取反 (由此在算法当中可以采用递归解决) 当w1为0时&…

电脑蓝牙与ESP32蓝牙连接,让电脑发现ESP32

win11蓝牙默认只查看常见蓝牙设备。ESP32创建的蓝牙很有可能是看不到的。 再蓝牙设备发现一栏选择高级&#xff0c;才能查看所有蓝牙设备。 只要下面几行代码&#xff0c;就能让PC发现ESP32 #include <BLEDevice.h> // 引入相关库void setup() {BLEDevice::init("…