58 Kubernetes的资源模型与调度器设计
你好,我是周志明。
调度是容器编排系统最核心的功能之一,“编排”这个词本来也包含了“调度”的含义。调度是指为新创建出来的Pod,寻找到一个最恰当的宿主机节点来运行它,而这个过程成功与否、结果恰当与否,关键就取决于容器编排系统是怎么管理和分配集群节点的资源的。
那么这样一来,我们就可以认为,调度必须要以容器编排系统的资源管控为前提。
因此这节课,我们就从Kubernetes的资源模型谈起,来学习下Kubernetes是如何为一个新创建出来的Pod,寻找到一个最恰当的宿主机节点来运行的。
资源模型
在开始之前,我们先来理清一个概念:资源是什么。
在Kubernetes中,资源是非常常用的术语,从广义上来讲,Kubernetes系统中所有你能接触的方方面面,都被抽象成了资源,比如表示工作负荷的资源(Pod、ReplicaSet、Service、……),表示存储的资源(Volume、PersistentVolume、Secret、……),表示策略的资源(SecurityContext、ResourceQuota、LimitRange、……),表示身份的资源(ServiceAccount、Role、ClusterRole、……),等等。