当前位置: 首页 > news >正文

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进行的所有修改,最后只会触发一次“滚动更新”。

http://www.lryc.cn/news/501126.html

相关文章:

  • 使用ensp搭建OSPF+BGP和静态路由,底层PC使用dhcp,实现PC互通
  • TÜLU 3: Pushing Frontiers in Open Language Model Post-Training
  • 深入解读 MySQL EXPLAIN 与索引优化实践
  • Flume——进阶(agent特性+三种结构:串联,多路复用,聚合)
  • ragflow连ollama时出现的Bug
  • 基于centos7.7编译Redis6.0
  • uni-app项目无法在Android Studio模拟器上运行
  • 第一部分:Linux系统(基础及命令)
  • No module named ‘_ssl‘ No module named ‘_ctypes‘
  • 【QT】编写第一个 QT 程序 对象树 Qt 编程事项 内存泄露问题
  • VTK编程指南<六>:VTK可视化管线与渲染详解
  • 基于STM32的智能计步器
  • VB.NET 从入门到精通:开启编程进阶之路
  • 射频电路屏蔽简略
  • 基础算法——搜索与图论
  • redis优化编码之字符串
  • Python特定版本的安装/卸载/环境配置,Spyder安装教程
  • 全局搜索正则表达式(grep)
  • linux-12 关于shell(十一)ls
  • 编写指针函数使向右循环移动m个位置
  • xvisor调试记录
  • MongoDB-ObjectID 生成器
  • CUDA 计时功能,记录GPU程序/函数耗时,cudaEventCreate,cudaEventRecord,cudaEventElapsedTime
  • PDF 文件如何转为 CAD 图纸?PDF2CAD 使用教程
  • 【YashanDB知识库】php查询超过256长度字符串,数据被截断的问题
  • 暴雨AI加速计算服务器新品X8840上市
  • 在多个分布式机器间设置和使用 NFS(Network File System)共享目录的步骤如下:
  • 机器学习中的 Transformer 简介(第 1 部分)
  • D3实现站点路线图demo分享
  • 非文件形式的内存动态函数库调用接口