Kubernetes 元信息与控制器模型

news2025/3/15 8:03:45

一、资源元信息:

Kubernetes 的资源对象组成:主要包括了 Spec、Status 和元数据。其中 Spec 部分用来描述期望的状态,Status 部分用来描述观测到的状态。

元数据主要包括了:Labels 用来识别资源的标签;Annotations 用来描述资源的注解;OwnerReference 用来描述多个资源之间相互关系 。

1、Labels

资源标签是一种具有标识型的 Key:Value 元数据。

2Selector

通过标签筛选 Pod。

相等型 Selector:通过 Tie=front,Env=dev 的 Selector,可以筛选出所有 Tie=front,而且 Env=dev 的 Pod。

集合型 Selector:tie notin(front,back),筛选所有 tie 不是 front 且不是 back 的 Pod。

3Annotations

annotations 一般是系统或者工具用来存储资源的非标示性信息,可以用来扩展资源的 spec/status 的描述。

4、OwnerReference

OwnerReference 用于建立对象之间的所有权关系。它允许一个Kubernetes对象(例如Pod、ReplicaSet或Deployment)将自己标记为另一个对象(例如Job或CronJob)的所有者。

二、控制器模式

1、控制循环

控制型模式最核心的就是控制循环的概念。在控制循环中包括了控制器,被控制的系统,以及能够观测系统的传感器,三个逻辑组件。

传感器(Sensor):传感器负责观测被控制系统的当前状态。它们收集关于系统状态的信息,并将其反馈给控制器。

控制器(Controller):控制器负责比较被控制系统的期望状态(由资源的spec定义)和实际状态(由资源的status表示),并计算出二者之间的差异(diff)。控制器根据这些差异决定执行何种操作来使系统状态向期望状态靠拢。

被控制的系统(System):被控制的系统是控制器所管理的实际资源或组件集合。这些资源的状态由控制器根据传感器提供的信息进行调整,使其符合用户定义的期望状态。

外界通过修改资源 spec 来控制资源,控制器比较资源 spec 和 status,从而计算一个 diff,diff 最后会用来决定对系统进行什么样的控制操作,控制操作会使得系统产生新的输出,并被传感器以资源 status 形式上报,控制器的各个组件将都会是独立自主地运行,不断使系统向 spec 表示终态趋近。

2Sensor

① Reflector:是一个用于从 Kubernetes API 服务器获取资源对象列表的组件。观察 Kubernetes 集群中的资源状态,向集群发送请求,获取资源的最新状态。

② Informer:Informer 是用于监听和跟踪资源对象变更的组件。

③ Indexer:Indexer 是用于存储和管理资源对象的索引的组件。

3、两种 API 设计模式

命令式API:开发者需要编写详细的指令,告诉系统如何完成任务,包括每一步的细节。

声明式API:开发者定义所需的最终状态,系统负责根据这些状态自动完成相应的操作以使系统达到所需状态。

Kubernetes 所采用的控制器模式,是由声明式 API 驱动的。确切来说,是基于对 Kubernetes 资源对象的修改来驱动的;

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

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

相关文章

术前皮肤大面积消毒杀菌工具耗材:PP手柄+海绵头洗必泰CHG涂药器

PP手柄海绵头洗必泰CHG消毒涂药器是一种常用于手术前皮肤消毒杀菌的工具。它由PP手柄和海绵头组成,海绵头上涂有必泰CHG消毒液。 这种消毒涂药器被广泛应用于医疗领域,特别是在手术前的皮肤消毒过程中。PP手柄是一种轻便且易于握持的材料,方便…

Vue练习3:组件开发3(页面切换)

预览 ——————————————————————————————————————————— 组件文档 Pager组件 属性 属性名含义类型必填默认值current当前页码(总数据量/单页容量)Number否1total总数据量Number否0limit单页容量Number否10vis…

Aster实现一台电脑当两台使——副屏使用独立win账号

前言:笔者每年回家,都面临着想要和小伙伴一起玩游戏,但小伙伴没有电脑/只有低配电脑的问题。与此同时,笔者自身的电脑是高配置的电脑,因此笔者想到,能否在自己的电脑上运行游戏,在小伙伴的电脑上…

javaweb——socket

定义 Socket(套接字)是计算机网络编程中的一种抽象,用于在网络上进行通信。它允许计算机之间通过网络进行数据传输。在Java中,Socket类提供了对TCP/IP协议的支持,通过它可以创建客户端和服务端程序,实现网…

Java基于 SpringBoot 的高校校园点餐系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

