Master组件

apiserver:对资源对象进行curd操作,例如pod和server;将所有的状态储存到etcd中。

schedule:监控未调度的pod,根据pod的资源需求、资源可用性和其他约束,选择最合适的节点来运行pod。

controller-manage:监控集群的状态,实现集群的自愈和自动化管理。

​ Replication controller:确保指定个数的pod副本在集群上运行。

​ Node controller:监控集群中节点(Node)的状态,确保节点的健康状况。

​ Endpoints controller:为services对象维护和更新其关联的Pod列表。

​ Namespace controller:管理K8S的中的命名空间,包括监控和清理被删除的。

​ Service controller:管理和维护LoadBalancer类型服务的外部负载均衡器。

​ LoadBalancer是用于在多台服务器(或 Pod)之间分发网络流量的组件:

​ - 流量分发:将来自外部的请求均匀地分配到多个后端实例(如 Pod 或服务器),以避免某一实例负载过重,提高应用的可 用性和响应速度。

​ - 高可用性:当某些后端实例不可用时,LoadBalancer 可以自动将流量重定向到健康的实例,确保服务的连续性。

​ - 扩展性:通过负载均衡,系统可以动态添加或移除后端实例,以应对流量的变化,从而实现弹性伸缩。

​ ServiceAccount controller:为每个新创建的namespace自动创建默认的ServiceAccount对象,确保token被分配到这些 ServerAccount中。

Node组件

kube-proxy:维护节点上的网络规则,服务负载均衡,根据据服务的虚拟 IP 地址和端口,将流量分发到后端的 Pod 上,确保流量能够 均匀地分布在多个副本上。并根据这些变化动态更新自己的网络规则,确保流量始能够正确转发到当前有效的 Pod 。

kuberlet:是一个代理,他会根据主节点的指令,确保制定容器在节点的正确运行;他会监控容器的健康情况,向apiserver发送节点 的状态,apiserver接收到这些节点的状态信息之后,会将它们更新到etcd中;kubelet也通过apiserver监听Pod信息,从而 对Node机器上的Pod进行管理:如创建,更新,删除Pod。

容器运行时:每个工作节点需要一个容器运行时来运行和管理容器。

calico:提供容器网络和网络策略的解决方案,能实现容器和容器间的通信、流量控制和安全策略来增强器群的网络能力。

(通俗的讲就是给Pod和Service分配ip的)

其他组件

Etcd:是一个高可用的键值存储数据库,存储K8S的资源状态信息和网络信息,Etcd中的数据变更通过apiserver来进行。(基数选主,至少三个做高可用)

Coredns:是一个dns服务器,能够K8S Services提供dns记录(可以对Service名字进行解析,解析成Service的IP)

K8S基本组件梳理的更多相关文章

  1. Tomcat组件梳理—Service组件

    Tomcat组件梳理-Service组件 1.组件定义 Tomcat中只有一个Server,一个Server可以用多个Service,一个Service可以有多个Connector和一个Contain ...

  2. Tomcat组件梳理—Digester的使用

    Tomcat组件梳理-Digester的使用 再吐槽一下,本来以为可以不用再开一个篇章来梳理Digester了,但是发现在研究Service的创建时,还是对Digester的很多接口或者机制不熟悉,简 ...

  3. Tomcat组件梳理--Server

    Tomcat组件梳理--Server 1.Server组件的定义和功能概述 定义: Server组件用于描述一个启动的Tomcat实例,一个Tocmat被启动,在操作系统中占用一个进程号,提供web服 ...

  4. Tomcat组件梳理--Catalina

    Tomcat组件梳理--Catalina 1.定义和功能 Catalina是Tomcat的核心组件,是Servlet容器,Catalina包含了所有的容器组件,其他模块均为Catalina提供支撑.通 ...

  5. 1.Tomcat组件梳理—Bootstrap启动器

    Tomcat组件梳理-Bootstrap启动器 一开始是直接从Server开始做梳理的,但是发现有很多东西是从Catalina传输过来的,Catalina又是从Bootstrap启动的,所以还是回过头 ...

  6. k8s的组件

    1.Master组件 1.API Server K8S对外的唯一接口,提供HTTP/HTTPS RESTful API,即kubernetes API.所有的请求都需要经过这个接口进行通信.主要负责接 ...

  7. k8s各组件启动时, -v参数指定的日志级别

    k8s 相关组件启动时 -v参数指定的日志级别 --v=0 Generally useful for this to ALWAYS be visible to an operator. --v=1 A ...

  8. 微服务架构组件梳理之Netflix停更之后该何去何从

    自2018年底,Netflix陆续宣布Eureka.Hystrix等框架进入维护状态,不再进行新功能的开发. 恰逢最近我打算对公司的办公项目进行微服务架构升级,所以恶补了一番微服务相关知识,在这里进行 ...

  9. K8S命令的梳理

    kubectl是一个基础的K8S集群管理命令,可以实现对K8S资源的查询,创建,删除,更新,回退等各种各样的操作.由于其复杂的功能体系,命令灵活度又高,因此需要进行常见的一些命令和使用场景的梳理. 1 ...

  10. 十二张图:从0开始理解对称/非对称加密、CA认证、以及K8S各组件颁发证书原由

    目录 一.对称加密 二.对称加密-不安全 三.非对称加密 四.非对称加密-不安全 五.对称加密和非对称加密结合 六.对称加密和非对称加密结合-不安全 七.Https的做法-引入CA机构 八.乘胜追击理 ...

