功能模块,核心组件,拓展组件等内容讲解
树图思维导图提供 Kubernetes各小组件及功能脑图 在线思维导图免费制作,点击“编辑”按钮,可对 Kubernetes各小组件及功能脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a0b4b67da9c5a2c14d6f0407da802125
Kubernetes各小组件及功能脑图思维导图模板大纲
1.API服务器(APIServer)
接受客户端请求,处理请求并返回结果
维护集群状态信息
2.调度器(Scheduler)
负责将Pod分配到可用的节点上
选择最优节点来运行Pod
3.副本控制器(ReplicaController)
自动更新正在运行的Pod副本数量
根据配置要求(如副本数量、命名空间等)进行操作
1.网络插件(NetworkPlugin)
负责Kubernetes网络策略的实现和执行
管理节点之间的网络连接
2.AdmissionControl(准入控制器)
对KubernetesAPI进行过滤,控制资源创建和更新
增强集群的安全性
3.CloudProvider(云提供商)
与特定的云服务提供商交互,包括AWS、GCP、Azure等
负责资源的创建、管理和删除
1.Label和Selectors(标签和选择器)
为集群中的资源分配标签,便于识别和管理
简而言之,我们的label,也就是标签,在kubernetes集群中,node节点肯定是需要打上标签的,我们不能让服务出现在任意节点,比如说,不同项目使用一个service控制,那么我们就需要一个项目打一个标签
使用选择器筛选具有特定标签的资源
2.Resources(资源)
定义资源类型,如Pod、Deployment、Service等
指定资源的元数据、约束、行为等
3.Kubelet节点代理(节点代理)
管理集群中节点的生命周期和状态信息
与API服务器交互,管理pod的运行和停止等操作
3.1kubectl、kubeadm
kubectl为kubenetes命令行工具,新node中得安装、kubeadm是一个初始化kubernetes新节点的工具,包含kubenetes的各种初始模块安装
4.ConfigMaps和Secrets(配置映射和秘密)
使用ConfigMaps传递敏感信息到Pod中,如认证信息、密钥等
使用Secrets传递敏感数据,并在Pod中进行加密和解密操作
理解:
主要负责管理和控制整个kubernetes集群,堆集群做出全局性决策,相当于整个集群的大脑。集群所有执行的控制命令都由master服务端接收并处理。
主要任务
集群大脑,负责管理所有node
负责调度pod在哪些节点上运行
负责控制集群运行过程中的所有状态
主要组件
apiserver
集群的http rest api接口,是集群控制的入口
apiserver,简单来说,master节点的kubectl是我们的命令行,而apiserver就是接收来自kubectl 的信息并执行或写入etcd,然后如果我们涉及到调度,那么就需要apiserver与scheduler通信,如果不需要调度,那么apiserver就会直接与node节点中的kubectl通信。
contaroller-manager
集群中所有资源对象的自动化控制中心
Controller Manager会从etcd中读取集群的状态信息,包括Pod、Node等资源对象的状态和配置。然后,Controller Manager会根据这些信息以及预设的规则和策略,来决定如何执行相应的操作,例如创建、更新或删除Pod等
上面有说到,apiserver涉及到调度会与scheduler同行
scheduler
集群调度器,简单来说就是判断pod运行位置
Scheduler与API Server进行通信,然后由Scheduler与Node节点中的Kubelet进行通信。 当Pod需要调度到某个Node节点上时,Scheduler会与API Server进行通信,通过API Server的Watch接口监听到新建Pod副本的信息。然后,Scheduler会检索所有符合该Pod要求的Node列表,开始执行Pod调度逻辑。 一旦调度成功,Scheduler会通知API Server更新Pod的绑定信息。API Server将新的Pod状态写入etcd,然后相关的Node节点上的Kubelet会通过API Server的Watch接口监听到Pod状态的改变。 Kubelet会与API Server通信以获取Pod的配置信息,并在该节点上启动和停止Pod。因此,Scheduler确实起到了中间协调的作用,它与API Server通信以接收Pod的调度指令,并随后与Node节点上的Kubelet通信以执行具体的调度操作。 这种设计使得Kubernetes能够实现灵活的、自动化的资源调度和管理,以满足不同工作负载的需求
在需要调度Pod时,Controller Manager会与Scheduler进行通信
etcd
集群中的存储,保存所有集群数据,包括k8s集群的配置信息和各种资源的状态信息。etcd内部采用raft协议作为一致性算法,基于go语言实现,并且直接提供HTTP的接口
理解:
master做为集群大脑,那node节点就相当于分包公司,我们master负责接项目,分给node节点干
主要任务
负责管理所有容器(container)
负责监控、上报所有pod的状态
主要组件
kubelet
node节点上的命令执行都是kubelet执行,主要负责创建、删除等操作
与master节点上的apiserver通信
通信流程:kubectl收到来自
kube-proxy
负责kubernets服务的通信以及负载均衡服务
container
负责容器的基础服务,接收来自kubelet 组件的指令
kubectl是通过命令行交互的方式与kubernetes api server 进行交互的,kubernetes还提供了通过编程的方式与kubernetes api server进行通信,client-go是从kubernetes 的代码中单独抽离出来的包,并做为官方的提供的go语言的客户端发挥作用。client-go简单、易用,kubernetes系统固定其他组件与kubernetes apiserver通信的方式也基于client-go实现。
其中大部分基于kubernetes做二次开发的程序中,建议通过client-go来实现与kubernetes apiserver的交互过程。这是因为client-go在kubernetes系统上做了大量的优化,kubernetes的核心组件都通过了client-go与kubernets交互
这里我们所说的API就是apiserver,是master思维导图模板大纲
树图思维导图提供 二手书销售平台新航标 在线思维导图免费制作,点击“编辑”按钮,可对 二手书销售平台新航标 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a92403b70afada50cf4fa4f56e0981c9
树图思维导图提供 广播电视奖项及评奖标准 在线思维导图免费制作,点击“编辑”按钮,可对 广播电视奖项及评奖标准 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a4210651fa3a78355ac9f5101bb2c616