基于springboot学生考勤管理系统源码和论文

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&#xf…

数据结构~二叉树(基础知识)

上一篇博客我们对树有了初步了解与学习,这篇我将初步学习二叉树!!(新年快乐!) 目录 二叉树 1、定义: 2、特点: 3、基本形态: 4、二叉树的种类: &…

javaweb学习day02(CSS)

一、CSS介绍 1 官方文档 CSS 指的是层叠样式表* (Cascading Style Sheets)地址: https://www.w3school.com.cn/css/index.asp离线文档: W3School 离线手册(2017.03.11 版).chm 2 为什么需要 CSS 在没有 CSS 之前,我们想要修改 HTML 元素的样式需要为每个 HTML …

【LeetCode: 429. N 叉树的层序遍历 + BFS】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

作业帮 x TiDB丨多元化海量数据业务的支撑

导读 作业帮是一家成立于 2015 年的在线教育品牌,致力于用科技手段助力教育普惠。经过近十年的积累,作业帮运用人工智能、大数据等技术,为学生、老师、家长提供学习、教育解决方案,智能硬件产品等。随着公司产品和业务场景越来越…

【Linux】Framebuffer 应用

# 前置知识 LCD 操作原理 在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。 Frame 是帧的意思, buffer 是缓冲的意思,这意味着 Framebuffer 就是一块内存,里面保存着一帧图像。 Framebuffer 中保存着一帧图像的每一个像素颜色值&…

使用cockpit安装kvm虚拟机

下载管理虚拟机的插件 如果安装完成之后,出现报错,则刷新。如下图所示 添加虚拟网桥 进入添加网桥之后,名称自己修改,端口设置为自己的网卡名称。 之后返回xshell之后再次查看ip地址就会出现 添加镜像到物理机的根目录下 将系统…

MATLAB离线文档安装

MATLAB离线文档安装 来源于最全matlab安装离线文档教程只是对内容进行了精简,同时更方便查找 一、下载离线文档 我上传的2023b离线文档 提供本体属于违规行为,本体下载链接已删除 为方便已安装好软件的朋友想安装离线帮助文档,由于官网下载…

【数据结构】18 二叉搜索树(查找,插入,删除)

定义 二叉搜索树也叫二叉排序树或者二叉查找树。它是一种对排序和查找都很有用的特殊二叉树。 一个二叉搜索树可以为空,如果它不为空,它将满足以下性质: 非空左子树的所有键值小于其根节点的键值非空右子树的所有键值都大于其根结点的键值左…

循环、数组、match

for循环 循环:周而复始 For(临时变量;循环条件;腰间变更){ 循环体 } For循环可以嵌套 while循环 声明变量 While(条件){ 循环体 变量的变化} do while循环 do{ 执行语句; …

五、ActiveMQ的Broker(嵌入到java程序)

ActiveMQ的Broker 一、是什么二、Java应用嵌入ActiveMQ1.pom.xml2.borker实现3.生产者4.消费者 一、是什么 Broker相当于一个ActiveMQ服务器实例实现了用代码的形式启动ActiveMQ将MQ嵌入到Java代码中,以便随时用随时启动,在用的时候再去启动这样能节省了…

【前端工程化面试题】如何优化提高 webpack 的构建速度

使用最新版本的 Webpack 和相关插件: 每个新版本的 Webpack 都会带来性能方面的改进和优化,因此始终确保你在使用最新版本。同时,更新你的相关插件也是同样重要的。 使用DllPlugin动态链接库: 使用DllPlugin和DllReferencePlugin来将第三方库的代码进行…

L2-021 点赞狂魔

一、题目 二、解题思路 统计每个人点赞的不同标签的数量:每行列出一位用户的点赞标签,这些标签可能有重复的,所以将用户的点赞标签存放在 set 里,通过 size() 函数获得点赞的不同标签的数量;结构体包括用户的信息&…

如何打开Windows 10及更低版本系统的控制面板?这里提供详细步骤

Windows中的控制面板是一组小程序,有点像小程序,可以用来配置操作系统的各个方面。 例如,“控制面板”中的一个小程序允许你配置鼠标指针的大小(以及其他内容),而另一个则允许你调整所有与声音相关的设置。 其他小程序可用于更改网络设置、设置存储空间、管理显示设置等…

TIM编码器接口(编码器测速)

定时器编码器接口自动计次--------->对应手册14.3.12编码器接口模式 应用场景: 电机控制PWM驱动电机,编码器测电机速度,PID算法闭环控制 ------------------------------------------------------------------------------------------…