k8s, deployment
控制循环(control loop)
for {实际状态 := 获取集群中对象X的实际状态(Actual State)期望状态 := 获取集群中对象X的期望状态(Desired State)if 实际状态 == 期望状态{什么都不做} else {执行编排动作,将实际状态调整为期望状态}
}
“用一种对象管理另一种对象”的“艺术”。

Deployment看似简单,但实际上,它实现了Kubernetes项目中一个非常重要的功能:Pod的“水平扩展/收缩”(horizontal scaling out/in)。这个功能,是从PaaS时代开始,一个平台级项目就必须具备的编排能力。
Deployment就需要遵循一种叫作“滚动更新”(rolling update)的方式,来升级现有的容器。依赖的是Kubernetes项目中的一个非常重要的概念(API对象):ReplicaSet。
Deployment控制器实际操纵的,正是这样的ReplicaSet对象,而不是Pod对象。

查看滚动升级:


Deployment的控制器,实际上控制的是ReplicaSet的数目,以及每个ReplicaSet的属性。
而一个应用的版本,对应的正是一个ReplicaSet;这个版本应用的Pod数量,则由ReplicaSet通过它自己的控制器(ReplicaSet Controller)来保证。
kubectl rollout history命令,查看每次Deployment变更对应的版本
kubectl rollout history deployment/nginx-deployment --revision=2
kubectl rollout undo deployment/nginx-deployment --to-revision=2

