本发明涉及计算机,具体涉及容器创建方法、装置、计算机设备及存储介质。
背景技术:
1、随着网络设备性能的进步,网络性能与cpu算力渐不匹配,而高性能网络的出现可以协助提高容器集群的算力,目前的容器云平台只能支持单一的高性能网络,当容器集群中存在多种高性能网络时,无法灵活的根据高性能网络的类型进行容器的创建和管理,造成资源浪费。
技术实现思路
1、有鉴于此,本发明提供了一种容器创建方法、装置、计算机设备及存储介质,以解决当容器集群存在多种高性能网络时,容器创建时造成一定资源浪费的问题。
2、第一方面,本发明提供了一种容器创建方法,包括:
3、获取工作负载的创建指令,其中,创建指令包括指示信息、智能网卡的vf信息以及vf的目标个数,指示信息用以指示是否指定待创建容器的目标节点;
4、当确定指示信息中未指定待创建容器的目标节点时,根据vf信息以及目标个数从预设容器集群中筛选出至少一个候选节点;
5、分别获取与每一个候选节点对应的筛选因子;
6、根据与候选节点对应的筛选因子,从所有的候选节点中筛选出目标节点;
7、根据目标个数、vf信息以及目标节点的节点名称对目标节点的第一预设配置文件进行更新,获取目标配置文件;
8、根据目标配置文件在目标节点创建与工作负载对应的容器,以便在容器中部署工作负载。
9、通过上述方式,获取工作负载的创建指令,其中,创建指令包括指示信息、智能网卡的vf信息以及vf的目标个数,指示信息用以指示是否指定待创建容器的目标节点;当确定指示信息中未指定待创建容器的目标节点时,根据vf信息以及目标个数从预设容器集群中筛选出至少一个候选节点;分别获取与每一个候选节点对应的筛选因子;根据与候选节点对应的筛选因子,从所有的候选节点中筛选出目标节点;根据目标个数、vf信息以及目标节点的节点名称对目标节点的第一预设配置文件进行更新,获取目标配置文件;根据目标配置文件在目标节点创建与工作负载对应的容器,以便在容器中部署工作负载。可以根据不同高性能网络的vf信息和所需vf的目标个数,从容器集群中筛选出较优的目标节点创建工作负载对应的容器,相比于只能支持单一高性能网络的场景,本方法可以更多的结合高性能网络的特征计算更为合适的节点创建工作负载和工作负载对应的容器,能够更好的提高资源利用率。
10、在一种可选的实施方式中,vf信息包括:vf所属智能网卡的厂商标识、vf类型以及vf标识,当确定指示信息中未指定待创建容器的目标节点时,根据vf信息以及目标个数从预设容器集群中筛选出至少一个候选节点,包括:
11、从预设容器集群的所有节点中筛选出与厂商标识、vf类型以及vf标识匹配的节点,并获取每一个节点的节点名称;
12、根据节点名称获取每一个节点的空闲vf个数;
13、将所有空闲vf个数大于或者等于目标个数的节点作为候选节点。
14、通过上述方式,可以通过vf所属智能网卡的厂商标识、vf类型以及vf标识,从容器集群中初步筛选出满足筛选条件的节点,并获取每一个节点的节点名称,进而根据节点名称获取每一个节点的空闲vf个数,将所有空闲vf个数大于或者等于目标个数的节点作为候选节点,即可以筛选出容器集群中所有满足创建容器的条件的节点,为后续进一步筛选目标节点提供条件。
15、在一种可选的实施方式中,筛选因子包括空闲vf个数,根据与候选节点对应的筛选因子,从所有的候选节点中筛选出目标节点,包括:
16、根据每一个候选节点的空闲vf个数对所有的候选节点进行倒序排序,获取排序队列;
17、从排序队列中筛选出空闲vf个数最大的一个节点作为目标节点;
18、或者,
19、当存在多个空闲vf个数最大的节点时,筛选因子还包括vf总个数;
20、从多个空闲vf个数最大的节点中,筛选出vf总个数最小的一个节点作为目标节点;
21、或者,
22、当存在多个vf总个数最小的节点时,筛选因子还包括容器组个数;
23、从多个vf总个数最小的节点中筛选出容器组个数最小的一个节点作为目标节点;
24、或者,
25、当存在多个容器组个数最小的节点时,从多个容器组个数最小的节点中选取任意一个节点作为目标节点。
26、通过上述方式,可以综合考虑到在筛选目标节点时可能发生的多种情况,在集群中存在较多相似节点的情况下尤为适用。
27、在一种可选的实施方式中,根据目标个数、vf信息以及目标节点的节点名称对目标节点的第一预设配置文件进行更新,获取目标配置文件,包括:
28、从目标节点的第二预设配置文件中选取大于或者等于目标个数的vf配置信息;
29、根据vf信息,以及预设的vf信息与网络信息的对应关系,获取vf信息对应的网络配置信息;
30、根据vf配置信息、网络配置信息和目标节点的节点名称对第一预设配置文件进行更新,获取目标配置文件。
31、通过上述方式,可以获取到当前集群中创建容器所需的所有信息(vf配置信息、网络配置信息和目标节点的节点名称),并利用上述信息更新用于创建容器的目标文件,即第一预设配置文件,为后续创建容器提供条件。
32、在一种可选的实施方式中,获取工作负载创建指令之后,方法还包括:
33、当确定指示信息为指定第一节点为待创建容器的目标节点时,根据vf信息从第一节点的配置文件中查找与vf信息匹配的空闲vf的实际个数,其中,第一节点为预设容器集群中任一个节点;
34、当确定实际个数大于或者等于目标个数时,在第一节点创建与工作负载对应的容器。
35、通过上述方式,可以在指定待创建容器的目标节点时,只对该目标节点的信息进行判断,确定该节点是否满足创建容器的条件。
36、在一种可选的实施方式中,根据vf信息从第一节点中查找与vf信息匹配的空闲vf个数的实际个数之后,方法还包括:
37、当确定实际个数小于目标个数时,根据vf信息和目标个数构建约束条件;
38、从预设容器集群中筛选出满足约束条件的节点作为推荐节点,以便从推荐节点中选取一个节点作为目标节点。
39、通过上述方式,当指定的目标节点不满足创建容器要求时,可以从容器集群中为使用者推荐其他满足条件的节点,具有更好的用户体验。
40、在一种可选的实施方式中,网络配置信息包括但不限于如下的一种或多种:
41、网络名称、路由信息、网关以及预留网段。
42、第二方面,本发明提供了一种容器创建装置,包括:
43、第一获取模块,用于获取工作负载的创建指令,其中,创建指令包括指示信息、智能网卡的vf信息以及vf的目标个数,指示信息用以指示是否指定待创建容器的目标节点;
44、第一筛选模块,用于当确定指示信息中未指定待创建容器的目标节点时,根据vf信息以及目标个数从预设容器集群中筛选出至少一个候选节点;
45、第二获取模块,用于分别获取与每一个候选节点对应的筛选因子;
46、第二筛选模块,用于根据与候选节点对应的筛选因子,从所有的候选节点中筛选出目标节点;
47、更新模块,用于根据目标个数、vf信息以及目标节点的节点名称对目标节点的第一预设配置文件进行更新,获取目标配置文件;
48、创建模块,用于根据目标配置文件在目标节点创建与工作负载对应的容器,以便在容器中部署工作负载。
49、在一种可选的实施方式中,第一获取模块中的vf信息包括:vf所属智能网卡的厂商标识、vf类型以及vf标识,第一筛选模块,包括:
50、第一筛选单元,用于从预设容器集群的所有节点中筛选出与厂商标识、vf类型以及vf标识匹配的节点,并获取每一个节点的节点名称;
51、获取单元,用于根据节点名称获取每一个节点的空闲vf个数;
52、第一处理单元,用于将所有空闲vf个数大于或者等于目标个数的节点作为候选节点。
53、在一种可选的实施方式中,第二筛选模块中的筛选因子包括空闲vf个数,第二筛选模块,包括:
54、排序单元,用于根据每一个候选节点的空闲vf个数对所有的候选节点进行倒序排序,获取排序队列;
55、第二筛选单元,用于从排序队列中筛选出空闲vf个数最大的一个节点作为目标节点;
56、或者,
57、当存在多个空闲vf个数最大的节点时,筛选因子还包括vf总个数;
58、第三筛选单元,用于从多个空闲vf个数最大的节点中,筛选出vf总个数最小的一个节点作为目标节点;
59、或者,
60、当存在多个vf总个数最小的节点时,筛选因子还包括容器组个数;
61、第四筛选单元,用于从多个vf总个数最小的节点中筛选出容器组个数最小的一个节点作为目标节点;
62、或者,
63、第一选取单元,用于当存在多个容器组个数最小的节点时,从多个容器组个数最小的节点中选取任意一个节点作为目标节点。
64、在一种可选的实施方式中,更新模块,包括:
65、第二选取单元,用于从目标节点的第二预设配置文件中选取大于或者等于目标个数的vf配置信息;
66、第二处理单元,用于根据vf信息,以及预设的vf信息与网络信息的对应关系,获取vf信息对应的网络配置信息;
67、更新单元,用于根据vf配置信息、网络配置信息和目标节点的节点名称对第一预设配置文件进行更新,获取目标配置文件。
68、在一种可选的实施方式中,装置还包括:
69、查找模块,用于当确定指示信息为指定第一节点为待创建容器的目标节点时,根据vf信息从第一节点的配置文件中查找与vf信息匹配的空闲vf的实际个数,其中,第一节点为预设容器集群中任一个节点;
70、创建模块,还用于当确定实际个数大于或者等于目标个数时,在第一节点创建与工作负载对应的容器。
71、在一种可选的实施方式中,装置还包括:
72、构建模块,用于当确定实际个数小于目标个数时,根据vf信息和目标个数构建约束条件;
73、第三筛选模块,用于从预设容器集群中筛选出满足约束条件的节点作为推荐节点,以便从推荐节点中选取一个节点作为目标节点。
74、在一种可选的实施方式中,第二处理单元中的网络配置信息包括但不限于如下的一种或多种:
75、网络名称、路由信息、网关以及预留网段。
76、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的容器创建方法。
77、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的容器创建方法。