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. Java解压rar5兼容rar4

    RAR文件格式由WinRAR开发,广泛用于文件压缩和归档.随着技术的发展,RAR5作为更新的版本,引入了多项改进以提高压缩效率和数据安全性. 压缩效率:RAR5通过增大字典大小至32MB,相较于RAR ...

  2. Jmeter函数助手22-V

    V函数用于执行变量名.嵌套函数.类似eval函数 Name of variable (may include variable and function references):必填,填入变量名称或者 ...

  3. 【Half-Life】 Steam 安装半条命模组

    安装办法参考自B站UP主[百科全叔]的文章 https://www.bilibili.com/read/cv543926 半条命模组在ModDB站上下载资源 https://www.moddb.com ...

  4. 【RabbitMQ】07 SpringBoot整合RabbitMQ

    生产者和消费者的依赖基本一致: 注意工程名称不是一样的 <?xml version="1.0" encoding="UTF-8"?> <pro ...

  5. 位段 -- 内存布局详解C语言

    目录 位段的介绍 位段使用示例: 位段的内存分配 Example 内存分配解析: ## 位段 位段的介绍 位段(二进制位):就是按位存储 位段(bit-field)是C语言中的一种特殊数据类型,它允许 ...

  6. 人形机器人(具身智能,Embodied Intelligence)—— 抓取动作(上半身动作规划)的各大公司技术路线

    视频地址: https://www.youtube.com/watch?v=UZBSXzNKB1Q

  7. 深度学习框架Theano停止维护

    Theano停止开发的声明地址: https://groups.google.com/g/theano-users/c/7Poq8BZutbY/m/rNCIfvAEAwAJ 原文内容: Dear us ...

  8. 【转载】回复“大修意见”(Major Revision)的模板 —— 审稿意见回复模板

    原文地址: https://zhuanlan.zhihu.com/p/80214252 ================================================== 上周有个小 ...

  9. 如何实现nvidia显卡的cuda的多kernel并发执行???

    相关: CPU端多进程/多线程调用CUDA是否可以加速??? 参考: <CUDA C 编程指南>导读 https://developer.nvidia.com/blog/gpu-pro-t ...

  10. 运用Npcap库实现SYN半开放扫描

    Npcap 是一款高性能的网络捕获和数据包分析库,作为 Nmap 项目的一部分,Npcap 可用于捕获.发送和分析网络数据包.本章将介绍如何使用 Npcap 库来实现半开放扫描功能.TCP SYN 半 ...