容器创建方法、装置及电子设备制造方法及图纸

技术编号:37625773 阅读:13 留言:0更新日期:2023-05-18 12:17
本申请实施例公开了一种容器创建方法、装置及电子设备,该方法包括:接收容器的创建请求,创建请求中携带有状态集合,有状态集合中包括待创建的第一容器的第一容器资源描述信息和第二容器的第二容器资源描述信息;响应于创建请求,根据第一容器资源描述信息从多个拓扑域中调度第一拓扑域,并根据第一容器资源描述信息在在第一拓扑域创建第一容器,根据第二容器资源描述信息从多个拓扑域中调度第二拓扑域,并根据第二容器资源描述信息在在第二拓扑域创建第二容器,其中,第一拓扑域和第二拓扑域不同;根据第一拓扑域和第二拓扑域组建目标集群,将第一容器分配为目标集群中的第一角色,将第二容器分配为目标集群中的第二角色。将第二容器分配为目标集群中的第二角色。将第二容器分配为目标集群中的第二角色。

【技术实现步骤摘要】
容器创建方法、装置及电子设备


[0001]本申请涉及容器化
,尤其涉及一种容器创建方法、装置及电子设备。

技术介绍

[0002]随着云原生技术的发展,容器化技术已经成为其重要组成部分,Kubernetes是一个为容器服务而生的可移植容器的编排管理工具。helm chart是一种描述如何部署应用到kubernetes中的文件格式,开发者按照helm chart的文件格式,将应用所需的资源文件包装起来,其中,Helm是用于Kubernetes的应用包的管理工具,主要用来管理Charts,Chart是用来封装Kubernetes原生应用程序的一系列YAML资源文件集合。Redis cluster是一个去中心化的集群,每个节点都会跟其它节点保持连接,用来交换彼此的信息,为了保证服务的可用性,Redis集群采取的方案是Master

Slave的方案,每个Redis节点可以有一个或者多个Slave。当Master挂掉时,选举一个Slave形成新的Master。,Kubernetes中StatefulSet被用来管理有状态应用的对象,每个StatefulSet至少提供两个容器(pod)副本,其中一个容器副本成为Redis的Master角色,其余的容器副本成为Redis的Slave角色。
[0003]在一些场景下,通过helm

chart方式和Kubernetes相结合的方式调度节点并组建redis容器化集群,每个StatefulSet中提供的至少两个容器(pod)副本都会部署到kubernetes的最佳节点上并以此组建发布Redis集群,即每个StatefulSet中提供的至少两个容器(pod)副本都会部署到kubernetes的同一个拓扑域中。采用该种方式,每个StatefulSet中提供的至少两个容器(pod)副本分布在同一个拓扑域,在该拓扑域宕机后,同一个StatefulSet中的容器副本也会全部宕机,即组建的Redis集群的Master角色和Slave角色都会宕机,导致组建的Redis集群的可靠性较低,无法满足Redis集群的高可用性。

技术实现思路

[0004]本申请提供一种容器创建方法、装置及电子设备,以提高组建的Redis集群的可靠性。
[0005]第一方面,本申请提供一种容器创建方法,包括:接收容器的创建请求,所述创建请求中携带有状态集合,所述有状态集合中包括待创建的第一容器的第一容器资源描述信息和第二容器的第二容器资源描述信息;响应于所述创建请求,根据所述第一容器资源描述信息从多个拓扑域中调度第一拓扑域,并根据所述第一容器资源描述信息在所述第一拓扑域创建第一容器;根据所述第二容器资源描述信息从多个拓扑域中调度第二拓扑域,并根据所述第二容器资源描述信息在所述第二拓扑域创建第二容器,其中,所述第一拓扑域和所述第二拓扑域不同;根据所述第一拓扑域和第二拓扑域组建目标集群,其中,将所述第一容器分配为所述目标集群中的第一角色,将所述第二容器分配为所述目标集群中的第二角色。
[0006]第二方面,本申请提供一种容器创建装置,包括:接收模块,用于接收容器的创建
请求,所述创建请求中携带有状态集合,所述有状态集合中包括待创建的第一容器的第一容器资源描述信息和第二容器的第二容器资源描述信息;调度模块,用于响应于所述创建请求,根据所述第一容器资源描述信息从多个拓扑域中调度第一拓扑域,并根据所述第一容器资源描述信息在所述第一拓扑域创建第一容器;所述调度模块,还用于根据所述第二容器资源描述信息从多个拓扑域中调度第二拓扑域,并根据所述第二容器资源描述信息在所述第二拓扑域创建第二容器,其中,所述第一拓扑域和所述第二拓扑域不同;组建模块,用于根据所述第一拓扑域和第二拓扑域组建目标集群;分配模块,用于将所述第一容器分配为所述目标集群中的第一角色,将所述第二容器分配为所述目标集群中的第二角色。
[0007]第三方面,本申请提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的方法。
[0008]第四方面,本申请提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的方法。
[0009]可以看出,在创建容器时,第一容器和第二容器创建在不同的拓扑域,组建的目标集群中,分配为第一角色的第一容器和分配为第二角色的第二容器也分布在不同的拓扑域,防止某一个拓扑域出现故障后,同一个有状态集合中分配有不同角色的容器所在的拓扑域全部宕机,例如,在第一容器所在的拓扑域宕机后,并不会影响第二容器所在的拓扑域的正常运行,如此,提高了组建的目标集群的可靠性,满足目标集群的高可用性。
附图说明
[0010]此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
[0011]图1为本申请实施例提供的一种容器创建方法的流程示意图;
[0012]图2为本申请实施例提供的容器创建方法的应用场景示意图;
[0013]图3为本申请实施例提供的一种容器创建装置的结构示意图;
[0014]图4为本说明书的一个实施例提供的一种电子设备的结构示意图。
具体实施方式
[0015]为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0016]本说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应理解这样使用的数据在适当情况下可以互换,以便本申请实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,本说明书以及权利要求书中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
[0017]如上所述,通过helm

