scheduler(调度器,把请求、指令调度到某个node节点上面,属于资源调度器.调度程序会考虑容器集的资源需求(例如 CPU 或内存)以及集群的运行状况。随后,它会将容器集安排到适当的计算节点)
调度算法
预选调度 遍历所有node,筛选符合要求的
最优调度 采用优选策略
controllers(负责维护管理资源对象.控制器用于查询调度程序,并确保有正确数量的容器集在运行。如果有容器集停止运行,另一个控制器会发现并做出响应。控制器会将服务连接至容器集,以便让请求前往正确的端点。还有一些控制器用于创建帐户和 API 访问令牌。)
replication controller 副本控制器 控制pod的数量,保持和预期的数量一致
node controller 节点控制器 监控,检查node节点的状态
namespace controller 定期清理无效的namespace
service controller 提供负载均衡的代理服务控制器
endpoints controller 维系pod和service的关系
service account controller 安全相关 secret等
persistent volume controller 数据卷控制器
daemon set controller 负责创建维护daemon pod的控制器
deployment controller 管理kind deplyment资源对象
Job controller 一次性任务
Pod Autoscaler controller 扩容
api server (Kubernetes 控制平面的前端,用于处理内部和外部请求。API 服务器会确定请求是否有效,如果有效,则对其进行处理。您可以通过 REST 调用、kubectl 命令行界面或其他命令行工具(例如 kubeadm)来访问 API。)