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

k8s 自身原理 4

前面咱们分享了 mater 和 worker 节点里面都有哪些组件,他们又是各自主要负责的工作是什么,现在我们心里应该都有数了吧

master 节点

etcd 存储资源配置,ApiServer 提供 RESTful Api 用于交互,scheduler 用于调度 pod,controller manager 控制器管理器

worker 节点

kubelet 管理 节点上的所有组件和内容,kube-proxy,作为代理将数据给到 pod

从控制器到 pod 运行,是如何达成的?

那么今天来分享一下,这些组件都是如何高效配合协同作战的,我们可以从控制器作为切入点,来看看

前面我们说到 master 里面的组件是不会直接去创建和运行 pod 的,只会和 ApiServer 通信,那么我们来看看创建一个 控制器的资源,到最终 pod 运行,中间都会涉及哪些控制器,哪些资源,哪些动作

我们都知道,咱们在生产环境下面,是不会直接去创建 pod 资源的,而是通过 RC / RS 去管控 pod ,然后我们是否还记得 Deployment 资源是会去管控 RS 的,那么我们就用之前环境中一直有的 deploy 来演示一下效果吧

看一下环境中的 deploy

可以看到环境中是有 5 个 pod,我们进入 newkubia ,将副本数修改为 3 个,并且在另外一个窗口进入到 master 节点,开启事件监控 kubectl get events --watch

在将 newkubia Deployment 从 5 个副本修改到 3 个副本的时候,我们可以看到此处的事件监控能够看到监控的信息

[xmt@VM-20-15-centos ~]$ kubectl get events --watch
LAST SEEN   TYPE     REASON              OBJECT                MESSAGE
0s          Normal   ScalingReplicaSet   deployment/newkubia   Scaled down replica set newkubia-85df599b7f to 3
0s          Normal   Killing             pod/newkubia-85df599b7f-zhwnw   Stopping container newkubia
0s          Normal   Killing             pod/newkubia-85df599b7f-jzjsn   Stopping container newkubia
0s          Normal   SuccessfulDelete    replicaset/newkubia-85df599b7f   Deleted pod: newkubia-85df599b7f-zhwnw
0s          Normal   SuccessfulDelete    replicaset/newkubia-85df599b7f   Deleted pod: newkubia-85df599b7f-jzjsn

咱可以在 REASON 字段处看到,经历的过程是 **ScalingReplicaSet -> Killing newkubia-85df599b7f-zhwnw -> Killing newkubia-85df599b7f-jzjsn -> SuccessfulDelete **

上述过程中,就会涉及到这些 控制器:

  • Deployment 控制器
  • ReplicaSet 控制器

还涉及 调度器,ApiServer 和 kubelet 和 docker

首先是各种控制器会监听 ApiIServer 里面对应的资源,当我们修改 newkubia Deployment 清单的副本数时候,

  • kubectl 会发 http 请求 POST 方法去请求 ApiServer,ApiServer 修改对应的 etcd 数据
  • Deployment 控制器监控到 Deployment 资源有变动,则会去和 APiServer 交互修改 ReplicaSet 资源的副本数
  • ReplicaSet 此时监听到 ApiServer 处的 ReplicaSet 资源有变动,则会 与 ApiServer 进行交互 去通知 相应的 pod 资源 进行需要进行更新
  • 调度器 scheduler 同样也是监听到 ApiServer 中的 pod 资源有变动后,Scheduler 就会去和 ApiServer 交互 在相应节点上配置增删 pod
  • 对应节点的 kubelet 监听到 ApiServer 中 pod 资源的变化,便会去通知自己节点的 docker,进行增加运行容器和删除容器的动作

通过上述简图和描述,相应到这里,xdm 对于修改一个 deployment 资源的副本数, k8s 中从控制器 到 实际的 pod 会涉及哪些组件了吧!

今天就到这里,学习所得,若有偏差,还请斧正

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~
更多的可以查看 零声每晚八点直播:https://ke.qq.com/course/417774

相关文章:

k8s 自身原理 4

前面咱们分享了 mater 和 worker 节点里面都有哪些组件,他们又是各自主要负责的工作是什么,现在我们心里应该都有数了吧 master 节点: etcd 存储资源配置,ApiServer 提供 RESTful Api 用于交互,scheduler 用于调度 p…...

ZLMediaKit(webrtc)在linux上(CentOS7)部署与启动

一.ZLMediaKit(webrtc)在CentOS7部署与启动 # 1. 卸载旧版本 yum remove git # 2. 安装 yum 源的 Git 版本 yum install -y git # 3. 查看版本 git version # 输出 git version 1.8.3.1配置全局环境变量 # 1. 编辑配置文件 vim /etc/profile # 2. 在 /etc/profile 文件中末尾…...

汽车基础软件新「战争」:群雄混战,谁在抢跑?

中国车用基础软件迎来了发展的黄金窗口期。 当前,汽车电子电气架构正在加速向“跨域融合”的时代演进,汽车软件架构也在加速向SOA架构升级,软硬件分层解耦成为了实现“软件定义汽车”新开发模式的前提。 过去,汽车的所有功能开发…...

阿里云预装LAMP应用导致MySQL不显示访问密码如何解决

😀前言 本篇博文是关于阿里云云服务器ECS部署MySQL过程中出现的一下坑,希望能够帮助到您😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家…...

