Skip to content

Latest commit

 

History

History
52 lines (34 loc) · 2.5 KB

File metadata and controls

52 lines (34 loc) · 2.5 KB

k8s概念-组件

kubernetes组件

kuberneetes集群是由控制平面的组件和一组称为节点的机器组成

控制平面组件

控制平面组件会为集群做出全局决策,比如资源的调度。以及检测和响应集群事件,控制平面组件可以在集群中的任何节点上运行。然而为了简单,设置脚本通常会在用一个计算机上启动所有控制平面组件,并且不会在此计算机上运行用户容器。

kube-apiserver

API服务器是控制平面的组件,该组件负责公开了kubernetes API,负责处理接受请求的工作。API服务器是kubernetes控制平面的前端。(实例主要是kube-apiserver)

etcd

一致且高可用的键值存储,用作kubernetes所有集群数据的后台数据库

kube-scheduler

负责监视新创建、未指定运行节点的Pods,并选择节点让Pod在上面运行

调度决策考虑的因素包括单个Pod及Pods集合的资源需求、软硬件及策略约束、 亲和性及反亲和性规范、数据位置、工作负载间的干扰及最后时限。

kube-controller-manager

负责运行控制器进程

控制器包括

  • 节点控制器(Node Controller):负责在节点出现故障时进行通知和响应
  • 任务控制器(Job Controller):监测代表一次性任务的 Job 对象,然后创建 Pods 来运行这些任务直至完成
  • 端点分片控制器(EndpointSlice controller):填充端点分片(EndpointSlice)对象(以提供 Service 和 Pod 之间的链接)。
  • 服务账号控制器(ServiceAccount controller):为新的命名空间创建默认的服务账号(ServiceAccount)。

cloud-controller-manager

嵌入了特定于云平台的控制逻辑。 云控制器管理器(Cloud Controller Manager)允许你将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。

Node组件

节点组件会在每个节点上运行,负责维护运行的Pod并提供kubernetes运行环境

kubelet

会在集群中每个节点上运行 kubelet 接收一组通过各类机制提供给它的 PodSpecs, 确保这些 PodSpecs 中描述的容器处于运行状态且健康。 kubelet 不会管理不是由 Kubernetes 创建的容器。

kube-proxy

集群中每个节点上所运行的网络代理,实现服务的一部分

容器运行时

containerd、 CRI-O 等

插件

DNS

Web 界面(仪表盘)

容器资源监控

集群层面日志