0%

k8s组件

k8s根据官网指引学习Kubernetes 文档 | Kubernetes

Kubernetes 组件

Kubernetes 组件 | Kubernetes

部署成功之后,便拥有了一个完整的集群。

一组工作机器,称为节点(node), 会运行容器化应用程序(containerd)。每个集群至少有一个工作节点(node)。

工作节点(node)会托管 Pod,而 Pod 就是作为应用负载的组件。 控制平面(control-plane)管理集群中的工作节点和 Pod。 在生产环境中,控制平面通常跨多台计算机运行, 一个集群通常运行多个节点,提供容错性和高可用性。

components-of-kubernetes

控制平面组件(Control Plane Components)

用来做资源调度,一般称之为master节点,以下是Control Plane内部组件说明

kube-apiserver

k8s资源调度命令其实底层就是调用api,这个组件的功能就是字面意思,提供api服务的

etcd

Kubernetes 所有集群数据的后台数据库

kube-scheduler

负责监视新创建的、未指定运行节点(node)的 Pods, 并根据各个节点的健康状态来选择节点来运行Pod

kube-controller-manager

控制器管理,用来管理Control Plane内部的一系列控制器,比如

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

cloud-controller-manager

允许你将集群连接到云提供商的 API 上,一般用不到,学习不需要,公司内网也不需要

Node 组件

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

kubelet

接收一组通过各类机制提供给它的 PodSpec也就是yaml配置,并且翻译成pod和容器运行

kube-proxy

实现集群内外的网络通信

容器运行时(Container Runtime)

管理 容器的执行和生命周期,支持许多容器运行环境,例如 containerd、 CRI-O

插件(Addons)

赏口饭吃吧!