K8S的架构(1)

news2024/10/7 6:50:43

目录

一.k8s

K8S有 master 和 worker node 两类节点:

​编辑

二.K8S创建Pod资源的工作流程

三.K8S资源对象

Pod:是K8S能够创建和管理的最小单位。

Pod控制器:

四.K8S资源配置信息


一.k8s

kubernetes   : Google旗下的容器跨主机编排工具,占据了80%以上的市场份额,已经成为容器编排工具的事实标准,在Docker等容器技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。 

K8S有 master 和 worker node 两类节点:

master节点(负责K8S集群的管理和资源调度等运维工作),组件有 apiserver、controller-manager、scheduler、etcd 。
apiserver:是所有服务请求的统一访问入口
controller-manager:控制器管理器,负责管理K8S各种资源对象的控制器;并通过apiserver监控整个K8S集群的资源状态,并确保资源始终处于预期的工作状态
scheduler:资源调度器,负责Pod资源的调度,通过调度算法(预选/优选策略)为要部署的Pod选择最合适的node节点
etcd:K8S集群的数据库,是一种键值对存储结构的分布式数据库,负责存储K8S集群所有的重要信息,仅apiserver拥有访问和读写权限

worker node节点(负责运行工作负载,即容器应用),组件有 kubelet、kube-proxy、容器引擎(docker、containerd等)
kubelet:接收apiserver发来的请求,创建管理Pod和容器,跟容器引擎交互实现对容器生命周期的管理;收集node节点的资源信息和Pod的运行状态发送给apiserver
kube-proxy:作为service资源的载体,实现对Pod的网络代理,负责维护Pod集群网络规则和四层代理工作
容器引擎:运行管理容器

二.K8S创建Pod资源的工作流程

1.用户通过客服端发送创建pod请求给apiserver

2.apiserver收到请求后,会将请求写入给etcd进行保存,并找到controller-manager请求资源预设模版构建pod资源

3.controller-manager会通过apiserver找到scheduler进行调度新创建的pod资源,并通过调度算法的预选和优选策略进行选出最合适的node节点,进行调度

4.scheduler会通过apiserver找到对应的node节点的kubelet去管理创建pod资源,kubelet还可通过容器引擎交互管理pod及容器的生命周期

5.用户还可以通过apiserver的kube-proxy写入网络规则,创建service资源,对pod集群进行网络代理

三.K8S资源对象

所有的资源对象都可以通过 Kubernetes 提供的 kubectl 工具进行增、删、改、查等操作,并将其保存在 etcd 中持久化存储。

Kubernetes 包含多种类型的资源对象:Pod、Label、Service、Replication Controller 等。

Pod:是K8S能够创建和管理的最小单位。

一个Pod里可以包含一个或多个应用容器,同一个Pod里的容器之间共享网络、存储等资源.

Pod控制器:

deployment:部署无状态应用(没有实时数据需要存储);同时也负责管理replicaset(维持Pod副本数始终符合预期状态)和Pod(容器化的应用程序)

statefulset:部署有状态应用(有实时数据需要存储)

daemonset:在所有node节点上都部署同一种的Pod

job:         一次性的部署短期任务的Pod(执行完任务后会自动退出的容器应用)

cronjob:周期性的部署短期任务的Pod(执行完任务后会自动退出的容器应用)

service:在K8S集群内部,为通过标签选择器相关联的一组Pod提供一个统一的访问入口(clusterIP),只支持四层代理转发

ingress:作为K8S集群外部的访问入口,可定义ingress规则根据用于请求的域名或URL请求路径转发给指定的service,支持七层代理转发

service通过标签选择器关联Pod的标签,从而自动发现相关Pod的端点(PodIP:Port)

ingress通过配置规则将不同的域名或URL路径关联不同的service资源

四.K8S资源配置信息