chart方式和Kubernetes相结合的方式调度节点并组建
redis容器化集群,每个StatefulSet中提供的至少两个容器(pod)副本都会部署到kubernetes的最佳节点上并以此组建发布Redis集群,即每个StatefulSet中提供的至少两个容器(pod)副本都会部署到kubernetes的同一个拓扑域中。采用该种方式,每个StatefulSet中提供的至少两个容器(pod)副本分布在同一个拓扑域,在该拓扑域宕机后,同一个StatefulSet中的容器副本也会全部宕机,即组建的Redis集群中的Master角色和Slave角色都会宕机,导致组建的Redis集群的可靠性较低,无法满足Redis集群的高可用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器创建方法,其特征在于,包括:接收容器的创建请求,所述创建请求中携带有状态集合,所述有状态集合中包括待创建的第一容器的第一容器资源描述信息和第二容器的第二容器资源描述信息;响应于所述创建请求,根据所述第一容器资源描述信息从多个拓扑域中调度第一拓扑域,并根据所述第一容器资源描述信息在所述第一拓扑域创建第一容器;根据所述第二容器资源描述信息从多个拓扑域中调度第二拓扑域,并根据所述第二容器资源描述信息在所述第二拓扑域创建第二容器,其中,所述第一拓扑域和所述第二拓扑域不同;根据所述第一拓扑域和第二拓扑域组建目标集群;将所述第一容器分配为所述目标集群中的第一角色,将所述第二容器分配为所述目标集群中的第二角色。2.根据权利要求1所述的容器创建方法,其特征在于,所述根据所述第一容器资源描述信息从多个拓扑域中调度第一拓扑域包括:获取所述拓扑域的数量和所述第一容器资源描述信息中携带的所述有状态集合的编号,所述拓扑域对应有拓扑域标签;根据所述有状态集合的编号、所述拓扑域的数量和所述拓扑域标签从多个拓扑域中调度第一拓扑域。3.根据权利要求2所述的容器创建方法,其特征在于,所述根据所述有状态集合的编号与所述拓扑域的数量从多个拓扑域中调度第一拓扑域包括:对所述有状态集合的编号与所述拓扑域的数量进行取模运算,得到与所述有状态集合对应的模值;从多个拓扑域标签中确定与所述模值对应的第一拓扑域标签;根据所述第一拓扑域标签从多个拓扑域中调度所述第一拓扑域。4.根据权利要求3所述的容器创建方法,其特征在于,所述根据所述第一拓扑域标签从多个拓扑域中调度所述第一拓扑域包括:利用亲和性调度策略根据所述第一拓扑域标签对所述第一拓扑域进行亲和性调度,所述亲和性调度策略指示优先从多个拓扑域调度与所述第一拓扑域标签对应的拓扑域为所述第一拓扑域,在与所述第一拓扑域标签对应的拓扑域的资源不满足所述第一容器资源描述信息中的资源需求的情况下,从除所述第一拓扑域标签外的其余的拓扑域中调度资源满足所述资源需求的拓扑域为所述第一拓扑域。5.根据权利要求3所述的容器创建方法,其特征在于,在所述从多个拓扑域标签中确定与所述模值对应的第一拓扑域标签之后,所述方法还包括:在多个有状态集合对应同一个所述第一拓扑域标签的情况下,根据有状态集合的优先级为多个有状态集合分配所述第一拓扑域标签。6.根据权利要求5所述的容器创建方法,其特征在于,所述根据有状态集合的优先级为多个有状态集合分配所述第一拓扑域标签包括:按照各所述有状态集合的优先级,优先为优先级最高的第一有状态集合分配所述第一拓扑域标签;在所述根据有状态集合的优先级为多个有状态集合分配所述第一拓扑域标签之后,所
述方法还包括:为所述多个状态集合中的第二有状态集合分配第二拓扑域标签,...

【专利技术属性】
技术研发人员:张兴顺苏超曾琳铖曦孙磊蒋宁
申请(专利权)人:马上消费金融股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1