kube-apiserver:

https://k8smeetup.github.io/docs/admin/kube-apiserver/
Kubernetes API server 为 api 对象验证并配置数据,包括 pods、
services、 replicationcontrollers 和其它 api 对象,API Server 提供 REST 操作和到
集群共享状态的前端,所有其他组件通过它进行交互。

Kubernetes scheduler

https://k8smeetup.github.io/docs/admin/kube-scheduler/
Kubernetes scheduler 是一个拥有丰富策略、能够感知拓扑变化、支持特定负载的
功能组件,它对集群的可用性、性能表现以及容量都影响巨大。scheduler 需要考
虑独立的和集体的资源需求、服务质量需求、硬件/软件/策略限制、亲和与反亲
和规范、数据位置、内部负载接口、截止时间等等。如有必要,特定的负载需求
可以通过 API 暴露出来。

kube-controller-manager

https://k8smeetup.github.io/docs/admin/kube-controller-manager/
kube-controller-manager:Controller Manager 作为集群内部的管理控制中心,负
责集群内的 Node、Pod 副本、服务端点(Endpoint)、命名空间(Namespace)、
服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个 Node
意外宕机时,Controller Manager 会及时发现并执行自动化修复流程,确保集群始
终处于预期的工作状态。

kube-proxy

https://k8smeetup.github.io/docs/admin/kube-proxy/
kube-proxy:Kubernetes 网络代理运行在 node 上,它反映了 node 上
Kubernetes API 中定义的服务,并可以通过一组后端进行简单的 TCP、UDP 流转
发或循环模式(round robin))的 TCP、UDP 转发,用户必须使用 apiserver API 创
建一个服务来配置代理,其实就是 kube-proxy 通过在主机上维护网络规则并执行
连接转发来实现 Kubernetes 服务访问。

kubelet

https://k8smeetup.github.io/docs/admin/kubelet/
kubelet:是主要的节点代理,它会监视已分配给节点的 pod,

具体功能如下:

向 master 汇报 node 节点的状态信息
接受指令并在 Pod 中创建 docker 容器
准备 Pod 所需的数据卷
返回 pod 的运行状态
在 node 节点执行容器健康检查
https://github.com/etcd-io/etcd

etcd:

etcd 是 Kubernetes 提供默认的存储系统,保存所有集群数据,使用时需要为 etcd
数据提供备份计划