apiversion:指定资源对象的在K8S中使用的api接口版本
kind:          指定资源对象的类型
metadata: 指定资源对象的元数据信息,比如name指定资源名称、namespace指定命名空间、annotation:指定注释、label指定标签
spec:        指定资源对象的资源配置清单(配置属性) ,比如副本数、镜像、网络模式、存储卷、label selector标签选择器
status:      资源对象在当前的运行状态信息
label:标签,将一个或多个键值对标识关联到某个资源对象,用于对资源对象进行分组查询和筛选
label selector:标签选择器,用于查询和筛选拥有相关标签的资源对象
annotation:注释,用作于资源对象的注释信息;还可以在一些特殊的资源对象里用作于设置额外的功能特性
name:资源名称
namespace:命名空间,用于隔离资源名称的。在同一个命名空间中,同类型的资源对象的名称是唯一的。

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

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

相关文章

linux上安装bluesky的步骤

1、设备上安装的操作系统如下: orangepiorangepi5b:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Release: 22.04 Codename: jammy 2、在用户家目录下创建一个目录miniconda3目录&a…

如何系统地自学Python?

如何系统地自学Python? 如何系统地自学Python?1.了解编程基础2.学习Python基础语法3.学习Python库和框架4.练习编写代码5.参与开源项目6.加入Python社区7.利用资源学习8.制定学习计划9.持之以恒总结 如何系统地自学Python? 作为一个Python语…

实现Slider 滑块组件标记动态变化

实现以上效果&#xff0c;下拉框、slider滑块、按钮都在同一行&#xff0c;设置flex布局后&#xff0c;发现silider滑块最右边的标记数字一直都如下竖着显示&#xff0c;后来通过给源组件的标记区.el-slider__marks-text增加一个宽度后解决该问题。 <template><div>…

可视化大屏:一屏尽览生产数据,管理从未如此轻松!

工厂管理者需要对生产过程进行全面的监控和管理。而可视化大屏作为一种新型的生产监控工具&#xff0c;已经被越来越多的企业所采用。本文将从可视化大屏的概念、特点以及在工厂生产中的应用等方面进行详细介绍。 煤炭化工生产大屏看板 一、可视化大屏的概念和特点 可视化大屏…

js-Vue Router 中的方法,父A-子B-子C依次返回,无法返回到A,BC中形成循环跳转解决

1.常用的方法 在 Vue Router 中&#xff0c;有一些常用的方法用于实现路由导航和管理。以下是一些常见的 Vue Router 方法及其作用&#xff1a; push: router.push(location, onComplete, onAbort) 作用&#xff1a;向路由历史记录中添加一个新条目&#xff0c;并导航到指定的路…

[嵌入式系统-32]:RT-Thread -17- 任务、进程、线程的区别

目录 一、基本概念澄清 1.1 任务 1.2 进程 1.3 线程 1.4 比较 1.5 任务VS进程 1.6 进程 VS 线程 1.7 任务 进程 线程 发展历史 任务&#xff08;Task&#xff09;&#xff1a; 进程&#xff08;Process&#xff09;&#xff1a; 线程&#xff08;Thread&#xff09;…

Java使用企业邮箱发送预警邮件

前言&#xff1a;最近接到一个需求&#xff0c;需要根据所监控设备的信息&#xff0c;在出现问题时发送企业微信进行预警。 POM依赖 <!-- 邮件 --> <dependency><groupId>com.sun.mail</groupId><artifactId>jakarta.mail</artifactId>…

电脑开机启动项在哪里设置?优化系统速度不是梦!

电脑的开机启动项设置直接影响着系统启动的速度和性能&#xff0c;合理配置启动项可以提高系统的启动速度&#xff0c;同时确保开机时运行的程序符合个人需求。那么&#xff0c;电脑开机启动项在哪里设置呢&#xff1f;本文将详细介绍电脑开机启动项设置的三种方法&#xff0c;…

harmony 鸿蒙系统学习 安装ohpm报错 ohpm install failed

一. 安装配置 DevEco Studio 安装包时报错 execute ohpm install failed. Install task failed: ArkTS 3.2.12.5. Install ArkTS dependencies failed. 解决办法 找原因&#xff0c;首先&#xff0c;我的电脑中之前安装过node&#xff0c;也许是因为这个。&#xff08;其实…

