Master 组件

  1. Master组件提供集群的管理控制中心。
  2. Master组件可以在集群中任何节点上运行。
  3. 但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。
  4. 【集群的大脑---电脑的CPU

kube-apiserver

  1. kube-apiserver用于暴露Kubernetes API
  2. 任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。
  3. 【集群的统一入口】

ETCD

  1. etcdKubernetes提供默认的存储系统,保存所有集群数据,使用时需要为etcd数据提供备份计划。
  2. 【数据库】

kube-controller-manager

  1. kube-controller-manager运行管理控制器,是集群中处理常规任务的后台线程。
  2. 包括:
  3. 节点(Node)控制器。
  4. 副本(Replication)控制器:负责维护系统中每个副本中的pod
  5. 端点(Endpoints)控制器:填充Endpoints对象(即连接ServicesPods)。
  6. Service AccountToken控制器:为新的Namespace 创建默认帐户访问API Token

cloud-controller-manager

  1. 云控制器管理器负责与底层云提供商的平台交互

kube-scheduler

  1. kube-scheduler 监视新创建没有分配到NodePod,为Pod选择一个Node

节点(Node)组件

  1. 节点组件运行在Node,提供Kubernetes运行时环境,以及维护Pod

kubelet

  1. kubelet是主要的节点代理,它会监视已分配给节点的pod,具体功能:
  2. 安装Pod所需的volume
  3. 下载PodSecrets
  4. Pod中运行的 docker(或experimentallyrkt)容器。
  5. 定期执行容器健康检查。

kube-proxy

  1. kube-proxy通过在主机上维护网络规则并执行连接转发来实现Kubernetes服务抽象。
  2. 【分发】

docker

  1. 运行容器