我们对Deployment进行的每一次更新操作,都会生成一个新的ReplicaSet对象,是不是有些多余,甚至浪费资源呢?
kubectl rollout pause deployment/nginx-deployment
Deployment正处于“暂停”状态,所以我们对Deployment的所有修改,都不会触发新的“滚动更新”,也不会创建新的ReplicaSet。
kubectl rollout resume deployment/nginx-deployment
kubectl rollout resume指令执行之前,在kubectl rollout pause指令之后的这段时间里,我们对Deployment进行的所有修改,最后只会触发一次“滚动更新”。
相关文章:
k8s, deployment
控制循环(control loop) for {实际状态 : 获取集群中对象X的实际状态(Actual State)期望状态 : 获取集群中对象X的期望状态(Desired State)if 实际状态 期望状态{什么都不做} else {执行编排动作…...
使用ensp搭建OSPF+BGP和静态路由,底层PC使用dhcp,实现PC互通
1.4种方式,实现PC2可以互通底层的所有设备 OSPF:OSPF是一种用于互联网协议网络的链路状态路由协议 BGP:是一种用于互联网上进行路由和可达性信息传递的外部网关协议(EGP) 静态路由: 静态路由是一种路由方…...
TÜLU 3: Pushing Frontiers in Open Language Model Post-Training
基本信息 📝 原文链接: https://arxiv.org/abs/2411.15124👥 作者: Nathan Lambert, Jacob Morrison, Valentina Pyatkin, Shengyi Huang, Hamish Ivison, Faeze Brahman, Lester James V. Miranda, Alisa Liu, Nouha Dziri, Shane Lyu, Yuling Gu, Sau…...
深入解读 MySQL EXPLAIN 与索引优化实践
MySQL 是当今最流行的关系型数据库之一,为了提升查询性能,合理使用 EXPLAIN 工具和优化索引显得尤为重要。本文将结合实际示例,探讨如何利用 EXPLAIN 分析查询执行计划,并分享索引优化的最佳实践。 一、EXPLAIN 工具简介 EXPLAIN …...
Flume——进阶(agent特性+三种结构:串联,多路复用,聚合)
目录 agent特性ChannelSelector描述: SinkProcessor描述: 串联架构结构图解定义与描述配置示例Flume1(监测端node1)Flume3(接收端node3)启动方式 复制和多路复用结构图解定义描述配置示例node1node2node3启…...
ragflow连ollama时出现的Bug
ragflow和ollama连接后,已经添加了两个模型但是ragflow仍然一直warn:Please add both embedding model and LLM in Settings > Model providers firstly.这里可能是我一开始拉取的镜像容器太小,容不下当前添加的模型,导…...
基于centos7.7编译Redis6.0
背景: OS:CentOs 7.7 Redis: 6.0.6 编译构建报错如下: In file included from server.c:30:0: server.h:1044:5: error: expected specifier-qualifier-list before ‘_Atomic’_Atomic unsigned int lruclock; /* Clock for LRU eviction …...
uni-app项目无法在Android Studio模拟器上运行
目录 1 问题描述2 尝试解决3 引发原因4 解决方法4.1 换用 MuMu 模拟器 5 结语 1 问题描述 在使用 uni-app 开发 Pad 端 App 时,初始化项目后打算先运行一下确保初始化正常。打开 Android Studio 模拟器后,然后在 HbuilderX 中选择使用 App 标准基座 运…...
第一部分:Linux系统(基础及命令)
Linux操作系统的实操性非常强,纯操作,不适用于日常的办公使用 1.初始Linux 1.1 操作系统概述 1.1.1 了解OS的作用 OS:是计算机软件的一种,主要负责:作为用户和计算机硬件之间的桥梁,调度和管理计算机硬…...
No module named ‘_ssl‘ No module named ‘_ctypes‘
如果你使用的是基于 yum 的 Linux 发行版(例如 CentOS、RHEL、Fedora),安装 libc6-dev 的方式稍有不同。在这些系统中,通常对应的包是 glibc-devel。 No module named ‘_ctypes’ 使用 yum 安装 glibc-devel 更新系统的软件包列…...
【QT】编写第一个 QT 程序 对象树 Qt 编程事项 内存泄露问题
目录 1. 编写第一个 QT 程序 1.1 使用 标签 实现 🐇 图形化界面实现 🐇 纯代码形式实现 1.2 使用 按钮 实现 🐋 图形化界面实现 🐋 纯代码形式实现 1.3 使用 编辑框 实现 🥝 图形化界面实现 ᾕ…...
VTK编程指南<六>:VTK可视化管线与渲染详解
1、VTK渲染引擎 回顾前几章节的RenderCylinder示例 可以找到以下的类: vtkProp; ytkAbstractMapper; vtkProperty; vtkCamera; vtkLight; vtkRenderer; vtkRenderWindow; vtkRenderWindowInteractor vtkTransform; vtkLookupTable;可以发现这些类都是与数据显示或渲染相关的。…...
基于STM32的智能计步器
引言 随着健康意识的提高,计步器逐渐成为人们日常生活中重要的健康管理工具。本文将指导你如何使用STM32微控制器制作一个智能计步器。该计步器通过加速度传感器检测步伐,并使用OLED显示屏显示步数。通过这个项目,你将学习到STM32开发的基本流…...
VB.NET 从入门到精通:开启编程进阶之路
摘要: 本文全面深入地阐述了 VB.NET 的学习路径,从基础的环境搭建与语法入门开始,逐步深入到面向对象编程、图形用户界面设计、数据访问、异常处理、多线程编程以及与其他技术的集成等核心领域,通过详细的代码示例与理论讲解&…...
射频电路屏蔽简略
电磁波的干扰是每个射频设备的自带属性,不管是内部还是外部,怎样去更好的抑制掉干扰,关系到射频设备的工作状态,而能够找到产生干扰的来源就是重中之重,电磁波的干扰与其产生的源密不可分,而源就离不开所需…...
基础算法——搜索与图论
搜索与图论 图的存储方式2、最短路问题2.1、Dijkstra算法(朴素版)2.2、Dijkstra算法(堆优化版)2.3、Bellman-Ford算法2.4、SPFA求最短路2.5、SPFA判负环2.6、Floyd算法 图的存储方式 2、最短路问题 最短路问题可以分为单源最短路…...
redis优化编码之字符串
redis 优化编码之字符串 ### 字符串优化 字符串对象是redis内部最常用的数据类型。 所有的键是字符串对象值对象除了整数之外都是使用字符串存储lpush cache:type "redis" "tair" "memcache" "leveldb"创建如上一个链表 需要创建一…...
Python特定版本的安装/卸载/环境配置,Spyder安装教程
目录 1.Python安装 1.1 Python下载 1.2 下载特定版本 1.3 安装Python 1.4 修改安装 1.5 环境配置 1.6 卸载Python 2.Spyder安装使用 2.1 Spyder下载 2.1.1 官网下载Spyder 2.2.2 Github下载Spyder 2.2 安装 参考资料:网盘 1.Python安装 1.1 Python下载…...
全局搜索正则表达式(grep)
一.grep简介 grep 全程Globally search a Regular Expression and Print,是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep和egrep 二.grep的工作…...
linux-12 关于shell(十一)ls
登录系统输入用户名和密码以后,会显示给我们一个命令提示符,就意味着我们在这里就可以输入命令了,给一个命令,这个命令必须要可执行,那问题是我的命令怎么去使用,命令格式有印象吗?在命令提示符…...
all-MiniLM-L6-v2实战教程:用Python快速实现文本聚类分析
all-MiniLM-L6-v2实战教程:用Python快速实现文本聚类分析 1. 引言:为什么选择all-MiniLM-L6-v2 文本聚类是自然语言处理中的基础任务,它能帮助我们发现海量文本中的隐藏模式。传统方法如TF-IDF或词袋模型往往难以捕捉语义信息,而…...
AI写教材必备!高效工具生成低查重教材,节省大量时间
AI教材生成工具评测与介绍 在编写教材前,选择合适的工具简直是一场“挣扎”的过程!如果用普通的办公软件,功能就显得太简单,框架和格式都需要自己一一调整;若选用专门的AI教材写作工具,操作却显得复杂&…...
【Zynq 进阶一】深度解析 PetaLinux 存储布局:NAND Flash 分区与 DDR 内存分配全攻略
【Zynq 进阶】深度解析 PetaLinux 存储布局:NAND Flash 分区与 DDR 内存分配全攻略 文章目录【Zynq 进阶】深度解析 PetaLinux 存储布局:NAND Flash 分区与 DDR 内存分配全攻略📝 前言📦 第一部分:大局观——NAND 与 D…...
Spring Boot 3.2项目实战:5分钟搞定Tomcat虚拟线程配置,让你的接口吞吐量翻倍
Spring Boot 3.2虚拟线程实战:Tomcat配置优化与性能飞跃指南 当你的电商大促接口突然面临每秒上万请求,或者文件上传服务在高并发下响应缓慢时,传统线程池往往成为性能瓶颈。Spring Boot 3.2与Java 21的虚拟线程组合,正在重新定义…...
若依框架单点登录!!!
一、不分离版在application.yml设置maxSession为1即可。修改shiro的配置shiro:session:# 同一个用户最大会话数,比如2的意思是同一个账号允许最多同时两个人登录(默认-1不限制)maxSession: 1# 踢出之前登录的/之后登录的用户,默认…...
OpenClaw多用户方案:QwQ-32B共享环境下的权限隔离
OpenClaw多用户方案:QwQ-32B共享环境下的权限隔离 1. 为什么需要多用户方案? 去年我在家里搭建了一个OpenClaw自动化环境,原本只是个人使用。直到某天家人看到我用语音指令让AI自动整理照片、生成周报后,纷纷要求"共享&quo…...
YOLOv8工业缺陷检测推理延迟骤降63%:基于TensorRT量化+ONNX Runtime定制化内核的完整链路
第一章:YOLOv8工业缺陷检测推理延迟骤降63%:基于TensorRT量化ONNX Runtime定制化内核的完整链路在高吞吐产线场景下,YOLOv8原生PyTorch模型在Jetson AGX Orin上单帧推理延迟达84.2ms(输入尺寸640640),严重制…...
如何用SVGnest提升材料利用率:从问题到解决方案的完整指南
如何用SVGnest提升材料利用率:从问题到解决方案的完整指南 【免费下载链接】SVGnest An open source vector nesting tool 项目地址: https://gitcode.com/gh_mirrors/sv/SVGnest 制造业材料浪费的隐形成本:您的企业是否正在损失30%利润ÿ…...
如何在Mac上免费本地运行Stable Diffusion:Mochi Diffusion终极指南
如何在Mac上免费本地运行Stable Diffusion:Mochi Diffusion终极指南 【免费下载链接】MochiDiffusion Run Stable Diffusion on Mac natively 项目地址: https://gitcode.com/gh_mirrors/mo/MochiDiffusion 还在寻找能在Mac上完美运行Stable Diffusion的免费…...
深入剖析大数据领域数据分片的优缺点
深入剖析大数据领域数据分片的优缺点 关键词:数据分片、大数据架构、分片策略、水平扩展、分布式系统 摘要:在大数据时代,单台服务器已无法承载海量数据的存储与计算需求,数据分片(Sharding)作为分布式系统…...
