K8S基本组件梳理
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基本组件梳理的更多相关文章
- Tomcat组件梳理—Service组件
Tomcat组件梳理-Service组件 1.组件定义 Tomcat中只有一个Server,一个Server可以用多个Service,一个Service可以有多个Connector和一个Contain ...
- Tomcat组件梳理—Digester的使用
Tomcat组件梳理-Digester的使用 再吐槽一下,本来以为可以不用再开一个篇章来梳理Digester了,但是发现在研究Service的创建时,还是对Digester的很多接口或者机制不熟悉,简 ...
- Tomcat组件梳理--Server
Tomcat组件梳理--Server 1.Server组件的定义和功能概述 定义: Server组件用于描述一个启动的Tomcat实例,一个Tocmat被启动,在操作系统中占用一个进程号,提供web服 ...
- Tomcat组件梳理--Catalina
Tomcat组件梳理--Catalina 1.定义和功能 Catalina是Tomcat的核心组件,是Servlet容器,Catalina包含了所有的容器组件,其他模块均为Catalina提供支撑.通 ...
- 1.Tomcat组件梳理—Bootstrap启动器
Tomcat组件梳理-Bootstrap启动器 一开始是直接从Server开始做梳理的,但是发现有很多东西是从Catalina传输过来的,Catalina又是从Bootstrap启动的,所以还是回过头 ...
- k8s的组件
1.Master组件 1.API Server K8S对外的唯一接口,提供HTTP/HTTPS RESTful API,即kubernetes API.所有的请求都需要经过这个接口进行通信.主要负责接 ...
- k8s各组件启动时, -v参数指定的日志级别
k8s 相关组件启动时 -v参数指定的日志级别 --v=0 Generally useful for this to ALWAYS be visible to an operator. --v=1 A ...
- 微服务架构组件梳理之Netflix停更之后该何去何从
自2018年底,Netflix陆续宣布Eureka.Hystrix等框架进入维护状态,不再进行新功能的开发. 恰逢最近我打算对公司的办公项目进行微服务架构升级,所以恶补了一番微服务相关知识,在这里进行 ...
- K8S命令的梳理
kubectl是一个基础的K8S集群管理命令,可以实现对K8S资源的查询,创建,删除,更新,回退等各种各样的操作.由于其复杂的功能体系,命令灵活度又高,因此需要进行常见的一些命令和使用场景的梳理. 1 ...
- 十二张图:从0开始理解对称/非对称加密、CA认证、以及K8S各组件颁发证书原由
目录 一.对称加密 二.对称加密-不安全 三.非对称加密 四.非对称加密-不安全 五.对称加密和非对称加密结合 六.对称加密和非对称加密结合-不安全 七.Https的做法-引入CA机构 八.乘胜追击理 ...
随机推荐
- 开源新纪元:Llama 3.1超大杯405B跑分惊艳,首次超越GPT-4o,下载链接曝光!
开源巨擘Llama 3.1崭露头角,性能卓越引发热议 在科技界的瞩目下,Llama 3.1系列模型以其卓越的性能脱颖而出,尤其是其405B超大杯版本,在微软Azure-ML GitHub平台的多项评测 ...
- DSCL:已开源,北京大学提出解耦对比损失 | AAAI 2024
监督对比损失(SCL)在视觉表征学习中很流行.但在长尾识别场景中,由于每类样本数量不平衡,对两类正样本进行同等对待会导致类内距离的优化出现偏差.此外,SCL忽略了负样本之间的相似关系的语义线索.为了提 ...
- Windows系统解决VSCode终端无法输入问题
最近重装了电脑系统(将原来的Win7装成Win10),重新安装了VSCode和git,也在VSCode里配置了git环境,但是在VSCode中的终端总是不显示.现记录下解决办法: 解决方法: 1.右键 ...
- Vue入门记录(一)
效果 本文为实现如下前端效果的学习实践记录: 实践 入门的最佳实践我觉得是先去看官网,官网一般都会有快速入门指引. 根据官网的快速上手文档,构建一个新的Vue3+TypeScript,查看新建的项目结 ...
- DASCTF2022.07赋能赛PWN部分WP
DASCTF2022.07赋能赛PWN部分WP eyfor 程序保护情况 64位ida逆向 可以看见是一个随机数的逻辑,只要我们猜不对4次就可以进入漏洞函数,但是我感觉这原本可能是==号,让用随机数的 ...
- 【Java】【常用类】Math 数学类
一些常用的数学计算方法 public class MathTest { public static void main(String[] args) { int a = -10; // 获取绝对值 i ...
- 《Python数据可视化之matplotlib实践》 源码 第四篇 扩展 第十一章
图 11.2 import matplotlib.pyplot as plt import matplotlib as mpl import numpy as np plt.axes([0.1, ...
- MindSpore1.3.0 GPU pip方式安装 —— Ubuntu18.04系统 (最终安装结果为成功)需要管理员权限,sudo安装
官网地址: https://www.mindspore.cn/install =========================================================== 安 ...
- 学历史有什么用——视频分享:學歷史的大用:呂世浩(Shih-Hao Lu) at TEDxTaipei 2014
网上看到的不错的视频: https://www.youtube.com/watch?v=Ap0w3PgSK7g ============================================ ...
- NVIDIA显卡cuda的多进程服务——MPS(Multi-Process Service)
相关内容: tensorflow1.x--如何在C++多线程中调用同一个session会话 tensorflow1.x--如何在python多线程中调用同一个session会话 参考: https:/ ...