CN113419818A - 基础组件部署方法、装置、服务器及存储介质 - Google Patents
基础组件部署方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN113419818A CN113419818A CN202110700236.6A CN202110700236A CN113419818A CN 113419818 A CN113419818 A CN 113419818A CN 202110700236 A CN202110700236 A CN 202110700236A CN 113419818 A CN113419818 A CN 113419818A
- Authority
- CN
- China
- Prior art keywords
- component
- target
- deployment
- container
- container cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开关于一种基础组件部署方法、装置、服务器及存储介质,涉及互联网技术领域。方法包括:接收组件部署命令,组件部署命令用于指示在多个第一容器集群中部署目标基础组件,多个第一容器集群用于为目标对象提供服务,目标基础组件用于运行目标对象的工作负载;响应于组件部署命令,获取目标基础组件在多个第一容器集群中当前的第一运行状态;对于每个第一容器集群,根据目标基础组件在第一容器集群中当前的第一运行状态,在第一容器集群中部署目标基础组件。通过本方案,实现了通过一个组件部署命令,向多种第一运行状态的多个第一容器集群中部署目标基础组件,进而提高了目标基础组件的部署效率。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及基础组件部署方法、装置、服务器及存储介质。
背景技术
由于Kubernetes(一种容器编排引擎)集群支持的最大服务器节点数为5000,无法满足互联网公司上万规模的服务器节点的需求;因此,往往通过多个Kubernetes集群为互联网公司提供服务器节点。而原生的Kubernetes集群往往无法直接应用到互联网公司中,此时需要根据互联网公司的业务需求,部署一些用于运行该互联网公司的workload(工作负载)的基础组件。
相关技术中,一般分别通过节点集群管理工具连接到多个Kubernetes集群,通过kubectl(一种节点集群管理工具)向多个Kubernetes集群发送部署命令(例如,kubectlcreate/update命令),以通过该部署命令在多个Kubernetes集群中部署基础组件。
上述方案中,对于每个Kubernetes集群,需要分别进行连接操作以及发送部署命令的操作,然而当Kubernetes集群较多时,分别进行连接操作以及发送部署命令的操作消耗时间较多,从而导致基础组件的部署效率低。
发明内容
本公开提供一种基础组件部署方法、装置、终端及存储介质,能够提高基础组件的部署效率。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种基础组件部署方法,所述方法包括:
接收组件部署命令,所述组件部署命令用于指示在多个第一容器集群中部署目标基础组件,所述多个第一容器集群用于为目标对象提供服务,所述目标基础组件用于运行所述目标对象的工作负载;
响应于所述组件部署命令,获取所述目标基础组件在所述多个第一容器集群中当前的第一运行状态;
对于每个第一容器集群,根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件。
在一些实施例中,所述根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件,包括:
根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,确定所述目标基础组件在所述第一容器集群中的部署方式;
根据所述部署方式生成目标指令;
向所述第一容器集群下发所述目标指令,所述目标指令用于指示在所述第一容器集群中以所述部署方式部署所述目标基础组件。
在一些实施例中,所述组件部署命令携带所述目标基础组件的第二运行状态,所述第二运行状态为所述目标基础组件在所述多个第一容器集群中期望的运行状态;
所述根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,确定所述目标基础组件在所述第一容器集群中的部署方式,包括:
若所述第一容器集群中已部署所述目标基础组件,所述目标基础组件的第二运行状态与所述第一运行状态不同,确定所述部署方式为更新所述目标基础组件;
若所述第一运行状态用于指示所述第一容器集群中未部署所述目标基础组件,确定所述部署方式为创建所述目标基础组件;
若所述第一运行状态用于指示所述第一容器集群中未删除所述目标基础组件,确定所述部署方式为删除所述目标基础组件。
在一些实施例中,所述组件部署命令携带所述目标基础组件的第二运行状态,所述第二运行状态为所述目标基础组件在所述多个第一容器集群中期望的运行状态;
所述根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件之前,所述方法还包括:
若所述目标基础组件在所述第一容器集群中的第一运行状态与第二运行状态不同,执行所述根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件的步骤。
在一些实施例中,所述获取所述目标基础组件在所述多个第一容器集群中当前的第一运行状态之前,所述方法还包括:
确定所述工作负载的部署条件信息;
根据所述部署条件信息,从用于为所述目标对象提供服务的多个第二容器集群中,确定与所述部署条件信息匹配的多个第一容器集群。
在一些实施例中,所述根据所述部署条件信息,从用于为所述目标对象提供服务的多个第二容器集群中,确定与所述部署条件信息匹配的多个第一容器集群,包括:
根据所述部署条件信息,确定所述工作负载所需的容器集群的目标类别;将所述多个第二容器集群中与所述目标类别匹配的容器集群确定为所述第一容器集群;或者
根据所述部署条件信息,获取目标属性信息,将所述多个第二容器集群中与所述目标属性信息匹配的容器集群确定为所述第一容器集群。
在一些实施例中,所述接收组件部署命令之后,所述方法还包括:
存储所述组件部署命令;
响应于新增用于为所述目标对象提供服务的第一容器集群,根据所述组件部署命令,在新增的第一容器集群中部署所述目标基础组件。
在一些实施例中,所述方法还包括:
接收状态获取请求;
响应于所述状态获取请求,获取所述目标基础组件在所述多个第一容器集群中当前的第三运行状态;
返回所述目标基础组件在所述多个第一容器集群中当前的第三运行状态。
根据本公开实施例的第二方面,提供一种基础组件部署装置,所述装置包括:
第一接收单元,被配置为执行接收组件部署命令,所述组件部署命令用于指示在多个第一容器集群中部署目标基础组件,所述多个第一容器集群用于为目标对象提供服务,所述目标基础组件用于运行所述目标对象的工作负载;
获取单元,被配置为响应于所述组件部署命令,执行获取所述目标基础组件在所述多个第一容器集群中当前的第一运行状态;
部署单元,被配置为对于每个第一容器集群,执行根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件。
在一些实施例中,所述部署单元,包括:
第一确定子单元,被配置为执行根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,确定所述目标基础组件在所述第一容器集群中的部署方式;
生成子单元,被配置为执行根据所述部署方式生成目标指令;
发送子单元,被配置为执行向所述第一容器集群下发所述目标指令,所述目标指令用于指示在所述第一容器集群中以所述部署方式部署所述目标基础组件。
在一些实施例中,所述组件部署命令携带所述目标基础组件的第二运行状态,所述第二运行状态为所述目标基础组件在所述多个第一容器集群中期望的运行状态;
所述第一确定子单元,被配置为执行若所述第一容器集群中已部署所述目标基础组件,所述目标基础组件的第二运行状态与所述第一运行状态不同,确定所述部署方式为更新所述目标基础组件;若所述第一运行状态用于指示所述第一容器集群中未部署所述目标基础组件,确定所述部署方式为创建所述目标基础组件;若所述第一运行状态用于指示所述第一容器集群中未删除所述目标基础组件,确定所述部署方式为删除所述目标基础组件。
在一些实施例中,所述组件部署命令携带所述目标基础组件的第二运行状态,所述第二运行状态为所述目标基础组件在所述多个第一容器集群中期望的运行状态;
所述部署单元,还被配置为若所述目标基础组件在所述第一容器集群中的第一运行状态与第二运行状态不同,执行所述根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件。
在一些实施例中,所述装置还包括:
第一确定单元,被配置为执行确定所述工作负载的部署条件信息;
第二确定单元,被配置为执行根据所述部署条件信息,从用于为所述目标对象提供服务的多个第二容器集群中,确定与所述部署条件信息匹配的多个第一容器集群。
在一些实施例中,所述第二确定单元,包括:
第二确定子单元,被配置为执行根据所述部署条件信息,确定所述工作负载所需的容器集群的目标类别;将所述多个第二容器集群中与所述目标类别匹配的容器集群确定为所述第一容器集群;或者
获取子单元,被配置为执行根据所述部署条件信息,获取目标属性信息,将所述多个第二容器集群中与所述目标属性信息匹配的容器集群确定为所述第一容器集群。
在一些实施例中,所述装置还包括:
存储单元,被配置为执行存储所述组件部署命令;
所述部署单元,还被配置为响应于新增用于为所述目标对象提供服务的第一容器集群,执行根据所述组件部署命令,在新增的第一容器集群中部署所述目标基础组件。
在一些实施例中,所述装置还包括:
第二接收单元,被配置为执行接收状态获取请求;
所述获取单元,还被配置为响应于所述状态获取请求,执行获取所述目标基础组件在所述多个第一容器集群中当前的第三运行状态;
发送单元,被配置为执行返回所述目标基础组件在所述多个第一容器集群中当前的第三运行状态。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一方面所述的基础组件部署方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述终端能够执行如上述任一方面所述的基础组件部署方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序指令,所述计算机程序/指令被处理器执行时实现如上述任一方面所述的基础组件部署方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开实施例中,当接收到组件部署命令,通过第一容器集群的第一运行状态,向多个第一容器集群中部署目标基础组件,从而实现了通过一个组件部署命令,向多种第一运行状态的多个第一容器集群中部署目标基础组件,进而提高了目标基础组件的部署效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种基础组件部署方法的实施环境的示意图。
图2是根据一示例性实施例示出的一种基础组件部署系统的示意图。
图3是根据一示例性实施例示出的一种基础组件部署方法的流程图。
图4是根据一示例性实施例示出的一种基础组件部署方法的流程图。
图5是根据一示例性实施例示出的一种基础组件部署装置的框图。
图6是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。另外,本公开中所涉及的相关数据可以为经用户授权或者经过各方充分授权的相关数据。
图1是根据一示例性实施例示出的一种基础组件部署方法的实施环境的示意图。参见图1,该实施环境中包括终端10、用于提供基础组件部署服务器20的服务器20和多个容器集群30。其中,终端10与服务器20之间通过网络连接进行数据交互;服务器20与多个容器集群30之间通过数据接口或者网络连接进行数据交互。
其中,当需要为目标对象的工作负载提供运行环境时,终端10基于该工作负载生成组件部署命令,将该组件部署命令发送给服务器20。服务器20用于接收该组件部署命令,根据该组件部署命令在多个容器集群30中部署用于运行该工作负载的基础组件。多个容器集群30用于为该工作负载提供基础组件的容器资源。其中,工作负载为在容器集群30上运行的应用程序,由一个或一组pod(容器集群中的能够创建和部署的最小也是最简单位)组成。例如,deployment(用于资源创建的流程)、statefulset(用于管理有状态应用的负载管理控制器数据接口)、daemonset(用于管理Pod对象的流程)。其中,目标对象可以为开发工作负载的对象,例如,目标对象为开发商企业等。
例如,目标对象需要开发图像处理功能的应用,则需要向该目标对象对应的多个容器集群30中部署用于运行该图像处理功能的基础组件,开发人员通过终端10创建该图像处理功能对应的组件部署命令,将该组件部署命令发送给服务器20;服务器20接收该组件部署命令,根据该组件部署命令中的图像处理功能向多个容器集群30中部署与用于处理图像处理功能的基础组件。
在一些实施例中,终端10为手机、平板电脑、PC(Personal Computer)和可穿戴设备等设备中的至少一种。服务器20可以为一台服务器、由多台服务器组成的服务器集群、云服务器、云计算平台和虚拟化中心中的至少一种。容器集群30为Kubernetes集群或其他用于运行工作负载的集群等。
其中,参见图2,图2是根据一示例性实施例示出的一种基础组件部署方法的实施环境的示意图。其中,服务器20中包括基础组件部署服务,该基础组件部署服务至少包括存储模块、数据接口模块和多个控制模块。其中,该存储模块用于作为底层存储。例如,该存储模块为Etcd(一种分布式存储系统)。数据接口模块用于作为http代理,接收http请求或kubectl命令。例如,数据接口模块为通过kube-apiserver进程提供服务的模块。通过kube-apiserver进程提供数据接口服务,从而保持了通过数据部署命令控制基础组件的方式,这样兼容了开发人员的使用习惯,减少了开发人员的开发工作。
控制模块用于分别与多个容器集群30建立连接,控制多个容器集群30部署基础组件。例如,该控制模块为sync-controller(同步控制器)。
需要说明的一点是,该多个控制模块采用高可用部署模式部署。其中,服务器20中同时运行多个控制模块,该多个控制模块通过全局锁确定一个目标控制模块,通过该目标控制模块控制多个容器集群30。其中,该多个控制模块通过全局锁确定一个目标控制模块的过程为:在当前没有目标控制模块的情况下,至少一个目标控制模块进行抢占,将抢占成功的控制模块确定为目标控制模块。抢占成功的目标控制模块会定时向其他控制模块发送应答消息,该应答消息用于指示该目标控制模块正常运行,若该其他控制模块未接收到目标控制模块发送的应答消息,则确定目标控制模块当前运行故障,其他控制模块重新抢占,确定新的目标控制模块。
在本实现方式中,部署多个控制模块,防止控制模块出现问题时,无法在多个容器集群30中部署基础组件。另外,多个控制模块通过全局锁确定一个目标控制模块来控制多个容器集群30,防止了多个目标控制模块对容器集群30进行控制造成冲突。
图3是根据一示例性实施例示出的一种基础组件部署方法的流程图,如图3所示,该基础组件部署方法由服务器执行,包括以下步骤S31-S33:
在步骤S31中,服务器接收组件部署命令,组件部署命令用于指示在多个第一容器集群中部署目标基础组件。
继续参见图2,服务器通过数据接口模块接收组件部署命令。该组件部署命令为通过kubectl命令工具接收到的命令;或者,通过http调用接收到命令,在本申请实施例中,对此不作具体限定。该组件部署命令包括创建工作负载的基础组件、更新工作负载的基础组件和删除工作负载的基础组件中的至少一种命令。
多个第一容器集群用于为目标对象提供服务。目标对象指多个第一容器集群为当前基础组件部署系统中的所有容器集群。或者,多个第一容器集群为能够为目标对象提供服务的多个容器集群中,能够运行该目标对象的工作负载的容器集群。相应的,在本步骤之前,服务器从多个第二容器集群中确定多个第一容器集群。该过程通过以下步骤(1)-(2)实现,包括:
(1)服务器确定工作负载的部署条件信息。
其中,该部署条件信息为工作负载中携带的该工作负载能够运行该工作负载的基础组件的相关信息。例如,该部署条件信息为该基础组件所在的容器集群的目标类别;或者,该基础组件信息为目标属性信息等。其中,该目标属性信息为该基础组件对应的工作负载的属性信息。相应的,在本步骤中,服务器从该组件部署命令中确定部署条件信息。
(2)服务器根据部署条件信息,从用于为目标对象提供服务的多个第二容器集群中,确定与部署条件信息匹配的多个第一容器集群。
在一些实施例中,服务器根据部署条件信息,确定工作负载所需的容器集群的目标类别;将多个第二容器集群中与目标类别匹配的容器集群确定为第一容器集群。
例如,该工作负载为图像处理应用对应的工作负载,则部署该工作负载需要使用包含GPU的容器集群,则服务器确定所需的容器集群的目标类别为图像处理类别,则服务器从多个第二容器集群中确定包含GPU的图像处理类别的第一容器集群。再例如,在进行灰度测试时,需要按集群粒度进行灰度测试,从而保证系统稳定性,则服务器将多个第二容器集群中符合灰度测试的容器集群作为第一容器集群。
在本实现方式中,通过选择目标类别的第一容器集群进行部署,从而使基础组件的部署更有针对性,保证了工作负载能够在部署了基础组件的容器集群中正常运行,提高了基础组件部署的效率。
在一些实施例中,服务器根据部署条件信息,获取目标属性信息,将多个第二容器集群中与目标属性信息匹配的容器集群确定为第一容器集群。
其中,该目标属性信息为该组件部署命令中携带的该工作负载匹配的目标容器的属性信息。例如,该目标属性信息为工作负载属性信息的字段,例如,annotations(注释信息)中的sync.k8s.io/cluster字段。服务器将该目标属性信息与服务集群的属性信息进行匹配,该匹配方式根据需要进行设置,在本公开实施例中,对此做不做具体限定。例如,该匹配方式为正则匹配,将匹配的容器集群确定为第一容器集群。
在本实现方式中,通过确定属性信息匹配的目标容器进行部署,从而使基础组件的部署更有针对性,提高了基础组件部署的效率。
另外,服务器从多个第二容器集群中,确定多个第一容器集群,对该多个第一容器集群进行基础组件部署,在保证了工作负载能正常运行的前提下,减少了基础组件部署的工作量,提高了基础组件部署的效率。
在步骤S32中,响应于组件部署命令,服务器获取目标基础组件在多个第一容器集群中当前的第一运行状态。
第一运行状态为多个第一容器集群中目标基础组件的运行状态。例如,该第一运行状态包括安装状态、版本状态和参数状态中的至少一种。
在一些实施例中,服务器接收到该组件部署命令时,根据该组件部署命令从多个第一容器集群中确定每个容器集群中基础组件的第一运行状态。在一些实施例中,服务器事先将多个第三容器集群的运行状态汇总在本地,响应于组件部署命令,从本地存储的多个第三容器集群的运行状态中读取多个第一容器集群的第一运行状态。
例如,服务器通过控制模块将多个第三容器集群的运行状态汇总到控制模块中对应的工作负载的目标字段中,并存储到控制模块的kube-apiserver(一种数据接口)中。响应于服务器接收到组件部署命令,向kube-apiserver发送查询请求,通过读取相关工作负载的目标字段,获取该工作负载在不同容器集群的部署状态。其中,该目标字段可以为status字段。
在步骤S33中,对于每个第一容器集群,服务器根据目标基础组件在第一容器集群中当前的第一运行状态,在第一容器集群中部署目标基础组件。
在一些实施例中,服务器根据该第一运行状态,确定在该第一容器集群中部署目标基础组件的部署方式,基于不同的部署方式部署该目标基础组件。该过程通过以下步骤S331-S333实现,包括:
在步骤S331中,服务器根据目标基础组件在第一容器集群中当前的第一运行状态,确定目标基础组件在第一容器集群中的部署方式。
其中,该部署方式包括创建、更新、删除等方式中的至少一种。
在本步骤中,服务器确定第一容器集群的第一运行状态与预期的运行状态之间的差异,基于二者之间的差异确定该目标基础组件在目标容器中的部署方式。相应的,在一些实施例中,组件部署命令携带目标基础组件的第二运行状态,第二运行状态为目标基础组件在多个第一容器集群中期望的运行状态。其中,第二运行状态包括目标基础组件的安装状态、版本状态和参数状态中的至少一种。
本步骤可以为:若第一容器集群中已部署目标基础组件,目标基础组件的第二运行状态与第一运行状态不同,确定部署方式为更新目标基础组件。若第一运行状态用于指示第一容器集群中未部署目标基础组件,确定部署方式为创建目标基础组件。若第一运行状态用于指示第一容器集群中未删除目标基础组件,确定部署方式为删除目标基础组件。
其中,第一运行状态与第二运行状态不同包括:目标基础组件的版本不同或目标基础组件中配置的参数不同等。在本步骤中,服务器先通过第一运行状态,确定第一容器集群中是否创建了目标基础组件,若第一容器集群中已创建目标基础组件,则服务器确定第一容器集群中创建的目标基础组件的版本状态和配置的参数是否与第二运行状态中期望的版本状态和参数一致,若版本状态和参数均一致,则不再在该第一容器集群中重新部署目标容器组件。若目标基础组件在第一容器集群中的第一运行状态与第二运行状态不同,服务器执行步骤S33。
在本实现方式中,服务器先确定第一运行状态与第二运行状态是否相同,若相同不进行目标基础组件的部署,若不同才部署,从而提高了目标基础组件的部署效率。
若二者的版本状态和参数存在至少一种运行状态不一致,则服务器确定需要更新第一容器集群中的目标参数组件。若第一运行状态用于指示第一容器集群中未部署目标基础组件,则服务器确定需要在第一容器集群中部署运行状态为第二运行状态的目标参数组件。
若第二运行状态用于指示删除目标基础组件,服务器根据第一运行状态确定第一容器集群中是否仍部署有目标基础组件,若第一容器集群中未部署有目标基础组件,不再对第一容器集群进行目标基础组件部署。若第一容器集群中仍部署有目标基础组件,确定第一容器集群中目标基础组件的部署方式为删除。
在本实现方式中,通过第一运行状态与组件部署命令中携带的第二运行状态进行对比,进而确定不同第一容器集群中目标基础组件的部署方式,保证了根据第一容器集群的运行状态部署目标基础组件,以实现在多个第一容器集群中统一部署目标基础组件。
在步骤S332中,服务器根据部署方式生成目标指令。
若该部署方式为更新目标基础组件,服务器根据第二运行状态中的版本状态或参数状态,生成更新指令,该更新指令用于指示第一容器集群更新目标基础组件的版本或参数。
若部署方式为创建目标基础组件,服务器根据第二运行状态中的版本状态和参数状态,生成创建指令,该创建指令用于指示第一容器集群创建版本状态和参数状态对应的目标基础组件。
若部署方式为删除目标基础组件,服务器根据目标基础组件的组件标识生成删除指令,该删除指令用于指示删除第一容器集群中的目标基础组件。
在步骤S333中,服务器向第一容器集群下发目标指令,目标指令用于指示在第一容器集群中以部署方式部署目标基础组件。
在本步骤中,服务器通过多个控制模块中的目标控制模块向第一容器集群发送该目标指令。
在本实现方式中,通过确定目标基础组件在第一容器集群中的部署方式,不同的第一容器集群中的目标基础组件的运行状态不同,导致的无法对多个第一容器集群进行同一操作的问题,实现了通过一个组件部署命令在多个第一容器集群中统一部署目标基础组件。
另外,服务器还能够返回多个第一容器集群的运行状态。相应的,该过程为:服务器接收状态获取请求;响应于状态获取请求,获取目标基础组件在多个第一容器集群中当前的第三运行状态;返回目标基础组件在多个第一容器集群中当前的第三运行状态。
其中,服务器接收状态获取请求的过程与步骤S31中,服务器接收组件部署命令的过程相似,在此不再赘述。服务器获取目标基础组件在多个第一容器集群中当前的第三运行状态与步骤S32中服务器获取第一运行状态的过程相似,在此不再赘述。
在本实现方式中,服务器通过获取第三运行状态,实现向用户反馈目标基础组件的运行状态,从而方便用于查看目标基础组件的运行状态,提高了目标基础组件的运行状态的查看效率。
在本公开实施例中,当接收到组件部署命令,通过第一容器集群的第一运行状态,向多个第一容器集群中部署目标基础组件,从而实现了通过一个组件部署命令,向多种第一运行状态的多个第一容器集群中部署目标基础组件,进而提高了目标基础组件的部署效率。
在一些实施例中,服务器在接收到组件部署命令之后,还能够将组件部署命令存储至本次,并检测多个第一容器集群中新增的第一容器集群,从而对新增的第一容器集群进行同步。参见图4,图4是根据一示例性实施例示出的一种基础组件部署方法的流程图,如图4所示,该基础组件部署方法由服务器执行,包括以下步骤S41-S45:
在步骤S41中,服务器接收组件部署命令,组件部署命令用于指示在多个第一容器集群中部署目标基础组件。
本步骤与步骤S31相似,在此不再赘述。
在步骤S42中,响应于组件部署命令,服务器获取目标基础组件在多个第一容器集群中当前的第一运行状态。
本步骤与步骤S32相似,在此不再赘述。
在步骤S43中,对于每个第一容器集群,服务器根据目标基础组件在第一容器集群中当前的第一运行状态,在第一容器集群中部署目标基础组件。
本步骤与步骤S33相似,在此不再赘述。
在步骤S44中,服务器存储组件部署命令。
服务器接收到组件部署命令后,将组件部署命令存储至存储模块中。
需要说明的一点是,本步骤在服务器接收组件部署命令之后的任一时刻执行,在本公开实施例中,对此不作具体限定。
在步骤S45中,响应于新增用于为目标对象提供服务的第一容器集群,服务器根据组件部署命令,在新增的第一容器集群中部署目标基础组件。
其中,新增的第一容器集群为新加入的第一容器集群,或者,为故障的容器集群恢复的第一容器集群。
相应的,服务器通过控制模块监控多个容器集群的运行状态,若检测到有新增的容器集群时,确定该容器集群是否为第一容器集群,若是执行步骤S45。
在本实现方式中,通过检测新增的第一容器集群实现对新增的第一容器集群中及时部署该目标基础组件,保证了多个第一容器集群中的目标基础组件的运行状态一致。
在本公开实施例中,当接收到组件部署命令,通过第一容器集群的第一运行状态,向多个第一容器集群中部署目标基础组件,从而实现了通过一个组件部署命令,向多种第一运行状态的多个第一容器集群中部署目标基础组件,进而提高了目标基础组件的部署效率。
图5是根据一示例性实施例示出的一种基础组件部署装置的框图。如图5所示,该装置包括:
第一接收单元501,被配置为执行接收组件部署命令,该组件部署命令用于指示在多个第一容器集群中部署目标基础组件,该多个第一容器集群用于为目标对象提供服务,该目标基础组件用于运行该目标对象的工作负载;
获取单元502,被配置为响应于该组件部署命令,执行获取该目标基础组件在该多个第一容器集群中当前的第一运行状态;
部署单元503,被配置为对于每个第一容器集群,执行根据该目标基础组件在该第一容器集群中当前的第一运行状态,在该第一容器集群中部署该目标基础组件。
在一些实施例中,该部署单元503,包括:
第一确定子单元,被配置为执行根据该目标基础组件在该第一容器集群中当前的第一运行状态,确定该目标基础组件在该第一容器集群中的部署方式;
生成子单元,被配置为执行根据该部署方式生成目标指令;
发送子单元,被配置为执行向该第一容器集群下发该目标指令,该目标指令用于指示在该第一容器集群中以该部署方式部署该目标基础组件。
在一些实施例中,该组件部署命令携带该目标基础组件的第二运行状态,该第二运行状态为该目标基础组件在该多个第一容器集群中期望的运行状态;
该第一确定子单元,被配置为执行若该第一容器集群中已部署该目标基础组件,该目标基础组件的第二运行状态与该第一运行状态不同,确定该部署方式为更新该目标基础组件;若该第一运行状态用于指示该第一容器集群中未部署该目标基础组件,确定该部署方式为创建该目标基础组件;若该第一运行状态用于指示该第一容器集群中未删除该目标基础组件,确定该部署方式为删除该目标基础组件。
在一些实施例中,该组件部署命令携带该目标基础组件的第二运行状态,该第二运行状态为该目标基础组件在该多个第一容器集群中期望的运行状态;
该部署单元503,还被配置为若该目标基础组件在该第一容器集群中的第一运行状态与第二运行状态不同,执行该根据该目标基础组件在该第一容器集群中当前的第一运行状态,在该第一容器集群中部署该目标基础组件。
在一些实施例中,该装置还包括:
第一确定单元,被配置为执行确定该工作负载的部署条件信息;
第二确定单元,被配置为执行根据该部署条件信息,从用于为该目标对象提供服务的多个第二容器集群中,确定与该部署条件信息匹配的多个第一容器集群。
在一些实施例中,该第二确定单元,包括:
第二确定子单元,被配置为执行根据该部署条件信息,确定该工作负载所需的容器集群的目标类别;将该多个第二容器集群中与该目标类别匹配的容器集群确定为该第一容器集群;或者
获取子单元,被配置为执行根据该部署条件信息,获取目标属性信息,将该多个第二容器集群中与该目标属性信息匹配的容器集群确定为该第一容器集群。
在一些实施例中,该装置还包括:
存储单元,被配置为执行存储该组件部署命令;
该部署单元503,还被配置为响应于新增用于为该目标对象提供服务的第一容器集群,执行根据该组件部署命令,在新增的第一容器集群中部署该目标基础组件。
在一些实施例中,该装置还包括:
第二接收单元,被配置为执行接收状态获取请求;
该获取单元502,还被配置为响应于该状态获取请求,执行获取该目标基础组件在该多个第一容器集群中当前的第三运行状态;
发送单元,被配置为执行返回该目标基础组件在该多个第一容器集群中当前的第三运行状态。
在本公开实施例中,当接收到组件部署命令,通过第一容器集群的第一运行状态,向多个第一容器集群中部署目标基础组件,从而实现了通过一个组件部署命令,向多种第一运行状态的多个第一容器集群中部署目标基础组件,进而提高了目标基础组件的部署效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
参见图6,图6是本申请实施例提供的一种服务器的结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)601和一个或一个以上的存储器602,其中,所述存储器602中存储有至少一条指令,所述至少一条指令由所述处理器601加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器600还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器600还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,当该计算机可读存储介质中的指令由终端的处理器执行时,使得该终端能够执行上述实施例中的基础组件部署方法。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,当该计算机程序/指令被处理器执行时实现上述实施例中的基础组件部署方法。
在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种基础组件部署方法,其特征在于,所述方法包括:
接收组件部署命令,所述组件部署命令用于指示在多个第一容器集群中部署目标基础组件,所述多个第一容器集群用于为目标对象提供服务,所述目标基础组件用于运行所述目标对象的工作负载;
响应于所述组件部署命令,获取所述目标基础组件在所述多个第一容器集群中当前的第一运行状态;
对于每个第一容器集群,根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件,包括:
根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,确定所述目标基础组件在所述第一容器集群中的部署方式;
根据所述部署方式生成目标指令;
向所述第一容器集群下发所述目标指令,所述目标指令用于指示在所述第一容器集群中以所述部署方式部署所述目标基础组件。
3.根据权利要求2所述的方法,其特征在于,所述组件部署命令携带所述目标基础组件的第二运行状态,所述第二运行状态为所述目标基础组件在所述多个第一容器集群中期望的运行状态;
所述根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,确定所述目标基础组件在所述第一容器集群中的部署方式,包括:
若所述第一容器集群中已部署所述目标基础组件,所述目标基础组件的第二运行状态与所述第一运行状态不同,确定所述部署方式为更新所述目标基础组件;
若所述第一运行状态用于指示所述第一容器集群中未部署所述目标基础组件,确定所述部署方式为创建所述目标基础组件;
若所述第一运行状态用于指示所述第一容器集群中未删除所述目标基础组件,确定所述部署方式为删除所述目标基础组件。
4.根据权利要求1或3所述的方法,其特征在于,所述组件部署命令携带所述目标基础组件的第二运行状态,所述第二运行状态为所述目标基础组件在所述多个第一容器集群中期望的运行状态;
所述根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件之前,所述方法还包括:
若所述目标基础组件在所述第一容器集群中的第一运行状态与第二运行状态不同,执行所述根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件的步骤。
5.根据权利要求1所述的方法,其特征在于,所述获取所述目标基础组件在所述多个第一容器集群中当前的第一运行状态之前,所述方法还包括:
确定所述工作负载的部署条件信息;
根据所述部署条件信息,从用于为所述目标对象提供服务的多个第二容器集群中,确定与所述部署条件信息匹配的多个第一容器集群。
6.根据权利要求1所述的方法,其特征在于,所述接收组件部署命令之后,所述方法还包括:
存储所述组件部署命令;
响应于新增用于为所述目标对象提供服务的第一容器集群,根据所述组件部署命令,在新增的第一容器集群中部署所述目标基础组件。
7.一种基础组件部署装置,其特征在于,所述装置包括:
第一接收单元,被配置为执行接收组件部署命令,所述组件部署命令用于指示在多个第一容器集群中部署目标基础组件,所述多个第一容器集群用于为目标对象提供服务,所述目标基础组件用于运行所述目标对象的工作负载;
获取单元,被配置为响应于所述组件部署命令,执行获取所述目标基础组件在所述多个第一容器集群中当前的第一运行状态;
部署单元,被配置为对于每个第一容器集群,执行根据所述目标基础组件在所述第一容器集群中当前的第一运行状态,在所述第一容器集群中部署所述目标基础组件。
8.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的基础组件部署方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至6中任一项所述的基础组件部署方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至6中任一项所述的基础组件部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110700236.6A CN113419818B (zh) | 2021-06-23 | 2021-06-23 | 基础组件部署方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110700236.6A CN113419818B (zh) | 2021-06-23 | 2021-06-23 | 基础组件部署方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113419818A true CN113419818A (zh) | 2021-09-21 |
CN113419818B CN113419818B (zh) | 2022-06-10 |
Family
ID=77717543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110700236.6A Active CN113419818B (zh) | 2021-06-23 | 2021-06-23 | 基础组件部署方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113419818B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835974A (zh) * | 2021-11-29 | 2021-12-24 | 深圳市明源云科技有限公司 | k8s集群的监管方法、装置及计算机可读存储介质 |
WO2023050713A1 (zh) * | 2021-09-30 | 2023-04-06 | 苏州浪潮智能科技有限公司 | 一种容器集群和组件的管理方法、装置、系统及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888550A (zh) * | 2014-04-22 | 2014-06-25 | 北京搜狐新媒体信息技术有限公司 | 一种基于服务器集群系统的插件部署方法、装置和系统 |
US20170249374A1 (en) * | 2016-02-26 | 2017-08-31 | Red Hat, Inc. | Container clustering in a container-based architecture |
EP3282356A1 (en) * | 2016-08-11 | 2018-02-14 | Entit Software LLC | Container monitoring configuration deployment |
CN111782232A (zh) * | 2020-07-31 | 2020-10-16 | 平安银行股份有限公司 | 集群的部署方法、装置、终端设备及存储介质 |
US10841152B1 (en) * | 2017-12-18 | 2020-11-17 | Pivotal Software, Inc. | On-demand cluster creation and management |
CN112269640A (zh) * | 2020-11-02 | 2021-01-26 | 浪潮云信息技术股份公司 | 一种实现容器云组件的生命周期管理的方法 |
CN112333004A (zh) * | 2020-10-13 | 2021-02-05 | 北京京东尚科信息技术有限公司 | 基于容器集群基因的专有云流式重建及校验方法及装置 |
CN112511339A (zh) * | 2020-11-09 | 2021-03-16 | 宝付网络科技(上海)有限公司 | 基于多集群的容器监控告警方法、系统、设备及存储介质 |
CN112527507A (zh) * | 2020-12-21 | 2021-03-19 | 武汉联影医疗科技有限公司 | 集群部署方法、装置、计算机设备和存储介质 |
CN112668011A (zh) * | 2020-12-29 | 2021-04-16 | 广东电网有限责任公司电力调度控制中心 | 一种云容器集群的部署方法及系统 |
CN112698916A (zh) * | 2020-12-31 | 2021-04-23 | 北京千方科技股份有限公司 | 一种多容器集群的管控系统、方法以及存储介质 |
CN112783607A (zh) * | 2021-01-29 | 2021-05-11 | 上海哔哩哔哩科技有限公司 | 容器集群中任务部署方法及装置 |
-
2021
- 2021-06-23 CN CN202110700236.6A patent/CN113419818B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888550A (zh) * | 2014-04-22 | 2014-06-25 | 北京搜狐新媒体信息技术有限公司 | 一种基于服务器集群系统的插件部署方法、装置和系统 |
US20170249374A1 (en) * | 2016-02-26 | 2017-08-31 | Red Hat, Inc. | Container clustering in a container-based architecture |
EP3282356A1 (en) * | 2016-08-11 | 2018-02-14 | Entit Software LLC | Container monitoring configuration deployment |
US10841152B1 (en) * | 2017-12-18 | 2020-11-17 | Pivotal Software, Inc. | On-demand cluster creation and management |
CN111782232A (zh) * | 2020-07-31 | 2020-10-16 | 平安银行股份有限公司 | 集群的部署方法、装置、终端设备及存储介质 |
CN112333004A (zh) * | 2020-10-13 | 2021-02-05 | 北京京东尚科信息技术有限公司 | 基于容器集群基因的专有云流式重建及校验方法及装置 |
CN112269640A (zh) * | 2020-11-02 | 2021-01-26 | 浪潮云信息技术股份公司 | 一种实现容器云组件的生命周期管理的方法 |
CN112511339A (zh) * | 2020-11-09 | 2021-03-16 | 宝付网络科技(上海)有限公司 | 基于多集群的容器监控告警方法、系统、设备及存储介质 |
CN112527507A (zh) * | 2020-12-21 | 2021-03-19 | 武汉联影医疗科技有限公司 | 集群部署方法、装置、计算机设备和存储介质 |
CN112668011A (zh) * | 2020-12-29 | 2021-04-16 | 广东电网有限责任公司电力调度控制中心 | 一种云容器集群的部署方法及系统 |
CN112698916A (zh) * | 2020-12-31 | 2021-04-23 | 北京千方科技股份有限公司 | 一种多容器集群的管控系统、方法以及存储介质 |
CN112783607A (zh) * | 2021-01-29 | 2021-05-11 | 上海哔哩哔哩科技有限公司 | 容器集群中任务部署方法及装置 |
Non-Patent Citations (1)
Title |
---|
倪海峰: "基于Kubernetes的云平台HPA算法的优化与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023050713A1 (zh) * | 2021-09-30 | 2023-04-06 | 苏州浪潮智能科技有限公司 | 一种容器集群和组件的管理方法、装置、系统及存储介质 |
CN113835974A (zh) * | 2021-11-29 | 2021-12-24 | 深圳市明源云科技有限公司 | k8s集群的监管方法、装置及计算机可读存储介质 |
CN113835974B (zh) * | 2021-11-29 | 2022-03-01 | 深圳市明源云科技有限公司 | k8s集群的监管方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113419818B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976774B (zh) | 区块链节点部署方法、装置、设备和存储介质 | |
CN110752947B (zh) | 一种k8s集群部署方法及装置,一种部署平台 | |
CN109120678B (zh) | 用于分布式存储系统的服务托管的方法和装置 | |
CN111782370B (zh) | 一种kubernetes多集群管理系统、方法、终端及存储介质 | |
CN112035228B (zh) | 一种资源调度方法及装置 | |
CN112214330A (zh) | 集群中主节点的部署方法、装置及计算机可读存储介质 | |
CN108804618B (zh) | 数据库配置方法、装置、计算机设备和存储介质 | |
CN104536899A (zh) | 一种基于智能集群的软件部署及其维护方法 | |
CN111611054B (zh) | 一种应用部署方法及装置 | |
CN106953746A (zh) | 集群节点升级系统及方法 | |
CN113382077B (zh) | 微服务调度方法、装置、计算机设备和存储介质 | |
JP2016521897A (ja) | アプリケーションアップグレード方法および装置 | |
CN113419818B (zh) | 基础组件部署方法、装置、服务器及存储介质 | |
CN111831191A (zh) | 工作流配置方法、装置、计算机设备和存储介质 | |
CN110231956B (zh) | 应用程序版本构建的方法、系统及装置 | |
CN111078238A (zh) | 容器环境下应用配置集中处理方法及装置 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
US10073689B2 (en) | Managing application lifecycles within a federation of distributed software applications | |
CN113220480B (zh) | 分布式的数据任务跨云调度系统及方法 | |
CN114006815B (zh) | 云平台节点的自动化部署方法、装置、节点及存储介质 | |
CN111147585B (zh) | 设备升级方法、装置、存储介质及系统 | |
CN111427634A (zh) | 一种原子服务调度的方法及装置 | |
CN109032674B (zh) | 一种多进程管理方法、系统及网络设备 | |
CN109375946B (zh) | 一种管理节点包管理器的组件包的方法及系统 | |
CN115865924A (zh) | 一种集群部署方法、装置、设备、介质及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |