【K8s】专题六(5):Kubernetes 稳定性之重启策略、滚动更新策略

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、重启策略

1、基本介绍

2、资源清单(示例)

二、滚动更新策略

1、基本介绍

2、资源清单(示例)

3、主要优点


一、重启策略
1、基本介绍

重启策略(Restart Policy)定义了当 Pod 中的容器失败时,Kubernetes 如何响应。

重启策略有 3 种选项:

  • Always:默认策略,无论容器以什么状态退出,Kubernetes 都会尝试重启容器
  • OnFailure:只有当容器以非零状态退出时,Kubernetes 才会重启容器。这可以防止在容器正常退出时不必要的重启
  • Never:无论容器以什么状态退出,Kubernetes 都不会重启容器。这通常用于批处理作业,其中失败的作业不需要重新启动

2、资源清单(示例)
apiVersion: apps/v1
kind: Deployment
metadata:
  nanme: demo-deployment
spec:
...
    spec:
      containers:
      - name: demo-container
...
      restartPolicy: Always
...


二、滚动更新策略
1、基本介绍

Deployment 对象的镜像、env 环境变量等发生变更后,Deployment 控制器会对 Pod 进行更新,有 2 种更新策略可选:

  • Recreate:重新创建,先杀死运行中的 Pod 再创建新的 Pod
  • RollingUpdate:滚动更新,通过 ReplicaSet 控制器对旧 Pod 进行有序替换

滚动更新策略(Rolling Update Strategy)可以通过逐步替换旧版本的 Pod 的方式,来实现应用程序的平滑过渡,确保应用程序的可用性和提供服务的稳定性。

2、资源清单(示例)
apiVersion: apps/v1
kind: Deployment
metadata:
  nanme: demo-deployment
spec:
...
  minReadySeconds: 5                  # 等待设置的时间后开始更新
  revisionHistoryLimit: 10            # 最多保存多少个历史版本
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
...
    spec:
      containers:
      - name: demo-container
...


🔔 maxSurge:在更新过程中可以超出期望数量的最大 Pod 数量,可以是绝对值或百分比,默认为 25%
🔔 maxUnavailable:在更新过程中可以处于不可用状态的最大 Pod 数量,可以是绝对值或百分比,默认为 25%

3、主要优点
  • 减少更新对用户的影响,实现无缝更新和服务的持续可用
  • 允许逐步验证新版本的稳定性
  • 提供回滚机制(Rollout Undo),以便在更新失败时恢复到旧版本

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度网络现代实践 - 深度前馈网络之反向传播和其他的微分算法篇-续

序言 反向传播(Backpropagation,简称backprop)是神经网络训练过程中最关键的技术之一,尤其在多层神经网络中广泛应用。它是一种与优化方法(如梯度下降法)结合使用的算法,用于计算网络中各参数的…

Zabbix自动发现

目录 自动发现的主要特点包括: 如何配置自动发现: 实验步骤 1. 创建自动发现规则 2. 给自动发现规则创建动作 3. 给新主机安装agent 在 Zabbix 中,自动发现(Auto Discovery)是一种强大的功能,用于自…

Vue CoreVideoPlayer 一款基于 vue.js 的轻量级、优秀的视频播放器组件

大家好,我是程序视点的小二哥!今天小二哥给大家推荐一款非常优秀的视频播放组件 效果欣赏 介绍 Vue-CoreVideoPlayer 一款基于vue.js的轻量级的视频播放器插件。 采用Adobd XD进行UI设计,支持移动端适配,不仅功能强大,颜值也是超一流! Vue-…

读书记录《SQL从小白到大牛》01

读书记录《SQL从小白到大牛》01 接地气的书名,内容应当值得一读。 第一篇 SQL基础 01 一些基础概念 SQL是结构化查询语言(Structured Query Language),是一套用来输入、更改和查看关系数据库内容的命令。数据库发展经历三个阶…

ROS-机械臂-基础概念

课纲 话题通信模型(多对多) RPC RPC,全称为 Remote Procedure Call,即远程过程调用,是一种通信协议,允许一个计算机程序在另一个网络上的计算机上执行一组函数或过程,而不需程序员显式编码网络…

SketchUp如何阵列?

sketchup如何阵列?请看下面方法。 方法 打开SketchUp。 以默认人物为例。 按M,选中人物,再按住Ctrl移动鼠标(不要点击鼠标键) 按键盘数字键输入距离,按回车,不要动鼠标。 按*10设置阵列数。 按…

前端开发攻略---webSocket的简单实现与使用

1、演示 2、实现流程 安装依赖 npm i ws 服务端代码 const WebSocket require(ws)// 创建一个 WebSocket 服务器,监听端口 3000 const wss new WebSocket.Server({ port: 3000 })// 监听连接事件 wss.on(connection, function connection(ws) {console.log(客户端…

MySQL篇四:表的约束

文章目录 前言1. 空属性2. 默认值3. 列描述4. zerofill5. 主键6. 自增长7. 唯一键8. 外键 前言 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。…

香橙派编译linux内核支持ebpf和虚拟WIFI

前言 上一篇文章香橙派5plus上跑云手机方案一 redroid(带硬件加速)中说了怎么运行redroid,这篇补一下怎么修改参数编译内核。 补充 上篇文章有个内容需要补充一下:更新完内核需要用下面的命令防止内核被apt更新,不然后面使用apt update又回…

MySQL 8.0新特性INTERSECT和EXCEPT用于集合运算

MySQL8.0.31 新版本的推出,MySQL增加了对SQL标准INTERSECT和EXCEPT运算符的支持。 1、INTERSECT INTERSECT输出多个SELECT语句查询结果中的共有行。INTERSECT运算符是ANSI/ISO SQL标准的一部分(ISO/IEC 9075-2:2016(E))。 我们运行两个查询,第一个会列…

HTML5新增的input元素类型:number、range、email、color、date等

HTML5 大幅度地增加与改良了 input 元素的种类,可以简单地使用这些元素来实现 HTML5 之前需要使用 JavaScript 才能实现的许多功能。 到目前为止,大部分浏览器都支持 input 元素的种类。对于不支持新增 input 元素的浏览器,input 元素被统一…

位置编码的具体计算方式(公式解释)

公式 (10.6.2) 描述了位置编码的具体计算方式,这种位置编码基于正弦和余弦函数,用于在自注意力机制中引入位置信息。下面我们详细解释公式和代码。 公式 (10.6.2) 公式 (10.6.2) 的目的是为输入序列中的每个词元添加一个位置编码,以保留序列…

厦门大学-中央空调分户计费预付费管理系统案例

厦门大学-中央空调分户计费预付费管理系统案例 实现中央空调节能与舒适的双重目标随着社会的发展和人们生活水平的提高,空调已成为现代建筑中不可或缺的设备。传统的集中计费方式已无法满足多样化的用户需求和节能减排的市场趋势。中央空调如何公平、公正、合理的收…

笔记本电脑投屏怎么操作?一看就会!

日常工作或办公都会用到笔记本电脑,但很多新手用户不知道笔记本电脑的投屏要怎么操作?接下来系统之家给大家介绍三种简单的操作方法,帮助大家轻松完成笔记本电脑投屏投屏操作,从而满足自己的办公或学习使用需求。 方法一 1. 直接W…

解决Ubuntu虚拟机卡死的一种可能情况:文件系统可用率不足

Ubuntu虚拟机卡死 界面挂在/dev/sda3上开不了机了,情况可能的很多,由于我这里是虚拟机,给内存才分配了20G,我一猜就是硬存炸了,果不其然。。。 进入recovery mode 我们进入recovery mode先,在VM虚拟机开…

IOC、DI<4> Unity

IOC():控制反转,把程序上层对下层的依赖,转移到第三方的容器来装配 是程序设计的目标,实现方式包含了依赖注入和依赖查找(.net里面只有依赖注入) DI:依赖注入&#xff0c…

【Mathematical14.0最新进阶教学】-1-基础计算拓展

我在真正使用Mathematica后,才发觉这个软件的神奇,但是又有对于不知道如何使用这个神奇软件,因此我将我学习《The Student’s Introduction to Mathematica and the Wolfram Language (Bruce F. Torrence, Eve A. Torrence) 》的一些心得进行…

【Go】常见的变量与常量

变量 常见的变量声明方式 一、声明单个变量的多种方式 1.声明一个变量初始化一个值 //声明变量 默认值是0,var a int//初始化一个值a 1fmt.Println(a) 2. 在初始化的时候省去数据类型,通过值自动匹配当前的变量的数据类型 var b 2fmt.Println(&quo…

分享四种CAD图纸加密方法,防止盗图!

保护CAD图纸不受盗用和非法传播是设计行业中的一个重要课题,以下四种CAD图纸加密方法可以帮助防止图纸被未授权使用。 1.使用专业的加密软件(最安全的方法) 专门的加密软件,如安企神软件,可以提供更高级别的保护。它使…

【Java伴学笔记】Day-01 命令行|环境|编译解释运行|Java的相关分支|Java的特性|字面量

一、关于命令行 图形化界面的缺点 需要加载图片等一系列资源 效率较低 命令行 CMDMicrosoft Learn-CMDWindows CMD常用命令大全(值得收藏) 二、环境 什么是JDK JDK是Java Development Kit的缩写,意为Java开发工具包。它是一个用于开发Java应用…