特邀文章,原载于Gemini Open Cloud的博客,作者是Gemini Open Cloud的CEO Patrick Fu

Kubernetes是一个可移植的、可扩展的、开源的集群管理器,用于管理容器化工作负载和服务。Kubernetes的功能包括自动软件部署、协调、自动扩展和管理服务使用的虚拟化资源。Kubernetes还包括一个调度器,在工作节点之间均匀地分配任务。

这篇博客将重点讨论Kubernetes集群管理中的调度器组件。此外,我们还将放大我们如何定制调度器,以解决一些特定的使用案例。

首先,让我们快速回顾一下Kubernetes集群管理的情况。Figure 1. Kubernetes Cluster System Structure图1.Kubernetes集群系统结构

图1描述了Kubernetes集群的标准结构。Kubernetes是一个分布式管理系统,它至少包含一个主节点(控制平面),和多个工作节点。主节点包含以下组件。

  • API服务器--负责与工作节点上的Kubelet进行通信。API服务器还负责认证和检查请求者的授权。
  • Etcd--这是系统的关键状态的键值存储。Etcd负责对Kubernets集群的状态进行快照。
  • 控制器管理器--负责通过apiserver监控集群的共享状态,