随机推荐

  1. 2023/4/15 SCRUM个人博客

    1.我昨天的任务 获得了人脸识别作弊检测和绘制界面的分工,准备先从作弊检测入手 2.遇到了什么困难 对作弊检测的组件不熟悉,进展缓慢,需要进行对点的学习 3.我今天的任务 初步学习cython

  2. top的wa,mpstat的%iowait以及pidstat的%wait

    top的wa,mpstat的%iowait以及pidstat的%wait pidstat 中, %wait 表示进程等待 CPU 的时间百分比.等待 CPU 的进程已经在 CPU 的就绪队列中,处于运 ...

  3. 【Hadoop】3.3.1版本部署

    硬件环境: 虚拟机环境配置 硬件:1CPU + [RAM]4G + [DISK]128G 系统:Centos7 x64 这里没有像尚硅谷一样做地址映射解析,直接取IP(我太懒) 192.168.242 ...

  4. 【C3】06 选择器概述

    CSS中,选择器用来指定网页上我们想要样式化的HTML元素. CSS选择器有很多种可供使用,所以在选择要样式化的元素时,我们可以做到很精细的地步. 本文和本文的子篇中,我们将会很详细地讲授选择器不同的 ...

  5. 【JavaScript】Jquery事件绑定问题

    我们所知道的选择器方式,其中有一种方式是属性选择器: <div style="display: flex; justify-content: space-between;"& ...

  6. VScode调试C++工程

    相关: Linux环境下配置vscode的C/C++编译环境 本文主要参考: https://zhuanlan.zhihu.com/p/385276301 ====================== ...

  7. 记录实验室深度学习服务器显卡硬件故障的排查——RmInitAdapter failed! rm_init_adapter failed

    实验室突然通知我说是深度学习的服务器无法查看GPU,并且在GPU上运行的程序也halt on,需要解决.于是查询服务器的运行日志得到下面的信息: Nov 10 01:33:23 dell kernel ...

  8. Tomcat的配置文件中有哪些关键的配置项,它们分别有什么作用?

    Tomcat的配置文件主要包括server.xml和web.xml,它们位于Tomcat安装目录下的conf文件夹中.今天的内容重点介绍 server.xml 文件的配置,V 哥会结合一些业务场景来介 ...

  9. 注册中心Nacos集群搭建

    一提到注册中心,大家往往想到Zookeeper.或者Eureka.今天我们看看阿里的一款配置中心+注册中心的中间件--Nacos.有了它以后,我们的项目中的配置就可以统一从Nacos中获取了,而且Sp ...

  10. [JS设计模式]:策略模式及应用-计算奖金、表单验证的实现(5)

    介绍 策略模式的意义是定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换.此模式让算法的变化不会影响到使用算法的客户. 实现 举一个例子,比如我们做数据合法性校验,一般是通过swich来实现 ...