1、控制面板组件(Master)
bash
复制代码
API 服务器是 Kubernetes 控制平面的组件, 该组件负责公开了 Kubernetes API,
负责处理接受请求的工作。 API 服务器是 Kubernetes 控制平面的前端。
bash
复制代码
kube-controller-manager 是控制平面的组件, 负责运行控制器进程。
从逻辑上讲, 每个控制器都是一个单独的进程, 但是为了降低复杂性,它们都被编译到同一个可执行文件,
并在同一个进程中运行。
这些控制器包括:
节点控制器(Node Controller):负责在节点出现故障时进行通知和响应
任务控制器(Job Controller):监测代表一次性任务的 Job 对象,然后创建 Pods
来运行这些任务直至完成
端点分片控制器(EndpointSlice controller):填充端点分片(EndpointSlice)对象
(以提供 Service 和 Pod 之间的链接)。
服务账号控制器(ServiceAccount controller):为新的命名空间创建默认的服务账号
(ServiceAccount)。
bash
复制代码
嵌入了特定于云平台的控制逻辑。 云控制器管理器(Cloud Controller Manager)允许你将你的集群
连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。
bash
复制代码
scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;
bash
复制代码
一致且高度可用的键值存储,用作 Kubernetes 的所有集群数据的后台数据库。
2、节点组件(node)
bash
复制代码
kubelet 负责维护容器的生命周期,同时也负责 Volume(CVI)和网络(CNI)的管理;
bash
复制代码
kube-proxy 负责为 Service 提供 cluster 内部的服务发现和负载均衡;
bash
复制代码
Container runtime 负责镜像管理以及 Pod 和容器的真正运行(CRI);
Kubernetes 支持许多容器运行环境,例如 containerd、 CRI-O 以及 Kubernetes CRI
(容器运行环境接口) 的其他任何实现。