【K8s】专题四(1):Kubernetes 控制器简介

news2024/9/24 9:28:33

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

公众号二维码


目录

一、基本概念

二、工作原理

三、常见类型

四、相关特性


一、基本概念

Kubernetes 控制器是一种特殊类型的后台进程,负责运行集群中的各种资源对象。

Kubernetes 控制器是 Kubernetes 控制平面(Control Plane)的一部分,负责监视集群状态,并确保集群的实际状态与预期状态保持一致。如果检测到任何偏差,控制器会自动采取措施来纠正这些偏差,从而实现自我修复、自我调节的集群环境。

Kubernetes 控制器是实现集群管理自动化的关键,对于希望充分利用 Kubernetes 优势的开发者和运维人员来说,理解控制器的概念和工作原理是至关重要的,本文开始将对各类常见的 Kubernetes 控制器进行专题介绍。


二、工作原理

Kubernetes 控制器通过 API Server 与 Kubernetes 集群进行通信,它们会定期查询集群的状态,并将当前状态与期望状态进行比较。如果存在差异,控制器将执行以下步骤:

  • 发现差异:控制器检测到集群的实际状态与预期状态不一致
  • 制定计划:控制器计算需要执行哪些操作来纠正这些差异
  • 执行操作:控制器通过 API Server 对集群资源进行操作,如创建、更新或删除资源对象
  • 监控结果:控制器持续监控集群状态,直到实际状态与预期状态一致
  • 反馈循环:控制器不断重复这个过程,确保集群的稳定性和可靠性


三、常见类型

Kubernetes 控制器常见类型如下:

  • Node Controller:负责监控节点的状态,处理节点故障时的响应,并在必要时进行适当的清理
  • Namespace Controller:负责管理命名空间资源的生命周期,包括创建、删除和更新命名空间
  • ResourceQuota Controller:负责控制资源配额,确保指定资源对象不会超量占用资源
  • Deployment Controller:提供应用的声明式更新能力,确保指定数量的 Pod 副本始终运行并更新
  • StatefulSet Controller:管理有状态应用的部署,提供稳定的持久化存储和唯一网络标识符
  • DaemonSet Controller:确保所有(或某些)节点上运行指定数量的 Pod 副本,通常用于运行集群守护进程
  • ReplicaSet Controller:确保 Pod 的副本数量始终符合预期,是 Deployment 控制器的底层实现
  • Service Controller:负责维护后端 Pods 与 Service 之间的连接,并提供负载均衡
  • Endpoint Controller:负责生成和维护所有 Endpoints 对象


四、相关特性
  • 自动化:控制器自动化了许多通常需要手动干预的任务,减少了人为错误
  • 弹性:通过自我修复能力,控制器确保集群在面对故障时能够快速恢复
  • 可扩展性:控制器使得管理大规模集群变得更加容易,支持应用的无缝扩展
  • 声明式管理:用户只需定义期望状态,控制器负责实现这一状态,简化了管理流程

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

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

相关文章

Python考试练习题---day1

1.计算2的n次幂结果的后3位 获得用户输入的一个数字N,计算并输出2的N次幂结果的后3位。 【输出样例】-----因为2的10次方等于1024 输入10输出024 ninput() print(str(2**eval(n))[-3:]) 2.分割四位正整数 例1: 编写程序,提示用户从键盘…

[Redis]String类型

基本命令 set命令 将 string 类型的 value 设置到 key 中。如果 key 之前存在,则覆盖,无论原来的数据类型是什么。之前关于此 key 的 TTL 也全部失效。 set key value [expiration EX seconds|PX milliseconds] [NX|XX] 选项[EX|PX] EX seconds⸺使用…

vscode+docker搭建迷你开发环境。制作docker镜像,并通过vscode连接后进行开发

制作自己的docker镜像,将docker镜像作为服务器,接受vscode连接 目录 1. 制作开发环境镜像 1.1 选择基础镜像 1.2 编写dockerfile 1.3 构建镜像 2. 启动镜像 3. 添加用户 3.1 查看物理机上用户信息 3.2 登录到docker中 3.3 按照物理机的用户和组…

在visual studio 2022中编译yaml-cpp 32位静态库的严重踩坑问题解决过程

使用vcpkg 引入yaml-cpp把程序调试好了,但是分发的时候不想带着yaml-cpp的动态链接库文件,所以参考网上的文章想进行程序的静态编译,关于如何编译yaml-cpp的静态库网上有很多文章,而且去看yaml-cpp的github官方说明文件人家说你啥都不干就是默认编译为静态库了,好家伙,兴…

MySQL主从复制故障:“ Slave_SQL_Running:No“ 两种解决办法

问题 今天搭建MySQL的主从复制,查看从机状态时show slave status\G,发现这个参数为NO,导致主从复制失败。 Slave_SQL_Running: No 后面上网查阅了一下资料,大概就是因为在连接支持数据库后,也就是这个命令后&#xff…

Python 应用开发:Streamlit 布局篇(容器布局)