SQL 自动清除7天前数据前收缩数据库

作用: 删除七天前数据库中间表的资料,并收缩数据库 delete-Ecustom-xml-midtable.sql delete Mid_bom where datediff(day,dty,getdate())>7 delete Mid_cus where datediff(day,dty,getdate())>7 delete Mid_exp where datediff(day,dty,getdate(…...

LangChain-ChatGLM在WIndows10下的部署

LangChain-ChatGLM在WIndows10下的部署 参考资料 1、LangChain ChatGLM2-6B 搭建个人专属知识库中的LangChain ChatGLM2-6B 构建知识库这一节:基本的逻辑和步骤是对的,但要根据Windows和现状做很多调整。 2、没有动过model_config.py中的“LORA_MOD…...

Telerik UI for ASP.NET Core Crack

Telerik UI for ASP.NET Core Crack Telerik ASP.NET Core还包括MVC和Kendo UI捆绑包(用于JavaScript)、Figma的设计工具包以及文档处理库、用于ASP.NET Core的Telerik REPL、RTL支持、辅助功能和键盘导航、主题化、虚拟课堂培训、详细文档、演示、KBs和世界级支持。使用一整套…...

【TypeScript】中关于 { 声明合并 } 的使用及注意事项

概念: 在TS中,如果定义了多个相同命名的函数,接口或者class 类,那么它们会自动合并成一个类型 函数的合并: 前面章节讲解的函数重载就是使用了定义多个函数的类型进行合并: function reverse(x: number):…...

Day 43

Day 43 1049.最后一块石头的重量II 本题中,石头的重量是 stones[i],石头的价值也是 stones[i] ,可以 “最多可以装的价值为 dp[j]” “最多可以背的重量为dp[j]” dp[j] max(dp[j], dp[j - stones[i]] stones[i]); 最后dp[target]里是…...

服务器安全需要注意的几个方面?

服务器安全需要注意的几个方面? 服务器的核心技术相对复杂,专业人员稀少,尤其在病毒技术快速更新迭代的前提下,安全问题更为突出。这里提供一些实际工作中总结出的安全防护经验,以供参考。 一,增强网络整…...

Mysql数据库第十三课-----------sql语句的拔高3--------直冲云霄

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…...

计算机网络-物理层(一)物理层的概念与传输媒体

计算机网络-物理层(一)物理层的概念与传输媒体 物理层相关概念 物理层的作用用来解决在各种传输媒体上传输比特0和1的问题,进而为数据链路层提供透明(看不见)传输比特流的服务物理层为数据链路层屏蔽了各种传输媒体的差异,使数据…...

差分升级在物联网水表上的实现与应用(学习)

摘要 当越来越多的物联网水表加入抄表系统后,实现了水表数据的信息化,并且当水表终端需要技术更新时,通过网络方式来升级产品可以高效修复设备面临的问题,减少用户损失,降低维护成本,但同时也对有限的网络…...

ubuntu磁盘管理

show partition information 挂载设备在这 显示文件系统信息 build file system mkfs -t ext4 /dev/nvme0n1p4命令作用:将/dev/nvme0n1p4 格式化为 ext4 建立交换分区 mkswap -c -v1 /dev/nvme0n1p4 102400-c:check -v1:新版交换分区 -v0&…...

前端处理后端返回的数据中有\n\n字样的换行符标识

后端返回的数据: 上面圈着的部分就是\n,前端需要将数据进行换行,对于这类型的数据,在前端页面是需要进行稍微处理才能正常显示。如果没有经过处理,那么内容是不会在有换行符的位置进行换行显示的 解决办法1&#xff1…...

matlab解常微分方程常用数值解法2:龙格库塔方法

总结和记录一下matlab求解常微分方程常用的数值解法,本文将介绍龙格库塔方法(Runge-Kutta Method)。 龙格库塔迭代的基本思想是: x k 1 x k a k 1 b k 2 x_{k1}x_{k}a k_{1}b k_{2} xk1​xk​ak1​bk2​ k 1 h f ( x k , t …...

数据结构-栈(C语言简单实现)

简介 栈是一种数据结构栈可以用来存放数字一次只能向栈里加入一个数字,一次也只能从栈里获得一个数字栈里到的数字有前后顺序,先进入到的数字在前,后进入的数字在后每次从栈里获取的数字一定是最后面的数字,最后获取的数字一定是…...

山东布谷科技直播软件源码探索高效、稳定直播传输的技术介绍:流媒体传输技术

今天我们探索的是让直播软件源码平台在直播时能够高效、稳定的进行直播传输的技术,而这个技术就是直播软件源码平台的流媒体传输技术,在直播软件源码平台中,流媒体传输技术会将直播的图像、视频、音频等相关的流媒体信号通过网络传递到用户的…...

LeetCode 热题 100 JavaScript -- 74. 搜索二维矩阵

给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非递减顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。 …...

任我行 CRM SQL注入漏洞复现(HW0day)

0x01 产品简介 任我行CRM(Customer Relationship Management)是一款专业的企业级CRM软件,旨在帮助企业有效管理客户关系、提升销售效率和提供个性化的客户服务。 0x02 漏洞概述 任我行 CRM SmsDataList 接口处存在SQL注入漏洞,未…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found"​, "n…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

向量几何的二元性:叉乘模长与内积投影的深层联系

在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...