TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网产品结构Kubernetes各小组件及功能脑图思维导图

Kubernetes各小组件及功能脑图思维导图

  收藏
  分享
免费下载
免费使用文件
U553635134 浏览量:202024-09-21 10:56:59
已被使用5次
查看详情Kubernetes各小组件及功能脑图思维导图

功能模块,核心组件,拓展组件等内容讲解

树图思维导图提供 Kubernetes各小组件及功能脑图 在线思维导图免费制作,点击“编辑”按钮,可对 Kubernetes各小组件及功能脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a0b4b67da9c5a2c14d6f0407da802125

思维导图大纲

Kubernetes各小组件及功能脑图思维导图模板大纲

Kubernetes核心组件

1.API服务器(APIServer)

接受客户端请求,处理请求并返回结果

维护集群状态信息

2.调度器(Scheduler)

负责将Pod分配到可用的节点上

选择最优节点来运行Pod

3.副本控制器(ReplicaController)

自动更新正在运行的Pod副本数量

根据配置要求(如副本数量、命名空间等)进行操作

Kubernetes扩展组件

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中进行加密和解密操作

Master节点理论:

理解:

主要负责管理和控制整个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的接口

Node节点理论:

理解:

master做为集群大脑,那node节点就相当于分包公司,我们master负责接项目,分给node节点干

主要任务

负责管理所有容器(container)

负责监控、上报所有pod的状态

主要组件

kubelet

node节点上的命令执行都是kubelet执行,主要负责创建、删除等操作

与master节点上的apiserver通信

通信流程:kubectl收到来自

kube-proxy

负责kubernets服务的通信以及负载均衡服务

container

负责容器的基础服务,接收来自kubelet 组件的指令

client-go

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思维导图模板大纲

相关思维导图模板

系统控制器思维导图

树图思维导图提供 系统控制器 在线思维导图免费制作,点击“编辑”按钮,可对 系统控制器  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:85447c6ac07015764ddd8d6764c0c34b

咀嚼功能思维导图

树图思维导图提供 咀嚼功能 在线思维导图免费制作,点击“编辑”按钮,可对 咀嚼功能  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:2b5353e2b00047ef830b35e7b9765a02