CMake与vs的配置对应(常规->附加包含目录,链接器->输入)

常规->附加包含目录 对应CMake的 include_directories(${QT_PATH}/include) 写在 add_executable 前面 链接器->输入 对应CMake的 target_link_libraries(${PROJECT_NAME} xx.lib) 写在 add_executable 后面

文献阅读:在整个小鼠大脑中,细胞类型的高分辨率转录组和空间图谱

文献介绍 「文献题目」 A high-resolution transcriptomic and spatial atlas of cell types in the whole mouse brain 「研究团队」 曾红葵&#xff08;Allen 脑科学研究所&#xff09; 「发表时间」 2023-03-06 「发表期刊」 Nature 「影响因子」 64.8 「DOI」 10.1038/…

基于PSO优化的CNN多输入时序回归预测(Matlab)粒子群算法优化卷积神经网络时序回归预测

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、部分代码&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译&…

掌握这8大工具,自媒体ai写作之路畅通无阻! #经验分享#科技#媒体

这些宝藏AI 写作神器&#xff0c;我不允许你还不知道~国内外免费付费都有&#xff0c;还有AI写作小程序分享&#xff0c;大幅度提高写文章、写报告的效率&#xff0c;快来一起试试吧&#xff01; 1.元芳写作 这是一个微信公众号 面向专业写作领域的ai写作工具&#xff0c;写作…

C#,数值计算,矩阵的乔莱斯基分解(Cholesky decomposition)算法与源代码

一、安德烈路易斯乔尔斯基 安德烈路易斯乔尔斯基出生于法国波尔多以北的查伦特斯海域的蒙古扬。他在波尔多参加了Lyce e&#xff0c;并于1892年11月14日获得学士学位的第一部分&#xff0c;于1893年7月24日获得第二部分。1895年10月15日&#xff0c;乔尔斯基进入莱科尔理工学院…

Java Web(六)--XML

介绍 官网&#xff1a;XML 教程 为什么需要&#xff1a; 需求 1 : 两个程序间进行数据通信&#xff1f;需求 2 : 给一台服务器&#xff0c;做一个配置文件&#xff0c;当服务器程序启动时&#xff0c;去读取它应当监听的端口号、还有连接数据库的用户名和密码。spring 中的…

git使用过的命令记录

目录 git add .git commit --amendgit push -f origin HEAD:mastergit checkout .git stash想把某个pr的修改应用到本地git 撤销&#xff0c;放弃本地修改参考文档 git add . 将本地修改提交到暂存区 git commit --amend 将修改的东西 追加到上一个pr git push -f origin H…

SQL数据库基础语法-查询语句

SQL数据库基础语法-查询语句 Group By #对数据进行分组 >select name,count(id) from student group by name; #查询name字段人数&#xff0c;cont函数进行计数 >select * from users group by users; >select * from users where id1 group by 2; >select * from …

线阵相机参数介绍之轴编码器控制

1.1 功能介绍 编码器是将检测对象的运动与相机拍摄取图相匹配的设备&#xff0c;也即检测对象运动一定距离&#xff0c;相机就拍摄一定行高的图像。 编码器会将检测对象的实际位移转换为固定数量电信号。例如&#xff1a;编码器的精度是2000p/r,该参数的含义是编码器每转一圈输…

webpack打包速度优化思维导图

webpack打包速度优化思维导图 前言附件 前言 去年的时候公司一个项目体积过大&#xff0c;我是m1芯片的macpro&#xff0c;光启动就要1分钟&#xff0c;配置差点都电脑&#xff0c;启动就要3分钟&#xff0c;自然打包速度也会慢很多&#xff0c;我们是gitlab设置成了自动打包的…

数据分析 — 电商用户分析和用户 RFM 模型

目录 一、电商用户分析1、数据字段信息2、数据读取3、数据清洗4、可视化分析1、每年销售额的增长情况2、各个地区分店的销售额3、每个分店每一年的销售额4、销售淡旺季5、新增用户 二、RFM 模型1、RFM 模型的三个维度2、RFM 的客户类型标签3、RFM 模型的二分法思想4、代码 一、…