The present invention relates to a cluster resource scheduling technology, provides a method of parallel scheduling in the cluster container, the scheduler periodically obtain cluster state information, the state information including all container cluster resource information of all nodes in the cluster and the cluster description information; description information of the container comprises a container, the container identification ID the container demand for resources and the container deployment node identification ID; resource information of the nodes including the number of ID nodes and the resource identifier of the node with the container information; according to the cluster status information, the scheduler has the scheduling of container information and other scheduler scheduled, will be deployed to the container scheduling the nodes in the cluster; among them, ID and ID container container deployment node information of the scheduled container has the scheduling. Through the above scheme, the problem of resource conflict in parallel scheduling is effectively reduced.
【技术实现步骤摘要】
一种在集群中并行调度容器的方法和装置
本专利技术涉及集群资源调度相关
,尤其涉及一种在集群中并行调度容器的方法和装置。
技术介绍
随着虚拟化技术的发展,越来越多的公司将自己的线上应用迀移到云平台上。容器(Container)作为一种轻量级的虚拟化技术,近年来发展迅速。容器技术为不同的应用程序创造了独立的运行环境,实现了资源隔离、配置与安全保障,能够满足应用按需分配的资源需求以及保证应用的隔离性和可用性。为了满足大型应用的需求,实践中往往需要将很多容器部署在计算机集群(Cluster,以下简称集群)中进行统一管理并对外提供服务。容器集群管理工具目前有Google公司的Kubernetes,Docker公司的DockerSwarm,CloudFoundry公司的Diego等。以Kuberentes为例,Kubernetes是由Google开源的容器集群管理系统,为在分布式集群环境下大规模容器化的应用提供资源调度、部署运行、服务发现、弹性伸缩等功能。Kubernetes通过在线方式监控容器集群状态,判断容器运行状态是否符合用户的配置,以决定是否要创建或删除容器。资源调度是容器集群管理系统需要解决的一个重要问题,资源调度是指为一个待部署的容器通过一定的规则在集群的众多节点中选择一个适合部署该容器的节点,调度器一般需要考虑待部署容器需要的资源(多少CPU、多少Memory、多少硬盘等)以及一些其它约束,例如是否需要部署在指定位置、是否需要把该容器与和它相同类型的其它容器分散部署在集群中等等。图1是以Kubernetes为例的容器集群中的资源调度方案。其中,no ...
【技术保护点】
一种在集群中并行调度容器的方法,其特征在于,包括:调度器周期性的获取集群状态信息Shared_Info,所述集群状态信息包括集群中所有节点的资源信息和集群中所有容器的描述信息;其中,所述容器的描述信息包括该容器的容器标识ID、该容器对资源的需求和该容器的部署节点标识ID;所述节点的资源信息包括该节点的标识ID和该节点拥有的资源数量;根据所述Shared_Info、所述调度器已调度的容器信息Assumed_Local和其他调度器已调度的容器信息Assumed_Remote,将待部署的容器调度到集群中的节点上;其中,所述已调度的容器信息包括已调度的容器的容器ID和部署节点ID。
【技术特征摘要】
1.一种在集群中并行调度容器的方法,其特征在于,包括:调度器周期性的获取集群状态信息Shared_Info,所述集群状态信息包括集群中所有节点的资源信息和集群中所有容器的描述信息;其中,所述容器的描述信息包括该容器的容器标识ID、该容器对资源的需求和该容器的部署节点标识ID;所述节点的资源信息包括该节点的标识ID和该节点拥有的资源数量;根据所述Shared_Info、所述调度器已调度的容器信息Assumed_Local和其他调度器已调度的容器信息Assumed_Remote,将待部署的容器调度到集群中的节点上;其中,所述已调度的容器信息包括已调度的容器的容器ID和部署节点ID。2.如权利要求1所述的方法,其特征在于,所述根据所述集群状态信息Shared_Info、所述调度器已调度的容器信息Assumed_Local和其他调度器已调度的容器信息Assumed_Remote,将待部署的容器调度到集群中的节点上,具体为:根据所述Shared_Info、所述Assumed_Local和所述Assumed_Remote,生成当前决策信息Current_State;根据所述Current_State和预设的调度规则将待部署的容器调度到集群中的节点上。3.如权利要求2所述的方法,其特征在于,所述根据所述Shared_Info、所述Assumed_Local和所述Assumed_Remote,生成当前决策信息Current_State,具体为:当所述Shared_Info与所述Assumed_Local或者所述Assumed_Remote中关于某一个容器的部署节点有冲突时,以所述Assumed_Local或者所述Assumed_Remote为准,生成所述Current_State。4.如权利要求1-3任一所述的方法,其特征在于,在所述获取集群状态信息之前,所述方法还包括:接收所述其他调度器发送的调度通告,所述其他调度器发送的调度通告包括容器ID和节点ID;将所述其他调度器发送的调度通告保存到所述Assumed_Remote中;在所述将待部署的容器调度到集群中的节点上之后,所述方法还包括:向所述其他调度器发送包含所述待部署的容器的容器ID和所述集群中的节点的节点ID的调度通告。5.如权利要求4所述的方法,其特征在于,所述调度通告中还包括该调度通告生成的时间。6.一种在集群中并行调度容器的装置,其特征在于,包括:交互单元,用于周期性的获取集群状态信息,所述集群状态信息包括...
【专利技术属性】
技术研发人员:丁海洋,谢军安,胡瑞丰,蒋飞虎,姜耀国,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。