Kubernetes学习篇之组件

Kubernetes学习篇之组件

文章目录

  • Kubernetes学习篇之组件
  • 前言
  • 概述
  • 控制平面组件(Control Plane Components)
      • kube-apiserver
      • etcd
      • kube-scheduler
      • kube-controller-manager
      • cloud-controller-manager
  • Node 组件
      • kubelet
      • kube-proxy
      • 容器运行时(Container Runtime)
  • 插件(Addons)
      • DNS
      • Web界面(仪表盘)
      • 容器资源监控
      • 集群层面日志
      • 网络插件

前言

今天聊一下Kubernetes集群中有哪些组件,顺便聊聊这些组件各自是干啥的

概述

运行容器化应用程序的机器称为节点(Node),工作节点托管Pod,Pod就是应用负载的组件,控制平面(Control Plane)管理集群中的工作节点和Pod

生产环境中,控制平面通常跨多台计算机运行,一个集群通常运行多个节点,提供容错性和高可用性

组成

控制平面组件(Control Plane Components)

控制平面组件在集群执行全局决策,例如(资源调度,接受和响应集群事件)

kube-apiserver

处理请求的工作,采用水平扩缩的设计,可通过部署多个实例来进行扩缩,并在其之间平衡负载

etcd

一致且高可用的键值存储,Kubernetes所有集群数据的后台数据库

kube-scheduler

负责监视新创建的未指定运行节点(node)的Pods,并选择节点来让Pod在上面运行,调度决策考虑的因素包括单个Pod及Pods集合的资源需求,软硬件及策略约束,亲和性及反亲和性规范,数据位置,工作负载间的干扰及最后时限

kube-controller-manager

负责运行控制器进程

从逻辑上讲,每个控制器都是一个单独的进程,但是为了降低复杂性,它们都被编译到同一个可执行文件,并在一个进程中运行

有不同类型的控制器,例如:

节点控制器(Node Controller):负责节点出现故障后通知和响应

任务控制器(Job Controller):监测代表一次性任务的Job对象,然后创建 Pods来运行这些任务直至完成

端点分片控制器(EndpointSlice Controller):填充端点分片(EndpointSlice)对象,以提供Service和Pod之间的链接

服务账号控制器(ServiceAccount Controller):为新的命名空间创建默认的服务账号(ServiceAccount)

cloud-controller-manager

仅运行特定于云平台的控制器,允许将集群连接到云提供商的API上,并将与该云平台交互的组件同与你的集群交互的组件分离开来

与kube-controller-manager类似,cloud-controller-manager将若干逻辑上独立的控制回路组合到同一个可执行文件中,在一个进程上运行,可执行水平扩容来提升性能或增强容错能力

下面的控制器依赖于云平台驱动:

节点控制器(Node Controller):用于在节点终止响应后检查云提供商以确定节点是否已被删除

路由控制器(Route Controller):用于在底层云基础架构中设置路由

服务控制器(Service Controller):用于创建、更新和删除云提供商负载均衡器

Node 组件

负责维护运行的Pod并提供Kubernetes运行环境

kubelet

在集群中每个节点上运行,保证容器运行在Pod中,接收一组通过各类机制提供给它的PodSpecs,确保这些PodSpecs中描述的容器状态正常,kubelet只管理Kubernetes创建的容器

kube-proxy

集群中每个节点上运行的网络代理,维护节点上的一些网络规则,允许从集群内部或外部的网络会话与Pod进行网络通信

若操作系统提供了可用的数据包过滤层,则kube-proxy会通过它来实现网络规则,否则kube-proxy只做流量转发

容器运行时(Container Runtime)

负责管理Kubernetes环境中容器的执行和生命周期

Kubernetes支持许多容器运行环境,例如containerd,CRI-O以及Kubernetes CRI(容器运行环境接口)的实现

插件(Addons)

使用Kubernetes资源(DaemonSet,Deployment等)实现集群功能,这些插件提供集群级别的功能,插件中命名空间域的资源属于kube-system命名空间

下面介绍几种插件

DNS

集群DNS是一个DNS服务器,和环境中的其他DNS服务器一起工作,Kubernetes启动的容器自动将此DNS服务器包含在其DNS搜索列表中

Web界面(仪表盘)

Dashboard是Kubernetes集群的Web的用户界面,它使用户可以管理集群中运行的应用程序以及集群本身,并进行故障排除

容器资源监控

将关于容器的一些常见的时间序列度量值保存到一个集中的数据库中,并提供浏览这些数据的界面

集群层面日志

将容器的日志数据保存到一个集中的日志存储中,这种集中日志存储提供搜索和浏览接口

网络插件

实现容器网络接口(CNI)规范,负责为Pod分配IP地址,并使这些Pod能在集群内部相互通信

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

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

相关文章

SpringSecurity学习

1.认证 密码校验用户 密码加密存储 Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter {Beanpublic PasswordEncoder passwordEncoder(){return new BCryptPasswordEncoder();}} 我们没有以上代码配置,默认明文存储, {id}password…

数据清洗:数据挖掘的前期准备工作

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…

sql存储引擎

-- 查询建表语句 --可以查看引擎 show create table account; -- 可以看到默认引擎 InnoDB ENGINEInnoDB -- 查看当前数据库支持得存储引擎 show engines ; # InnoDB 默认 存储引擎 # MyISAM sql早期默认 存储引擎 # MEMORY 存储在内存中 用来做临时表和缓存 存储引擎 …

怎样吃透一个java项目?

