Kubernetes集群的资源调度方法及相关设备与流程
未命名
10-17
阅读:161
评论:0
kubernetes集群的资源调度方法及相关设备
技术领域
1.本技术涉及通信技术领域,尤其涉及一种kubernetes集群的资源调度方法及相关设备。
背景技术:
2.kubernetes,简称k8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效,kubernetes提供了应用部署,规划,更新,维护的一种机制。通常在kubernetes平台上,应用容器一般由多个容器组(如pod)组成。kubernetes调度器以单个pod为单元进行资源调度,不支持处理批量应用容器,导致部分容器组因计算集群的物理资源不足无法部署,进而导致应用容器部署失败。
3.现有技术通常在部署失败后进行手动扩容集群节点,然后再进行应用容器的重新部署。
4.然而,手动扩容以及重新部署应用容器的方法会导致kubernetes集群的资源调度效率低以及资源利用率低的问题。
技术实现要素:
5.本技术提供一种kubernetes集群的资源调度方法及相关设备,用以解决kubernetes集群的资源调度效率低的问题。
6.第一方面,本技术提供一种kubernetes集群的资源调度方法,包括:
7.接收容器实例创建请求,所述容器实例创建请求中包括所需的资源配额以及节点标签;
8.根据所述资源配额以及所述节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点;
9.若存在,则在所述kubernetes集群的真实节点上创建所述容器实例;
10.若不存在,则在所述kubernetes集群的虚拟节点上创建所述容器实例,所述虚拟节点基于虚拟库伯内特virtual-kubelet技术构建。
11.在一种可能的设计中,所述方法还包括:
12.接收容器实例删除请求;
13.若所述容器实例删除请求中包含虚拟节点标签,将所述容器实例删除请求对应的容器实例删除;
14.若所述容器实例删除请求中不包含所述虚拟节点标签,将所述容器实例删除请求对应的容器实例删除后,将匹配数量的虚拟节点上的所述容器实例调度至所述真实节点上。
15.在一种可能的设计中,所述kubernetes集群包括多个所述真实节点,所述在所述kubernetes集群的真实节点上创建所述容器实例,包括:
16.根据所述资源配额以及所述节点标签对多个所述真实节点进行过滤,得到相匹配
的真实节点;
17.若只存在一个所述相匹配的真实节点,将该相匹配的真实节点作为所述容器实例的创建节点,若存在至少两个相匹配的真实节点,选取剩余内存最多的所述相匹配的真实节点作为所述容器实例的创建节点;
18.在所述创建节点上创建所述容器实例。
19.在一种可能的设计中,所述容器实例创建请求中包括云平台标签,所述在所述kubernetes集群的虚拟节点上创建所述容器实例,包括:
20.通过虚拟节点的创建接口,将所述实例创建请求转换为所述云平台标签对应的云平台容器实例创建请求;
21.将所述云平台容器实例创建请求发送至所述云平台标签对应的iaas资源池中,以在所述iaas资源池中创建所述容器实例。
22.在一种可能的设计中,所述通过所述虚拟节点的创建接口,将所述实例创建请求转换为所述云平台标签对应的云平台实例创建请求之前,还包括:
23.对所述容器实例创建请求标记所述虚拟节点标签。
24.在一种可能的设计中,所述容器实例删除请求中包括云平台标签,所述若所述容器实例删除请求中包含虚拟节点标签,将所述容器实例删除请求对应的容器实例删除,包括:
25.若所述容器实例删除请求中包含虚拟节点标签,通过虚拟节点的删除接口,将所述容器实例删除请求转换为所述云平台标签对应的云平台容器实例删除请求;
26.将所述云平台容器实例删除请求发送至所述云平台标签对应的iaas资源池中,以在所述iaas资源池中删除所述容器实例。
27.在一种可能的设计中,所述将匹配数量的虚拟节点上的所述容器实例调度至所述真实节点上,包括:
28.计算已删除的容器实例所占的资源量;
29.根据所述资源量确定所述虚拟节点上的待调度的容器实例;
30.在所述真实节点上重新创建所述待调度的容器实例。
31.在一种可能的设计中,所述将匹配数量的虚拟节点上的所述容器实例调度至所述真实节点上,还包括:
32.生成待调度的容器实例删除请求,所述待调度的容器实例删除请求包括云平台标签;
33.通过所述虚拟节点的删除接口,将所述待调度的容器实例删除请求转换为所述云平台标签对应的云平台待调度的容器实例删除请求;
34.将所述云平台待调度的容器实例删除请求发送至所述云平台标签对应的iaas资源池中,以在所述iaas资源池中删除所述待调度的容器实例。
35.在一种可能的设计中,所述方法还包括:
36.对所述kubernetes集群中的容器实例的状态进行监控,所述容器实例包括真实节点上的容器实例以及虚拟节点上的容器实例;
37.根据所述容器实例的状态访问所述容器实例对应的服务。
38.第二方面,本技术提供一种kubernetes集群的资源调度装置,包括:
39.接收模块,用于接收容器实例创建请求,所述容器实例创建请求中包括所需的资源配额以及节点标签;
40.确定模块,用于根据所述资源配额以及所述节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点;
41.创建模块,用于若存在,则在所述kubernetes集群的真实节点上创建所述容器实例;
42.所述创建模块,还用于若不存在,则在所述kubernetes集群的虚拟节点上创建所述容器实例,所述虚拟节点基于虚拟库伯内特virtual-kubelet技术构建。
43.第三方面,本技术提供一种kubernetes集群的资源调度设备,包括:
44.处理器,存储器,通信接口;
45.所述存储器用于存储所述处理器的可执行指令;
46.其中,所述处理器配置为经由执行所述可执行指令来执行如上第一方面所述的kubernetes集群的资源调度方法。
47.第四方面,本技术提供一种可读存储介质,包括:其上存储有计算机程序,所述计算机程序被处理器执行时实现执行如上第一方面所述的kubernetes集群的资源调度方法。
48.本技术提供的kubernetes集群的资源调度方法及相关设备,通过接收容器实例创建请求,容器实例创建请求中包括所需的资源配额以及节点标签,根据资源配额以及节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点,若存在,则在kubernetes集群的真实节点上创建容器实例,若不存在,则在kubernetes集群的虚拟节点上创建容器实例,虚拟节点基于虚拟库伯内特virtual-kubelet技术构建,其中,通过基于虚拟库伯内特virtual-kubelet技术在kubernetes集群构建虚拟节点,用于在kubernetes集群真实节点无法满足容器实例创建请求的要求时,进行对应的容器实例的创建,提高了资源调度的效率。
附图说明
49.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
50.图1为本技术提供的kubernetes集群的资源调度的网络架构图;
51.图2为本技术实施例提供的kubernetes集群的资源调度方法的流程示意图;
52.图3为本技术实施例提供的另一种kubernetes集群的资源调度方法的流程示意图;
53.图4为本技术实施例提供的在kubernetes集群的真实节点上创建容器实例的流程示意图;
54.图5为本技术实施例提供的在kubernetes集群的虚拟节点上创建容器实例的流程示意图;
55.图6为本技术实施例提供的若容器实例删除请求中包含虚拟节点标签,将容器实例删除请求对应的容器实例删除的流程示意图;
56.图7为本技术实施例提供的将匹配数量的虚拟节点上的容器实例调度至真实节点上的流程示意图;
57.图8为本技术实施例提供的一种kubernetes集群的资源调度装置的结构示意图;
58.图9为本技术实施例提供的一种kubernetes集群的资源调度设备的结构示意图。
59.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
60.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
61.现有技术通常在部署失败后进行手动扩容集群节点,然后再进行应用容器的重新部署。然而,手动扩容以及重新部署应用容器的方法会导致kubernetes集群的资源调度效率低以及资源利用率低的问题。
62.本技术通过接收容器实例创建请求,容器实例创建请求中包括所需的资源配额以及节点标签,根据资源配额以及节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点,若存在,则在kubernetes集群的真实节点上创建容器实例,若不存在,则在kubernetes集群的虚拟节点上创建容器实例,虚拟节点基于虚拟库伯内特virtual-kubelet技术构建,其中,通过基于虚拟库伯内特virtual-kubelet技术在kubernetes集群构建虚拟节点,用于在kubernetes集群真实节点无法满足容器实例创建请求的要求时,进行对应的容器实例的创建,提高了资源调度的效率。
63.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
64.本技术涉及的对kubernetes集群的资源进行调度的网络架构包括:容器云管理平台、kubernetes集群以及多个云平台iaas资源池。图1为本技术提供的kubernetes集群的资源调度的网络架构图。
65.具体地,容器云管理平台与kubernetes集群以及多个云平台iaas资源池连接,用于创建容器实例创建请求和/或容器实例删除请求,还用于建立和/或接管云平台iaas资源池。kubernetes集群分别与多个云平台iaas连接,用于实现本技术提供的kubernetes集群的资源调度方法。各云平台iaas资源池用于根据云平台容器实例创建请求和/或云平台容器实例删除请求,创建和/或删除容器实例。
66.图2为本技术第一实施例提供的kubernetes集群的资源调度方法的流程示意图,其中,执行主体为kubernetes集群。
67.如图2所示,本实施例的kubernetes集群的资源调度方法可以包括以下步骤:
68.步骤s201、接收容器实例创建请求,容器实例创建请求中包括所需的资源配额以及节点标签。
69.具体地,可以接收容器云管理平台发送的容器实例创建请求,其中,容器实例创建请求中包括创建当前容器实例所需的资源配额以及节点标签,其中,资源配额是指创建当
前容器实例所需的资源量,其中,节点标签是指创建当前容器实例所需满足的节点标签要求,即,若kubernetes集群的真实节点带有当前容器实例创建请求中包含的节点标签,则该真实节点满足当前容器实例创建请求对节点标签的要求,在该真实节点同时满足当前容器实例创建请求对资源量的要求的情况下,可以在该真实节点进行当前容器实例对应的容器实例的创建。
70.步骤s202、根据资源配额以及节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点。
71.具体地,可以根据步骤s201中描述的容器实例创建请求包括的资源配额以及节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点,即是否存在符合创建条件的真实节点。具体地,当kubernetes集群中存在满足当前容器实例创建请求对节点标签的要求,且同时满足当前容器实例创建请求对资源量的要求的真实节点时,kubernetes集群中存在与容器实例创建请求相匹配的真实节点,否则不存在。
72.步骤s203、若存在,则在kubernetes集群的真实节点上创建容器实例。
73.具体地,根据步骤s202中的描述,若kubernetes集群中存在与容器实例创建请求相匹配得真实节点,则在kubernetes集群的容器实例创建请求相匹配的真实节点上创建容器实例创建请求对应的容器实例。
74.步骤s204、若不存在,则在kubernetes集群的虚拟节点上创建容器实例,虚拟节点基于虚拟库伯内特virtual-kubelet技术构建。
75.具体地,根据步骤s202中的描述,若kubernetes集群中不存在与容器实例创建请求相匹配的真实节点,则在kubernetes集群的虚拟节点上创建容器实例创建请求对应的容器实例,其中,虚拟节点基于虚拟库伯内特virtual-kubelet技术构建,可选的,在kubernetes集群在进行本技术提供的资源调度之前,可以预先部署virtual-kubelet组件,用于模拟构建上述用于创建容器实例的虚拟节点。可选的,在kubernetes集群在进行本技术提供的资源调度之前,可以预先部署调度控制组件,用于完成步骤s201至本步骤中描述的接收容器实例创建请求,并根据其资源配额以及节点标签对kubernetes集群的资源进行调度。
76.本实施例提供的kubernetes集群的资源调度方法,通过接收容器实例创建请求,容器实例创建请求中包括所需的资源配额以及节点标签,根据资源配额以及节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点,若存在,则在kubernetes集群的真实节点上创建容器实例,若不存在,则在kubernetes集群的虚拟节点上创建容器实例,虚拟节点基于虚拟库伯内特virtual-kubelet技术构建,其中,通过基于虚拟库伯内特virtual-kubelet技术在kubernetes集群构建虚拟节点,用于在kubernetes集群真实节点无法满足容器实例创建请求的要求时,进行对应的容器实例的创建,提高了资源调度的效率。
77.图3为本技术第二实施例提供的另一种kubernetes集群的资源调度方法的流程示意图,在图1至图2任一项所示实施例的基础上,本实施例对接收实例删除请求的情况下对应的kubernetes集群的资源调度方法进行了展开描述。
78.如图3所示,本实施例的kubernetes集群的资源调度方法可以包括以下步骤:
79.步骤s301、接收容器实例删除请求。
80.具体地,可选的,可以接收容器实例删除请求,其中,容器实例删除请求创建于减少kubernetes集群的容器实例副本的数量的情况下。可选的,步骤s204中描述的调度控制组件在接收到容器实例删除请求后,可对kubernetes集群的资源进行如下调度。
81.步骤s302、若容器实例删除请求中包含虚拟节点标签,将容器实例删除请求对应的容器实例删除。
82.具体地,可以确定上述容器实例删除请求中是否包含虚拟节点标签,其中虚拟节点标签是确定容器实例删除请求对应的容器实例是否创建在步骤s204中描述的虚拟节点上的标签。
83.具体地,若容器实例删除请求中包含虚拟节点标签,则确定上述容器实例删除请求对应的容器实例创建在虚拟节点上,此时可以在虚拟节点上将容器实例删除请求对应的容器实例删除。
84.步骤s303、若容器实例删除请求中不包含虚拟节点标签,将容器实例删除请求对应的容器实例删除后,将匹配数量的虚拟节点上的容器实例调度至真实节点上。
85.具体地,根据步骤s302中描述的判断,若容器实例删除请求中不包含虚拟节点标签,则确定上述容器实例删除请求对应的容器实例创建在真实节点上,可以在真实节点上将容器实例删除请求对应的容器实例删除。
86.具体地,在将真实节点上容器实例删除请求对应的容器实例删除后,该kubernetes集群的真实节点可被调度,此时,可以根据步骤s202中描述的匹配规则,将匹配数量以及符合相应匹配规则的虚拟节点上的容器实例调度至真实节点上。
87.本实施例提供的kubernetes集群的资源调度方法,通过接收容器实例删除请求,若容器实例删除请求中包含虚拟节点标签,将容器实例删除请求对应的容器实例删除,若容器实例删除请求中不包含虚拟节点标签,将容器实例删除请求对应的容器实例删除后,将匹配数量的虚拟节点上的容器实例调度至真实节点上,对接收实例删除请求的情况下对应的kubernetes集群的资源调度方法进行了展开描述,其中,在删除真实节点上的容器实例后,将符合匹配规则的匹配数量的虚拟节点上的容器实例调度至上述真实节点上,可以提高资源调度的利用率。
88.图4为本技术第三实施例提供的在kubernetes集群的真实节点上创建容器实例的流程示意图,在图1至图3任一项所示实施例的基础上,本实施例对在kubernetes集群的真实节点上创建容器实例的过程进行了展开描述。
89.如图4所示,本实施例的在kubernetes集群的真实节点上创建容器实例可以包括以下步骤:
90.步骤s401、根据资源配额以及节点标签对多个真实节点进行过滤,得到相匹配的真实节点。
91.其中,kubernetes集群包括多个真实节点,其中,真实节点包括步骤s201中描述的节点标签,以用于与上述容器实例创建请求中包含的节点标签进行匹配,选择相匹配的真实节点进行对应容器实例的创建,其中,若真实节点的资源配额可容纳的情况下,一个真实节点上可创建多个容器实例。
92.具体地,根据步骤s203中的描述,若kubernetes集群中存在与容器实例创建请求相匹配的真实节点,可以根据容器实例创建请求所需的资源配额以及节点标签对
kubernetes集群的多个真实节点进行过滤,即筛选节点标签相匹配,且资源配额余量大于等于容器实例创建请求所需的资源配额的真实节点,得到相匹配的真实节点。
93.步骤s402、若只存在一个相匹配的真实节点,将该相匹配的真实节点作为容器实例的创建节点,若存在至少两个相匹配的真实节点,选取剩余内存最多的相匹配的真实节点作为容器实例的创建节点。
94.具体地,根据步骤s401中的描述,若只存在一个相匹配的真实节点,可以将该相匹配的真实节点作为容器实例的创建节点,若存在至少两个相匹配的真实节点,将各相匹配的真实节点的剩余内存,即资源配额余量进行对比,选取剩余内存最多的相匹配的真实节点作为容器实例的创建节点。
95.可选的,步骤s401描述的对真实节点的过滤过程以及本步骤描述的对真实节点的优选过程可由步骤s204中部署的调度控制组件完成。
96.步骤s403、在创建节点上创建容器实例。
97.具体地,可以在步骤s402中确定的容器实例创建请求对应的容器实例的创建节点上,创建对应的容器实例。
98.本实施例提供的在kubernetes集群的真实节点上创建容器实例的过程,通过,根据资源配额以及节点标签对多个真实节点进行过滤,得到相匹配的真实节点,若只存在一个相匹配的真实节点,将该相匹配的真实节点作为容器实例的创建节点,若存在至少两个相匹配的真实节点,选取剩余内存最多的相匹配的真实节点作为容器实例的创建节点,在创建节点上创建容器实例,其中,根据容器实例创建请求所需的资源配额以及节点标签对kubernetes集群的真实节点进行过滤以及优选,提高了资源调度的效率以及利用率。
99.图5为本技术第四实施例提供的在kubernetes集群的虚拟节点上创建容器实例的流程示意图,在图1至图4任一项所示实施例的基础上,本实施例对在kubernetes集群的虚拟节点上创建容器实例的过程进行了展开描述。
100.如图5所示,本实施例的在kubernetes集群的虚拟节点上创建容器实例可以包括以下步骤:
101.步骤s501、对容器实例创建请求标记虚拟节点标签。
102.其中,容器实例创建请求中包括云平台标签,具体地,容器实例创建请求中包括创建对应的容器实例可用的云平台的标签,以利用云平台标签对应的云平台进行对应容器实例的创建。
103.具体地,根据步骤s204中的描述,若kubernetes集群中不存在与容器实例创建请求相匹配的真实节点,可以对容器实例创建请求标记虚拟节点标签,以用于对在虚拟节点构建的对应的容器实例进行标记。
104.步骤s502、通过虚拟节点的创建接口,将实例创建请求转换为云平台标签对应的云平台容器实例创建请求。
105.具体地,可以通过虚拟节点的创建接口creatpod,将步骤s501中标记了虚拟节点标签的实例创建请求转换为云平台标签对应的云平台容器实例创建请求,以使对应的云平台能够识别。
106.步骤s503、将云平台实例创建请求发送至云平台标签对应的iaas资源池中,以在iaas资源池中创建容器实例。
107.具体地,可以将步骤s302中描述的云平台实例创建请求发送至云平台标签对应的iaas资源池中,以在iaas资源池中创建容器实例创建请求对应的容器实例,其中,在iaas资源池中创建的容器实例为真实的kate安全容器实例。可选的,可选的,在kubernetes集群在进行本技术提供的资源调度之前,可以预先部署适配器服务组件,用于接收在虚拟节点上创建容器实例的请求;如步骤s502中的描述,适配多种云环境下的不同云厂商将接收到的实例创建请求转换为云平台标签对应的云平台容器实例创建请求;还用于接收在真实节点上创建容器实例的请求。
108.本实施例提供的在kubernetes集群的虚拟节点上创建容器实例的过程,通过对容器实例创建请求标记虚拟节点标签,通过虚拟节点的创建接口,将实例创建请求转换为云平台标签对应的云平台容器实例创建请求,将云平台实例创建请求发送至云平台标签对应的iaas资源池中,以在iaas资源池中创建容器实例,其中,通过容器实例创建请求中的云平台标签确定用于创建对应容器实例的iaas资源池,提高了容器实例创建的成功概率,提高了资源调度的效率。
109.图6为本技术第五实施例提供的若容器实例删除请求中包含虚拟节点标签,将容器实例删除请求对应的容器实例删除的流程示意图,在图1至图5任一项所示实施例的基础上,本实施例对若容器实例删除请求中包含虚拟节点标签,将容器实例删除请求对应的容器实例删除。
110.如图6所示,本实施例的若容器实例删除请求中包含虚拟节点标签,将容器实例删除请求对应的容器实例删除可以包括以下步骤:
111.步骤s601、若容器实例删除请求中包含虚拟节点标签,通过虚拟节点的删除接口,将容器实例删除请求转换为云平台标签对应的云平台容器实例删除请求。
112.其中,若容器实例删除请求中包含虚拟节点标签,则容器实例删除请求中包括云平台标签。
113.具体地,通过虚拟节点的删除接口deletepod,将容器实例删除请求转换为云平台标签对应的云平台容器实例删除请求,以使对应的云平台能够识别。
114.步骤s602、将云平台容器实例删除请求发送至云平台标签对应的iaas资源池中,以在iaas资源池中删除容器实例。
115.具体地,可以将步骤s601中描述的云平台容器实例删除请求发送至云平台标签对应的iaas资源池中,以在iaas资源池中删除容器删除请求对应的容器实例。可选的,步骤s503中描述的适配器服务组件还用于接收在虚拟节点上删除容器实例的请求;如本步骤中的描述,适配多种云环境下的不同云厂商将接收到的实例删除请求转换为云平台标签对应的云平台容器实例删除请求。
116.本实施例提供的若容器实例删除请求中包含虚拟节点标签,将容器实例删除请求对应的容器实例删除的过程,通过容器实例删除请求中的云平台标签确定待删除的容器实例所在的iaas资源池,提高了容器实例删除的成功概率,提高了资源调度的效率。
117.图7为本技术第六实施例提供的将匹配数量的虚拟节点上的容器实例调度至真实节点上的流程示意图,在图1至图6任一项所示实施例的基础上,本实施例对将匹配数量的虚拟节点上的容器实例调度至真实节点上的过程进行了展开描述。
118.如图7所示,本实施例的将匹配数量的虚拟节点上的容器实例调度至真实节点上
可以包括以下步骤:
119.步骤s701、计算已删除的容器实例所占的资源量。
120.具体地,如步骤s303中的描述将容器实例删除请求对应的容器实例删除后,可以计算已删除的容器实例所占的资源量,以了解该真实节点可被调度的资源配额余量。
121.步骤s702、根据资源量确定虚拟节点上的待调度的容器实例。
122.具体地,可以根据步骤s701中计算得到的已删除的容器实例所占的资源量,确定虚拟节点上的待调度的容器实例。其中,如步骤s303中的描述,待调度的容器实例的数量应该与步骤s701中描述的该真实节点可被调度的资源配额余量相匹配,可选的,待调度的容器实例还需符合该真实节点相应的匹配规则,具体描述可以参见上述步骤s202中的描述,本实施例对此不再赘述。
123.步骤s703、在真实节点上重新创建待调度的容器实例。
124.具体地,可以在该真实节点上重新创建步骤s702中确定的待调度的容器实例,具体创建过程可以参见上述步骤s203或步骤s403中的描述,本实施例对此不再赘述。
125.步骤s704、生成待调度的容器实例删除请求,待调度的容器实例删除请求包括云平台标签。
126.具体地,在步骤s703描述的在真实节点上重新创建待调度的容器实例的同时,可以生成待调度的容器实例删除请求,其中,待调度的容器实例删除请求包括云平台标签。
127.步骤s705、通过虚拟节点的删除接口,将待调度的容器实例删除请求转换为云平台标签对应的云平台待调度的容器实例删除请求。
128.具体地,可以通过虚拟节点的删除接口,将步骤s704中生成的待调度的容器实例删除请求转换为云平台标签对应的云平台待调度的容器实例删除请求,本步骤的具体描述,可参见上述步骤s601中的描述,本实施例对此不再赘述。
129.步骤s706、将云平台待调度的容器实例删除请求发送至云平台标签对应的iaas资源池中,以在iaas资源池中删除待调度的容器实例。
130.具体地,可以将步骤s705中得到的云平台待调度的容器实例删除请求发送至云平台标签对应的iaas资源池中,以在iaas资源池中删除待调度的容器实例,本步骤的具体描述,可参见上述步骤s602中的描述,本实施例对此不再赘述。
131.在图1至图7任一项所示实施例的基础上,本技术提供的kubernetes集群的资源调度方法还包括:
132.对kubernetes集群中的容器实例的状态进行监控,容器实例包括真实节点上的容器实例以及虚拟节点上的容器实例。
133.具体地,可以通过实时采集容器实例的变更信息对各容器实例的状态进行监控,其中,变更信息包括:事件变更信息以及状态变更信息。其中,事件变更信息为标准事件events信息,用于表示容器实例的创建和/或删除状态的信息,可选的,若如步骤s503中描述的在iaas资源池中创建的容器实例创建失败,可以将创建失败的原因等相关信息封装为具有统一事件消息格式的事件变更信息,以用于相关联的容器实例根据上述事件变更信息快速、准确、明了的定位到容器实例创建失败的原因。可选的,若如步骤s503中描述的在iaas资源池中创建的容器实例创建成功,可以将创建成功的消息封装为事件变更信息,以用于告知相关联的容器实例可以调用创建成功的容器实例以提供相应的服务。
134.其中,状态变更信息包括但不限于容器实例的运行状态信息、ip信息等信息。可选的,可以根据状态变更信息掌握对应容器实例的运行状态,可选的,可以根据容器实例的状态访问容器实例对应的服务。即,可以根据上述状态变更信息访问ip信息对应的容器实例提供的服务。
135.可选的,在kubernetes集群在进行本技术提供的资源调度之前,可以预先部署同步器服务组件,用于创建实时更新的监视队列;将上述变更信息存储至监视队列中;实时监测监视列队中的变更信息;将对应的变更信息推送至相关联的容器实例中。
136.可选的,可以通过对kubernetes集群中的容器实例的状态进行监控,以了解kubernetes集群中各容器实例的相关变更信息,以实现资源的动态调控,即kubernetes集群的动态扩容或缩容。
137.本实施例提供的将匹配数量的虚拟节点上的容器实例调度至真实节点上,通过计算已删除的容器实例所占的资源量,根据资源量确定虚拟节点上的待调度的容器实例,在真实节点上重新创建待调度的容器实例,生成待调度的容器实例删除请求,待调度的容器实例删除请求包括云平台标签,通过虚拟节点的删除接口,将待调度的容器实例删除请求转换为云平台标签对应的云平台待调度的容器实例删除请求,将云平台待调度的容器实例删除请求发送至云平台标签对应的iaas资源池中,以在iaas资源池中删除待调度的容器实例,其中,在删除真实节点的容器实例后,通过确定虚拟节点上匹配数量的待调度容器实例,进一步进行待调度节点的删除以及重新创建,完成kubernetes集群的资源调度,提高了资源使用率,提高了资源调度效率。
138.图8为本技术第七实施例提供的一种kubernetes集群的资源调度装置的结构示意图。
139.如图8所示,本实施例的kubernetes集群的资源调度装置80包括接收模块81、确定模块82以及创建模块83。
140.接收模块81,用于用于接收容器实例创建请求,容器实例创建请求中包括所需的资源配额以及节点标签。
141.确定模块82,用于根据资源配额以及节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点。
142.创建模块83,用于若存在,则在kubernetes集群的真实节点上创建容器实例。
143.创建模块83,还用于若不存在,则在kubernetes集群的虚拟节点上创建容器实例,虚拟节点基于虚拟库伯内特virtual-kubelet技术构建。
144.本实施例提供的装置,可用于执行上述方法实施例图1到图7任一项的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
145.图9为本技术第八实施例提供的一种kubernetes集群的资源调度设备的结构示意图。
146.如图9所示,本实施例的kubernetes集群的资源调度设备90包括:处理器91,存储器92,通信接口93。
147.存储器92用于存储处理器的可执行指令。
148.其中,处理器91配置为经由执行可执行指令来执行上述方法实施例图1到图7任一项的kubernetes集群的资源调度方法。
149.在上述的图9所示的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
150.存储器可能包含高速存储器(random access memory,ram),也可能还包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。
151.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
152.本技术实施例还提供一种可读存储介质,其上存储有计算机程序,其中计算机程序被处理器执行时实现执行上述方法实施例图1到图7任一项的kubernetes集群的资源调度方法。
153.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
154.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
155.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
技术特征:
1.一种kubernetes集群的资源调度方法,其特征在于,包括:接收容器实例创建请求,所述容器实例创建请求中包括所需的资源配额以及节点标签;根据所述资源配额以及所述节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点;若存在,则在所述kubernetes集群的真实节点上创建所述容器实例;若不存在,则在所述kubernetes集群的虚拟节点上创建所述容器实例,所述虚拟节点基于虚拟库伯内特virtual-kubelet技术构建。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收容器实例删除请求;若所述容器实例删除请求中包含虚拟节点标签,将所述容器实例删除请求对应的容器实例删除;若所述容器实例删除请求中不包含所述虚拟节点标签,将所述容器实例删除请求对应的容器实例删除后,将匹配数量的虚拟节点上的所述容器实例调度至所述真实节点上。3.根据权利要求2所述的方法,其特征在于,所述kubernetes集群包括多个所述真实节点,所述在所述kubernetes集群的真实节点上创建所述容器实例,包括:根据所述资源配额以及所述节点标签对多个所述真实节点进行过滤,得到相匹配的真实节点;若只存在一个所述相匹配的真实节点,将该相匹配的真实节点作为所述容器实例的创建节点,若存在至少两个相匹配的真实节点,选取剩余内存最多的所述相匹配的真实节点作为所述容器实例的创建节点;在所述创建节点上创建所述容器实例。4.根据权利要求3所述的方法,其特征在于,所述容器实例创建请求中包括云平台标签,所述在所述kubernetes集群的虚拟节点上创建所述容器实例,包括:通过虚拟节点的创建接口,将所述实例创建请求转换为所述云平台标签对应的云平台容器实例创建请求;将所述云平台容器实例创建请求发送至所述云平台标签对应的iaas资源池中,以在所述iaas资源池中创建所述容器实例。5.根据权利要求4所述的方法,其特征在于,所述通过所述虚拟节点的创建接口,将所述实例创建请求转换为所述云平台标签对应的云平台实例创建请求之前,还包括:对所述容器实例创建请求标记所述虚拟节点标签。6.根据权利要求5所述的方法,其特征在于,所述容器实例删除请求中包括云平台标签,所述若所述容器实例删除请求中包含虚拟节点标签,将所述容器实例删除请求对应的容器实例删除,包括:若所述容器实例删除请求中包含虚拟节点标签,通过虚拟节点的删除接口,将所述容器实例删除请求转换为所述云平台标签对应的云平台容器实例删除请求;将所述云平台容器实例删除请求发送至所述云平台标签对应的iaas资源池中,以在所述iaas资源池中删除所述容器实例。7.根据权利要求6所述的方法,其特征在于,所述将匹配数量的虚拟节点上的所述容器
实例调度至所述真实节点上,包括:计算已删除的容器实例所占的资源量;根据所述资源量确定所述虚拟节点上的待调度的容器实例;在所述真实节点上重新创建所述待调度的容器实例。8.根据权利要求7所述的方法,其特征在于,所述将匹配数量的虚拟节点上的所述容器实例调度至所述真实节点上,还包括:生成待调度的容器实例删除请求,所述待调度的容器实例删除请求包括云平台标签;通过所述虚拟节点的删除接口,将所述待调度的容器实例删除请求转换为所述云平台标签对应的云平台待调度的容器实例删除请求;将所述云平台待调度的容器实例删除请求发送至所述云平台标签对应的iaas资源池中,以在所述iaas资源池中删除所述待调度的容器实例。9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:对所述kubernetes集群中的容器实例的状态进行监控,所述容器实例包括真实节点上的容器实例以及虚拟节点上的容器实例;根据所述容器实例的状态访问所述容器实例对应的服务。10.一种kubernetes集群的资源调度装置,其特征在于,包括:接收模块,用于接收容器实例创建请求,所述容器实例创建请求中包括所需的资源配额以及节点标签;确定模块,用于根据所述资源配额以及所述节点标签,确定库伯内特kubernetes集群是否存在相匹配的真实节点;创建模块,用于若存在,则在所述kubernetes集群的真实节点上创建所述容器实例;所述创建模块,还用于若不存在,则在所述kubernetes集群的虚拟节点上创建所述容器实例,所述虚拟节点基于虚拟库伯内特virtual-kubelet技术构建。11.一种kubernetes集群的资源调度设备,其特征在于,包括:处理器,存储器,通信接口;所述存储器用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至9任一项所述的kubernetes集群的资源调度方法。12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现执行权利要求1至9任一项所述的kubernetes集群的资源调度方法。
技术总结
本申请提供一种Kubernetes集群的资源调度方法及相关设备。该方法包括:接收容器实例创建请求,容器实例创建请求中包括所需的资源配额以及节点标签;根据资源配额以及节点标签,确定库伯内特Kubernetes集群是否存在相匹配的真实节点;若存在,则在Kubernetes集群的真实节点上创建容器实例;若不存在,则在Kubernetes集群的虚拟节点上创建容器实例,虚拟节点基于虚拟库伯内特virtual-kubelet技术构建。本申请的方法,提高了资源调度效率。提高了资源调度效率。提高了资源调度效率。
技术研发人员:李广聚 谢继刚 申勇 肖国新 郗佳林
受保护的技术使用者:联通数字科技有限公司 联通西部创新研究院有限公司
技术研发日:2023.07.27
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