st.columns 以并列方式插入容器。 插入若干并排排列的多元素容器,并返回一个容器对象列表。 要在返回的容器中添加元素,可以使用 with 符号(首选)或直接调用返回对象的方法。请参见下面的示例。 列只能放置在其他列的内部&…

word如何创造新的格式标题

1 效果如下:(标题命名默认音序排序) 2 创建 选中自己喜欢的标题,修改字号字体,then 3 修改 注意要点如下: 后续:以上操作可能导致后续一级标题不能折叠二级标题,目录导航栏也不能…

QListWidget详解

QListWidget详解 QListWidget 是 PyQt5 中一个方便的部件,用于创建和管理列表。它继承自 QListView,并提供了一些高级功能,使得添加和管理列表项更加简单。以下是 QListWidget 的详解,包括基本用法、主要方法和属性以及如何与其他…

张驰咨询:六西格玛培训,IT界的“福尔摩斯”

六西格玛,这个曾以制造业为背景的管理理念,如今却在IT领域大放异彩。其背后的原因,不仅仅是因为六西格玛追求零缺陷、持续改进的核心价值观与IT行业对产品质量和用户体验的极致追求不谋而合,更是因为它提供了一种全新的思维方式和…

全球首个,985重大突破!

据长江日报消息,今年7月,华中科技大学团队研发的全球首台用于肌骨的新式B超将正式进入临床阶段,刚刚完成临床、用于乳腺的B超也即将上市。 据了解,华中科技大学生物医学工程学院丁明跃、尉迟明教授团队,自2010年以来一…

调试面对面翻译小程序

调试面对面翻译小程序 文章目录 调试面对面翻译小程序预览1.拉取项目2.在微信开发者工具打开使用 微信版本要求微信同声传译插件支持功能 此demo用于学习 预览 1.拉取项目 git clone https://github.com/Tencent/Face2FaceTranslator或者(加速镜像) git …

905. 按奇偶排序数组 - 力扣

1. 题目 给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。 返回满足此条件的 任一数组 作为答案。 2. 示例 3. 分析 开辟一个数组res用来保存操作过后的元素。第一次遍历数组只插入偶数,第二次遍历数组…

【Spring-01】BeanFactory和ApplicationContext

【Spring-01】BeanFactory和ApplicationContext 1. 容器接口1.1 什么是 BeanFactory1.2 BeanFactory 能做什么? 1. 容器接口 以 SpringBoot 的启动类为例: /*** BeanFactory 与 ApplicationContext的区别*/ SpringBootApplication public class Spring…

拉普拉斯IPO:新能源产业快速发展,为低碳转型注入强劲动力

近年来,我国新能源产业快速发展,为全球绿色低碳转型注入强劲动力。国际人士认为,中国新能源产业快速发展,得益于超大规模市场优势、完整的工业体系和丰富的人力资源,得益于企业对研发创新的巨大投入,我国市…

安装PyTorch详细步骤

💥注意事项: CPU版和GPU版选一个进行安装即可 如果有Nvidia显卡,则安装cuda版本的PyTorch,如没有nvidia显卡,则安装cpu版。 目前常见的深度学习框架有很多,最出名的是:PyTorch(faceb…

5位机械工程师如何共享一台服务器算力

在数字化浪潮的推动下,算力共享技术正逐渐成为机械工程师们提升工作效率、优化资源配置的重要工具。那么五位机械工程师如何共享一台服务器算力呢? 首先,我们需要了解算力共享的基本概念。算力共享是指通过特定的技术手段,将分散…

学习笔记之——2D Gaussian Splatting(2DGS)

3DGS在辐射场重建中取得了巨大的成就,实现高质量的新视图合成和快速渲染。最近新出了3DGS的升级版本,2DGS。写下本博文记录本人学习及测试2DGS的过程,本博文仅为本人学习记录用~ Project WebsiteGithub CodeOriginal paper 原理解读 由于3D…

虚拟机报错:VMX 进程已提前退出。VMware Workstation 无法连接到虚拟机。

解决报错:VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。 VMX 进程已提前退出。 解决方案:右键桌面图标进入VMware Workstation Pro的属性设置,兼容性–勾选“以管理员…

计算机找不到msvcr110.dll如何解决,总结5种简单靠谱的方法

在日常使用电脑的过程中,我们可能会遇到一些错误提示,其中之一就是“msvcr110.dll丢失”。这个错误通常会导致某些程序无法正常运行,为了解决这个问题,下面我将介绍5种有效的解决方法。 一,了解msvcr110.dll是什么 ms…

DISCO: Disentangled Control for Realistic Human Dance Generation

NTU&Microsoft CVPR24https://github.com/Wangt-CN/DisCo 问题引入 提高human motion transfer模型的泛化性;给出 f , g f,g f,g作为参考图片的前背景,然后给出单个pose p p t pp_t ppt​或者pose序列 p { p 1 , p 2 , ⋯ , p T } p \{p_1,p_2…