前言 对于刚开始看视频敲代码,最忌讳的便是一上来就完全照着视频做,这么做就算完完全全的跟着视频做出来一个项目,始终都无法将里面具体的知识化为己有,单纯来说只是简单的复刻,视频的作者本身是不会对他在做该项目过…

设备树的理解与运用

设备树: 本质是一个文件,包含很多节点,每个节点里边是对设备属性的描述(包括GPIO,时钟,中断等等),其中节点(node)和属性(property)就是设备树最重…

kubernetes集群yaml文件与kubectl工具

k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(yaml)文件来解决,也就是可以把需要对资源对象操作编辑到yaml格式文件中,我们把文件叫做资源清单文件,通过kubectl命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署…

Linux中使用Docker安装ElasticSearch7.10.x集群

使用Docker安装ElasticSearch7.10.x单节点请访问这里 一、集群环境说明 服务器IP地址192.168.137.1,192.168.137.2,192.168.137.3 二、前期准备 1. 拉取镜像 docker pull elasticsearch:7.10.12. 首先需要创建一个用于生成秘钥的初始容器&#xff0…

【SpringMVC】自定义注解与AOP结合使用

目录 一、SpringMVC之自定义注解 1.1 Java注解简介 1.2 为什么要用注解 1.3 注解的分类 ⭐ 1.3.1 JDK基本注解 1.3.2 JDK元注解 1.3.3 自定义注解 1.4 自定义注解三种使用案例 1.4.1 案例一(获取类与方法上的注解值) 1.4.2 案例二&#xff0…

【STL容器】vector

文章目录 前言vector1.1 vector的定义1.2 vector的迭代器1.3 vector的元素操作1.3.1 Member function1.3.2 capacity1.3.3 modify 1.4 vector的优缺点 前言 vector是STL的容器,它提供了动态数组的功能。 注:文章出现的代码并非STL库里的源码&#xff0c…

包管理工具--》发布一个自己的npm包

包管理工具系列文章目录 一、包管理工具--》npm的配置及使用(一) 二、包管理工具--》npm的配置及使用(二) 三、包管理工具--》发布一个自己的npm包 四、包管理工具--》yarn的配置及使用 五、包管理工具--》其他包管理器之cnpm…

花见Live Wallpaper Themes 4K Pro for mac(4k视频壁纸)

如果你希望让自己的Mac桌面焕发活力,那么Live Wallpaper & Themes 4K Pro正是一款值得尝试的软件。它提供了丰富的超高清4K动态壁纸和主题,可以让你轻松打造出个性化的桌面环境。 这款软件拥有众多令人惊叹的功能。其中最值得一提的是,它…

视频监控/安防监控/AI视频分析/边缘计算EasyCVR平台如何调取登录接口获取token?

安防视频监控管理平台/视频汇聚/视频云存储平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、AI智能分析等,视频监控智能分析平台EasyCVR融合性强、…

DataGrip 2023 年下载、安装教程、亲测可用

文章目录 前言1. 下载2. 安装3、DataGrip 常用操作4 推荐阅读 前言 DataGrip 是 JetBrains 发布的多引擎数据库环境,支持 MySQL 和 PostgreSQL,Microsoft SQL Server 和 Oracle,Sybase,DB2,SQLite,还有 Hy…

使用dockerfile文件部署Python+PyWebIO项目

1、安装docker 教程详见之前的内容。https://blog.csdn.net/weixin_44691253/category_12101661.html 2、打包好Python项目 之前的文章中有提到我编写测试工具使用的框架:PythonRequestsPyWebIO框架详解,编写测试工具提高团队测试效率 打包项目时&am…

淘宝双11数据分析与预测课程案例中(林子雨)错误点总结

问题一:可视化代码中男女买家各个年龄段对比散点图中数值不显示以及坐标不正确问题如下图 解决方法: 1修改坐标 2修改数值 修改后散点图 问题二:各省份的总成交量对比中地图显示不出来,因为该部分代码源码中没有需要自己编写…

排序算法-----插入排序

目录 前言: 插入排序 原理图 代码实现 分析总结 二分法插入排序 代码实现 前言: 嗨嗨^_^,米娜桑,今天我们继续学习排序算法中的插入排序,激不激动,兴不兴奋呢!好了废话不多说,…

RFID服装管理系统改善零售供应链

随着时尚零售业的竞争日益激烈,RFID技术正快速地改变着服装管理的方式。我们将探讨RFID服装管理系统的核心优点,以及如何在零售供应链中充分利用它。 首先,让我们了解一下RFID技术是什么。RFID是一种无线通信技术,通过使用RFID标…

国家网络安全周 | 金融日,一起 get金融行业数据安全

2023国家网络安全宣传周 热度一直在持续! 9月15日是国家网络安全宣传金融日。 目前随着国际形势愈发严峻,金融机构基础设施的全面数字化升级,带来了全新的安全问题。数据安全不单是技术问题,更是已经成为一个关系社会稳定发展的…

【算法专题突破】滑动窗口 - 水果成篮(13)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后: 1. 题目解析 题目链接:904. 水果成篮 - 力扣(Leetcode) 题目有很长一段话,但是我们读一遍题目可以提炼转化出题目的要求 : 其实就是找出一个最长…

数字IC验证23915--寄存器方法

文章目录 镜像值与期望值predication的分类自动预测显示预测 uvm_reg的访问方法寄存器健康检查![在这里插入图片描述](https://img-blog.csdnimg.cn/8b1832ab43854068970bb5a66d851d06.png) 镜像值与期望值 寄存器模型中的每一个寄存器,都应该有两个值,…