CN113254156B - 一种容器组部署方法、装置、电子设备及存储介质 - Google Patents

一种容器组部署方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113254156B
CN113254156B CN202110600606.9A CN202110600606A CN113254156B CN 113254156 B CN113254156 B CN 113254156B CN 202110600606 A CN202110600606 A CN 202110600606A CN 113254156 B CN113254156 B CN 113254156B
Authority
CN
China
Prior art keywords
deployment
container
configuration information
container group
management system
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.)
Active
Application number
CN202110600606.9A
Other languages
English (en)
Other versions
CN113254156A (zh
Inventor
郑泳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202110600606.9A priority Critical patent/CN113254156B/zh
Publication of CN113254156A publication Critical patent/CN113254156A/zh
Application granted granted Critical
Publication of CN113254156B publication Critical patent/CN113254156B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本发明实施例适用于计算机技术领域,提供了一种容器组部署方法、装置、电子设备及存储介质,其中,容器组部署方法包括:接收第一配置信息;第一配置信息用于在容器集群管理系统上部署对应的容器组;基于第一设定组件将第一配置信息转换为与容器集群管理系统中的部署组件对应的第二配置信息;基于所述第一设定组件将第二配置信息发送至容器集群管理系统,以使容器集群管理系统基于第二配置信息完成对容器组的部署。

Description

一种容器组部署方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种容器组部署方法、装置、电子设备及存储介质。
背景技术
相关技术通过kubernetes(k8s)的原生部署组件来部署容器组(pod),原生部署组件包括Deployment和DaemonSet等部署组件。通过原生部署组件部署pod需要部署人员非常熟悉Deployment和DaemonSet等部署组件的配置项,并且需要创建Service、ConfigMap、Secret、Ingress等k8s关联配置,部署pod的流程较为繁琐,pod的部署效率低。
发明内容
为了解决上述问题,本发明实施例提供了一种容器组部署方法、装置、电子设备及存储介质,以至少解决相关技术pod的部署效率低的问题。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种容器组部署方法,该方法包括:
接收第一配置信息;所述第一配置信息用于在容器集群管理系统上部署对应的容器组;
基于第一设定组件将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息;
基于所述第一设定组件将所述第二配置信息发送至所述容器集群管理系统,以使所述容器集群管理系统基于所述第二配置信息完成对容器组的部署。
上述方案中,所述第一配置信息包括以下任意一项:
创建容器组;
删除容器组;
更新容器组。
上述方案中,在所述容器集群管理系统完成对容器组的部署之后,所述方法还包括:
基于第二设定组件接收所述容器集群管理系统发送的关于容器组的部署信息,并基于所述部署信息对所述容器组对应的第一文本进行配置;所述第一文本表征对对应的容器组的资源的声明。
上述方案中,在所述容器集群管理系统创建容器组的情况下,所述部署信息包括所述容器组发送的注册请求,所述基于所述部署信息对所述容器组对应的第一文本进行配置,包括:
基于所述注册请求创建所述容器组对应的第一文本的资源。
上述方案中,在所述容器集群管理系统删除容器组的情况下,所述部署信息表征包括删除所述容器组的删除请求,所述基于所述部署信息对所述容器组对应的第一文本进行配置,包括:
基于所述删除请求删除所述容器组对应的第一文本的资源。
上述方案中,所述接收第一配置信息,包括:
基于第三设定组件接收用户输入的第一配置信息,并将所述第一配置信息传给所述第一设定组件。
上述方案中,在用户通过所述容器集群管理系统部署容器组的情况下,所述方法还包括:
基于所述第一设定组件监听第一事件;所述第一事件表征所述容器集群管理系统部署部署组件的事件;
在所述第一设定组件监听到第一事件发生的情况下,基于所述第一设定组件基于所述第一事件配置对应的第一文本;所述第一文本表征对对应的容器组的资源的声明。
上述方案中,所述基于第一设定组件将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息,包括:
确定所述第一配置信息对应的部署类型;
基于所述部署类型生成所述第二配置信息。
第二方面,本发明实施例提供了一种容器组部署装置,该装置包括:
第三设定组件,用于接收用户输入的第一配置信息,并将所述第一配置信息传给所述第一设定组件;
第一设定组件,用于将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息;将所述第二配置信息发送至所述容器集群管理系统,以使所述容器集群管理系统基于所述第二配置信息完成对容器组的部署。
上述方案中,所述装置还包括:
第二设定组件,用于接收所述容器集群管理系统发送的关于容器组的部署信息,并基于所述部署信息对所述容器组对应的第一文本进行配置;所述第一文本表征对对应的容器组的资源的声明。
上述方案中,所述第一设定组件在将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息时,用于:
确定所述第一配置信息对应的部署类型;基于所述部署类型生成所述第二配置信息。
上述方案中,在用户通过所述容器集群管理系统部署容器组的情况下,所述第一设定组件用于:
监听第一事件;所述第一事件表征所述容器集群管理系统部署部署组件的事件;在所述第一设定组件监听到第一事件发生的情况下,所述第一设定组件用于基于所述第一事件配置对应的第一文本;所述第一文本表征对对应的容器组的资源的声明。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的容器组部署方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的容器组部署方法的步骤。
本发明实施例通过接收第一配置信息,基于第一设定组件将第一配置信息转换为与容器集群管理系统中的部署组件对应的第二配置信息,然后基于第一设定组件将第二配置信息发送至容器集群管理系统,以使容器集群管理系统基于第二配置信息完成对容器组的部署。其中,第一配置信息用于在容器集群管理系统上部署对应的容器组。本发明实施例通过第一设定组件将第一配置信息转换为与容器集群管理系统中的部署组件对应的第二配置信息,避免了用户手动在容器集群管理系统上进行部署,简化了容器组的部署操作,容器集群管理系统可以直接基于第二配置信息完成对容器组的部署,提高了容器组的部署效率。
附图说明
图1是本发明实施例提供的一种容器组部署方法的实现流程示意图;
图2是本发明实施例提供的另一种容器组部署方法的实现流程示意图;
图3是本发明应用实施例提供的一种第一应用程序的结构示意图;
图4是本发明应用实施例提供的一种容器组创建流程的示意图;
图5是本发明应用实施例提供的一种容器组删除流程的示意图;
图6是本发明应用实施例提供的一种容器组更新流程的示意图;
图7是本发明应用实施例提供的一种容器组创建流程的示意图;
图8是本发明应用实施例提供的一种容器组删除流程的示意图;
图9是本发明应用实施例提供的一种容器组更新流程的示意图;
图10是本发明实施例提供的一种容器组部署装置的示意图;
图11是本发明一实施例提供的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Kubernetes(k8s)是来自Google云平台的开源容器集群管理系统,用于自动部署、扩展和管理容器化应用程序。在Kubernetes集群中,Pod是所有业务类型的基础,也是k8s管理的最小单位级,它是一个或多个容器的组合。一个或多个容器可运行在一个Pod内,容器共享同一个Pod的网络环境。K8s以Pod为最小单位进行调度、扩展、共享资源、管理生命周期。
相关技术通过k8s的原生部署组件在k8s上部署pod,部署流程较为繁琐,需要部署人员非常熟悉Deployment和DaemonSet等部署组件的配置项,并且需要创建Service、ConfigMap、Secret、Ingress等k8s关联配置。而且只能通过k8s平台端进行配置,没有统一的管理系统。
针对上述相关技术的缺点,本发明实施例提供了一种容器组部署方法,至少能够提高容器组部署效率。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1是本发明实施例提供的一种容器组部署方法的实现流程示意图,所述容器组部署方法的执行主体为电子设备,电子设备可以是服务器、台式电脑、笔记本电脑或者其他终端。参考图1,容器组部署方法包括:
S101,接收第一配置信息;所述第一配置信息用于在容器集群管理系统上部署对应的容器组。
这里,容器集群管理系统包括k8s、Docker容器引擎、openshift、podman、cri-o、containerd等,容器集群管理系统可以运行于PaaS平台上。本发明实施例中的k8s只是作为容器集群管理系统的一种示例,并不是对容器集群管理系统的限定。
这里,容器组可以为k8s中的pod,pod是k8s集群中的最小工作单元,一个或多个容器可运行在一个Pod内,容器共享同一个Pod的网络环境。
在本发明实施例中,电子设备安装并运行有第一应用程序,第一应用程序用于与容器集群管理系统进行对接,用户可以基于第一应用程序在容器集群管理系统上部署容器组。第一应用程序包括多个组件,每个组件用于实现特定的功能。
第一配置信息例如可以是用户通过第一应用程序输入的,第一应用程序包含多个组件,其中某一组件(如称为第三设定组件)用于接收用户输入的第一配置信息,并将第一配置信息发送至另一组件(如称为第一设定组件)。
第三设定组件是第一应用程序中提供管理接口的API组件,在这里用于接收用户输入的第一配置信息。
在一实施例中,所述第一配置信息包括以下任意一项:
创建容器组;
删除容器组;
更新容器组。
用户可以在第一应用程序中输入第一配置信息,第一应用程序根据第一配置信息控制容器集群管理系统部署对应的容器组。例如,如果第一配置信息包括创建容器组,则第一应用程序根据第一配置信息控制容器集群管理系统创建部署组件,部署组件自动创建对应的容器组。
S102,基于第一设定组件将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息。
第一配置信息可以是用户在第一应用软件上输入的配置信息,如果需要控制k8s执行对应的部署操作,就需要将第一配置信息转换为容器集群管理系统中的部署组件对应的配置信息。
其中,第一设定组件是第一应用软件中的一个组件,用于将第一配置信息转换为与容器集群管理系统中的部署组件对应的第二配置信息。这里,在k8s中,第二配置信息可以是Deployment或DaemonSet配置。因为k8s一般不直接创建pod,而是通过控制器(部署组件)来管理和调度。Deployment和DaemonSet是k8s中的原生部署组件,部署Deployment或DaemonSet配置就等于对容器组进行部署。
在一实施例中,所述基于第一设定组件将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息,包括:
确定所述第一配置信息对应的部署类型;
基于所述部署类型生成所述第二配置信息。
首先,确定第一配置信息对应的部署类型,如果第一配置信息包括创建容器组,则对应的部署类型为创建;如果第一配置信息包括删除容器组,则对应的部署类型为删除;如果第一配置信息包括更新容器组,则对应的部署类型为更新。
根据第一配置信息对应的部署类型,确定第二配置信息的具体信息内容。比如,如果部署类型为创建,则第二配置信息包括需要创建的容器组的名称、规格等信息。这里,可以预先设置好不同部署类型对应的第二配置信息的模板,确定好部署类型对应的模板后,从第一配置信息中提取出关键信息放入模板中,得到第二配置信息。
S103,基于所述第一设定组件将所述第二配置信息发送至所述容器集群管理系统,以使所述容器集群管理系统基于所述第二配置信息完成对容器组的部署。
例如,容器集群管理系统为k8s时,第二配置信息为Deployment或DaemonSet配置,第一设定组件与k8s进行对接,部署Deployment或DaemonSet配置至k8s。
第一设定组件将第二配置信息发送至容器集群管理系统,容器集群管理系统接收到第二配置信息后基于第二配置信息部署对应的部署组件,部署组件自动对对应的容器组进行部署。例如,如果需要创建容器组,则容器集群管理系统基于第二配置信息创建部署组件,部署组件自动创建容器组。如果需要删除容器组,则容器集群管理系统基于第二配置信息删除对应的部署组件,容器集群管理系统自动删除对应的容器组。如果需要对容器组进行更新,则容器集群管理系统基于第二配置信息更新对应的部署组件,部署组件自动更新容器组。对容器组进行更新包括扩容/缩容,版本滚动发布等。
本发明实施例通过接收第一配置信息,基于第一设定组件将第一配置信息转换为与容器集群管理系统中的部署组件对应的第二配置信息,然后基于第一设定组件将第二配置信息发送至容器集群管理系统,以使容器集群管理系统基于第二配置信息完成对容器组的部署。其中,第一配置信息用于在容器集群管理系统上部署对应的容器组。本发明实施例通过第一设定组件将第一配置信息转换为与容器集群管理系统中的部署组件对应的第二配置信息,避免了用户手动在容器集群管理系统上进行部署,简化了容器组的部署操作,容器集群管理系统可以直接基于第二配置信息完成对容器组的部署,提高了容器组的部署效率。
在一实施例中,在所述容器集群管理系统完成对容器组的部署之后,所述容器组部署方法还包括:
基于第二设定组件接收所述容器集群管理系统发送的关于容器组的部署信息,并基于所述部署信息对所述容器组对应的第一文本进行配置;所述第一文本表征对对应的容器组的资源的声明。
这里,第二设定组件是第一应用程序中的一个组件,第二设定组件用于获取容器集群管理系统发送的关于容器组的部署信息,并基于部署信息对第一应用程序中容器组对应的第一文本进行配置,第一文本是对容器组的资源的声明式文件,声明是指通过声明式API下发的声明式的配置,容器组的资源包括容器组的结构、配置、大小等,第一文本可以通过第一应用程序打开和设置。例如,如果容器集群管理系统创建了一个容器组,则部署信息包括该容器组的资源数据,将该资源数据写入第一应用程序对应的第一文本中。
在一实施例中,在所述容器集群管理系统创建容器组的情况下,所述部署信息包括所述容器组发送的注册请求,所述基于所述部署信息对所述容器组对应的第一文本进行配置,包括:
基于所述注册请求创建所述容器组对应的第一文本的资源。
容器集群管理系统在创建完容器组后,容器组自动向第二设定组件发送注册请求,第二设定组件基于注册请求创建容器组对应的第一文本的资源。创建所述容器组对应的第一文本的资源,即第二设定组件基于部署信息往容器组对应的第一文本中写入容器组的资源数据。
在一实施例中,在所述容器集群管理系统删除容器组的情况下,所述部署信息表征包括删除所述容器组的删除请求,所述基于所述部署信息对所述容器组对应的第一文本进行配置,包括:
基于所述删除请求删除所述容器组对应的第一文本的资源。
容器集群管理系统在删除完容器组后,容器集群管理系统推送部署信息给第一设定组件,第一设定组件获取部署信息,第一设定组件基于部署信息向第二设定组件发送删除请求。第二设定组件接收删除请求,基于删除请求删除容器组对应的第一文本的资源,即将第一应用程序中的第一文本中的资源数据进行删除。
在容器集群管理系统对容器组进行部署后,根据部署信息及时对第一文本进行配置,保持容器集群管理系统和第一应用程序中资源信息的同步。第一文本是容器组在第一应用程序中的资源声明文件,通过第一文本可以直观了解对应的容器组的资源信息,便于用户对容器组进行部署。
上述方案是用户通过第一应用程序来在容器集群管理系统中部署容器组,用户还可以直接通过容器集群管理系统手动部署部署组件来实现容器组的部署。参考图2,在一实施例中,在用户通过所述容器集群管理系统部署容器组的情况下,所述容器组部署方法还包括:
S201,基于所述第一设定组件监听第一事件;所述第一事件表征所述容器集群管理系统部署部署组件的事件。
用户可以手动在容器集群管理系统上部署部署组件来实现容器组的部署,用户在容器集群管理系统上对容器组进行部署时,通过第一设定组件监听容器集群管理系统中的部署组件的部署事件,容器集群管理系统部署部署组件包括:创建部署组件、删除部署组件、修改部署组件等。
S202,在所述第一设定组件监听到第一事件发生的情况下,基于所述第一设定组件基于所述第一事件配置对应的第一文本;所述第一文本表征对对应的容器组的资源的声明。
在第一设定组件监听到第一事件发生的情况下,第一设定组件基于第一事件配置对应的第一文本。这里,如果第一事件是容器集群管理系统创建部署组件,则第一设定组件基于第一事件在第一应用程序中创建对应的第一文本。然后在容器集群管理系统的容器组创建之后,向第一应用程序中创建的第一文本写入容器组的资源数据。如果第一事件是容器集群管理系统删除部署组件,则第一设定组件基于第一事件删除第一应用程序中对应的第一文本。在容器集群管理系统删除对应的容器组后,删除第一应用程序中第一文本中的资源数据。
本发明实施例提供了两种部署容器组的方法,第一种方法用户通过第一应用程序来控制容器集群管理系统部署容器组,通过第一应用程序将第一配置信息转换为第二配置信息,以使容器集群管理系统可以直接基于第二配置信息部署对应的部署组件以完成对容器组的部署,提高了容器组的部署效率。第二种方法用户通过容器集群管理系统部署部署组件来实现对容器组的部署,第一应用程序监听第一事件,基于第一事件部署对应的第一文本。
参考图3,图3是本发明应用实施例提供的一种第一应用程序的结构示意图。本发明应用实施例提供了一种第一应用程序,该第一应用程序用于与k8s进行对接,用户可以基于第一应用程序在k8s上部署pod。第一应用程序包括多个组件,每个组件实现特定的功能。
如图3所示,图3中cnadc是第一应用程序(第一应用程序例如可以为CNAD,CNAD指云原生的负载均衡类型的应用软件)的控制面(或控制平台、控制器),图3仅是针对负载均衡应用容器化的一种示例,并不是对应用容器化的限定,也可以是其他形式的应用的容器化。
其中,cnad对应第一文本,PlatformMgr组件用于对接k8s平台并实现容器组的自动部署,PlatformMgr组件对应上述实施例中的第一设定组件。PlatformMgr组件包括5个组件:platform-service、platform-connector、controller-mgr、dns-controller和cnad-controller。其中,platform-service提供部署、状态查询等微服务接口。platform-connector提供与其它平台的连接器。controller-mgr负责管理创建相关服务资源池的控制器。dns-controller负责监听dnsserver资源变动,并部署DNS资源池至k8s。cnad-controller负责监听cnadgroup资源变动,并部署容器组资源池至k8s。CNAD Mgr对应上述实施例中的第二设定组件,cnadc-apiserver对应上述实施例中的第三设定组件,cnadc-apiserver是CNADC中提供管理接口的API组件。
参考图4,图4是本发明应用实施例提供的一种容器组创建流程的示意图。用户通过cnadc-apiserver输入容器组的创建命令,cnadc-apiserver推送创建命令至PlatformMgr,PlatformMgr创建Deployment或DaemonSet配置,将Deployment或DaemonSet配置发送给kube-apiserver,kube-apiserver是k8s集群中提供的管理接口,对集群外部和内部提供不同的授权鉴权访问方式。k8s内部实现Deployment或DaemonSet调和功能,创建容器组。容器组向CNAD Mgr进行注册,CNAD Mgr访问cnadc-apiserver接口创建容器组对应的第一文本的资源。其中,示例性的,PlatformMgr组件对应上述实施例中的第一设定组件,CNAD Mgr对应上述实施例中的第二设定组件,cnadc-apiserver对应上述实施例中的第三设定组件。
参考图5,图5是本发明应用实施例提供的一种容器组删除流程的示意图。用户通过cnadc-apiserver输入容器组的删除命令,cnadc-apiserver推送删除命令至PlatformMgr,PlatformMgr访问kube-apiserver删除对应的Deployment或DaemonSet配置,k8s内部实现Deployment或DaemonSet调和功能,删除容器组。kube-apiserver推送容器组删除事件给PlatformMgr,PlatformMgr接收到容器组删除事件,PlatformMgr访问CNAD Mgr注销接口,注销容器组对应的第一文本,CNAD Mgr访问cnadc-apiserver接口删除第一文本。
参考图6,图6是本发明应用实施例提供的一种容器组更新流程的示意图。用户通过cnadc-apiserver输入容器组的更新命令,cnadc-apiserver推送更新命令至PlatformMgr,PlatformMgr访问kube-apiserver更新对应的Deployment或DaemonSet配置,k8s内部实现Deployment或DaemonSet调和功能,包含扩容/缩容,版本滚动发布。扩容、新版本发布参考图4实施例,缩容、旧版本销毁参考图5实施例。
参考图7,图7是本发明应用实施例提供的一种容器组创建流程的示意图。用户通过k8s直接创建DaemonSet/Deployment实现创建容器组,PlatformMgr接收到kube-apiserver推送的DaemonSet/Deployment创建事件,PlatformMgr访问cnadc-apiserver接口创建容器组对应的第一文本。k8s内部实现DaemonSet/Deployment调和功能,创建容器组。容器组向CNAD Mgr进行注册,如果第一文本还没有创建则当次注册失败,重新进行下一次注册。CNAD Mgr访问cnadc-apiserver接口创建容器组对应的第一文本的资源。
参考图8,图8是本发明应用实施例提供的一种容器组删除流程的示意图。用户通过k8s直接删除DaemonSet/Deployment实现删除容器组,PlatformMgr接收到kube-apiserver推送的DaemonSet/Deployment删除事件,PlatformMgr访问cnadc-apiserver接口删除容器组对应的第一文本。k8s内部实现Deployment或DaemonSet调和功能,删除容器组。kube-apiserver推送容器组删除事件给PlatformMgr。PlatformMgr接收到容器组删除事件,PlatformMgr访问CNAD Mgr注销接口,注销容器组对应的第一文本,CNAD Mgr访问cnadc-apiserver接口删除第一文本的资源。
参考图9,图9是本发明应用实施例提供的一种容器组更新流程的示意图。用户通过k8s直接更新DaemonSet/Deployment,PlatformMgr接收到kube-apiserver推送的DaemonSet/Deployment更新事件,PlatformMgr访问cnadc-apiserver接口更新容器组对应的第一文本。k8s内部实现Deployment或DaemonSet调和功能,包含扩容/缩容、版本滚动发布。扩容和新版本发布参考图7实施例,缩容和旧版本销毁参考图8实施例。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
参考图10,图10是本发明实施例提供的一种容器组部署装置的示意图,如图10所示,该装置包括:第三设定组件和第一设定组件。
第三设定组件,用于接收用户输入的第一配置信息,并将所述第一配置信息传给所述第一设定组件;
第一设定组件,用于将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息;将所述第二配置信息发送至所述容器集群管理系统,以使所述容器集群管理系统基于所述第二配置信息完成对容器组的部署。
在一实施例中,所述装置还包括:
第二设定组件,用于接收所述容器集群管理系统发送的关于容器组的部署信息,并基于所述部署信息对所述容器组对应的第一文本进行配置;所述第一文本表征对对应的容器组的资源的声明。
在一实施例中,所述第一设定组件在将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息时,用于:
确定所述第一配置信息对应的部署类型;基于所述部署类型生成所述第二配置信息。
在一实施例中,在用户通过所述容器集群管理系统部署容器组的情况下,所述第一设定组件用于:
监听第一事件;所述第一事件表征所述容器集群管理系统部署部署组件的事件;在所述第一设定组件监听到第一事件发生的情况下,所述第一设定组件用于基于所述第一事件配置对应的第一文本;所述第一文本表征对对应的容器组的资源的声明。
在一实施例中,所述第一配置信息包括以下任意一项:
创建容器组;
删除容器组;
更新容器组。
在一实施例中,在所述容器集群管理系统创建容器组的情况下,所述部署信息包括所述容器组发送的注册请求,第二设定组件在基于所述部署信息对所述容器组对应的第一文本进行配置时,用于:
基于所述注册请求创建所述容器组对应的第一文本的资源。
在一实施例中,在所述容器集群管理系统删除容器组的情况下,所述部署信息表征包括删除所述容器组的删除请求,第二设定组件在基于所述部署信息对所述容器组对应的第一文本进行配置时,用于:
基于所述删除请求删除所述容器组对应的第一文本的资源。
实际应用时,所述第一设定组件、第二设定组件和第三设定组件可通过电子设备中的处理器,比如中央处理器(CPU,Central ProcessingUnit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable GateArray)等实现。
需要说明的是:上述实施例提供的容器组部署装置在进行容器组部署时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的容器组部署装置与容器组部署方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备。图11为本申请实施例电子设备的硬件组成结构示意图,如图11所示,电子设备包括:
通信接口,能够与其它设备比如网络设备等进行信息交互;
处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。
当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统。
本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-OnlyMemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,RandomAccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static RandomAccess Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic RandomAccess Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic RandomAccess Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic RandomAccess Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus RandomAccess Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
可选地,所述处理器执行所述程序时实现本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由电子设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种容器组部署方法,其特征在于,所述方法包括:
接收第一配置信息;所述第一配置信息用于在容器集群管理系统上部署对应的容器组;
基于第一设定组件将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息;所述第一设定组件是第一应用程序中的一个组件,用于将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息;
基于所述第一设定组件将所述第二配置信息发送至所述容器集群管理系统,以使所述容器集群管理系统基于所述第二配置信息完成对容器组的部署;
在所述容器集群管理系统完成对容器组的部署之后,所述方法还包括:
基于第二设定组件接收所述容器集群管理系统发送的关于容器组的部署信息,并基于所述部署信息对所述容器组对应的第一文本进行配置;所述第一文本表征对对应的容器组的资源的声明;所述第二设定组件是所述第一应用程序中的一个组件,用于获取所述容器集群管理系统发送的关于容器组的部署信息。
2.根据权利要求1所述的方法,其特征在于,所述第一配置信息包括以下任意一项:
创建容器组;
删除容器组;
更新容器组。
3.根据权利要求1所述的方法,其特征在于,在所述容器集群管理系统创建容器组的情况下,所述部署信息包括所述容器组发送的注册请求,所述基于所述部署信息对所述容器组对应的第一文本进行配置,包括:
基于所述注册请求创建所述容器组对应的第一文本的资源。
4.根据权利要求1所述的方法,其特征在于,在所述容器集群管理系统删除容器组的情况下,所述部署信息表征包括删除所述容器组的删除请求,所述基于所述部署信息对所述容器组对应的第一文本进行配置,包括:
基于所述删除请求删除所述容器组对应的第一文本的资源。
5.根据权利要求1所述的方法,其特征在于,所述接收第一配置信息,包括:
基于第三设定组件接收用户输入的第一配置信息,并将所述第一配置信息传给所述第一设定组件;所述第三设定组件是所述第一应用程序中提供管理接口的API组件,用于接收所述用户输入的第一配置信息。
6.根据权利要求1所述的方法,其特征在于,在用户通过所述容器集群管理系统部署容器组的情况下,所述方法还包括:
基于所述第一设定组件监听第一事件;所述第一事件表征所述容器集群管理系统部署部署组件的事件;
在所述第一设定组件监听到第一事件发生的情况下,基于所述第一设定组件基于所述第一事件配置对应的第一文本;所述第一文本表征对对应的容器组的资源的声明。
7.根据权利要求1所述的方法,其特征在于,所述基于第一设定组件将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息,包括:
确定所述第一配置信息对应的部署类型;
基于所述部署类型生成所述第二配置信息。
8.一种容器组部署装置,其特征在于,包括:
第三设定组件,所述第三设定组件是第一应用程序中提供管理接口的API组件,用于接收用户输入的第一配置信息,并将所述第一配置信息传给第一设定组件;
第一设定组件,所述第一设定组件是所述第一应用程序中的一个组件,用于将所述第一配置信息转换为与容器集群管理系统中的部署组件对应的第二配置信息;将所述第二配置信息发送至所述容器集群管理系统,以使所述容器集群管理系统基于所述第二配置信息完成对容器组的部署;
第二设定组件,所述第二设定组件是所述第一应用程序中的一个组件,用于接收所述容器集群管理系统发送的关于容器组的部署信息,并基于所述部署信息对所述容器组对应的第一文本进行配置;所述第一文本表征对对应的容器组的资源的声明。
9.根据权利要求8所述的装置,其特征在于,所述第一设定组件在将所述第一配置信息转换为与所述容器集群管理系统中的部署组件对应的第二配置信息时,用于:
确定所述第一配置信息对应的部署类型;基于所述部署类型生成所述第二配置信息。
10.根据权利要求8所述的装置,其特征在于,在用户通过所述容器集群管理系统部署容器组的情况下,所述第一设定组件用于:
监听第一事件;所述第一事件表征所述容器集群管理系统部署部署组件的事件;在所述第一设定组件监听到第一事件发生的情况下,所述第一设定组件用于基于所述第一事件配置对应的第一文本;所述第一文本表征对对应的容器组的资源的声明。
11.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的容器组部署方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的容器组部署方法。
CN202110600606.9A 2021-05-31 2021-05-31 一种容器组部署方法、装置、电子设备及存储介质 Active CN113254156B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110600606.9A CN113254156B (zh) 2021-05-31 2021-05-31 一种容器组部署方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110600606.9A CN113254156B (zh) 2021-05-31 2021-05-31 一种容器组部署方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113254156A CN113254156A (zh) 2021-08-13
CN113254156B true CN113254156B (zh) 2024-04-09

Family

ID=77185447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110600606.9A Active CN113254156B (zh) 2021-05-31 2021-05-31 一种容器组部署方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113254156B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189436B (zh) * 2021-12-08 2024-04-30 深圳Tcl新技术有限公司 一种多集群配置部署方法、装置、电子设备和存储介质
CN114500257A (zh) * 2021-12-09 2022-05-13 深信服科技股份有限公司 网络配置分发方法、装置、控制节点及存储介质
CN114281478B (zh) * 2021-12-24 2023-04-18 北京百度网讯科技有限公司 容器运行方法、装置、电子设备及计算机存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2004206591A1 (en) * 2003-01-23 2004-08-05 Electronic Data Systems Corporation Distribution of services software in a network
CN101473305A (zh) * 2006-04-28 2009-07-01 网络装置公司 用于集群环境中的作业的管理的系统和方法
US9256467B1 (en) * 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
CN108628613A (zh) * 2018-05-02 2018-10-09 山东汇贸电子口岸有限公司 基于国产cpu和os的容器集群有状态服务的实现方法
CN108664291A (zh) * 2017-03-30 2018-10-16 中国移动通信集团山西有限公司 容器组的构建方法和装置
CN110138606A (zh) * 2019-05-06 2019-08-16 携程旅游信息技术(上海)有限公司 容器网络配置方法及系统
CN110535831A (zh) * 2019-07-30 2019-12-03 平安科技(深圳)有限公司 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
KR20200027783A (ko) * 2018-09-05 2020-03-13 주식회사 나눔기술 분산 지능모듈의 통합관리 시스템
CN111614490A (zh) * 2020-04-29 2020-09-01 北京金山云网络技术有限公司 基于顶级容器集群对托管容器集群的管理系统及方法
CN112015536A (zh) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 Kubernetes集群容器组调度方法、装置及介质
CN112084009A (zh) * 2020-09-17 2020-12-15 湖南长城科技信息有限公司 PK体系下基于容器化技术构建和监控Hadoop集群与告警的方法
CN112506444A (zh) * 2020-12-28 2021-03-16 南方电网深圳数字电网研究院有限公司 基于Kubernetes集群的扩缩容控制方法和装置、电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9641388B2 (en) * 2014-07-29 2017-05-02 Commvault Systems, Inc. Customized deployment in information management systems
US11303508B2 (en) * 2017-12-15 2022-04-12 Red Hat Israel, Ltd. Deployment state based configuration generation
US11157304B2 (en) * 2019-11-01 2021-10-26 Dell Products L.P. System for peering container clusters running on different container orchestration systems

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2004206591A1 (en) * 2003-01-23 2004-08-05 Electronic Data Systems Corporation Distribution of services software in a network
CN101473305A (zh) * 2006-04-28 2009-07-01 网络装置公司 用于集群环境中的作业的管理的系统和方法
US9256467B1 (en) * 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
CN108664291A (zh) * 2017-03-30 2018-10-16 中国移动通信集团山西有限公司 容器组的构建方法和装置
CN108628613A (zh) * 2018-05-02 2018-10-09 山东汇贸电子口岸有限公司 基于国产cpu和os的容器集群有状态服务的实现方法
KR20200027783A (ko) * 2018-09-05 2020-03-13 주식회사 나눔기술 분산 지능모듈의 통합관리 시스템
CN110138606A (zh) * 2019-05-06 2019-08-16 携程旅游信息技术(上海)有限公司 容器网络配置方法及系统
CN110535831A (zh) * 2019-07-30 2019-12-03 平安科技(深圳)有限公司 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
WO2021017279A1 (zh) * 2019-07-30 2021-02-04 平安科技(深圳)有限公司 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
CN111614490A (zh) * 2020-04-29 2020-09-01 北京金山云网络技术有限公司 基于顶级容器集群对托管容器集群的管理系统及方法
CN112015536A (zh) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 Kubernetes集群容器组调度方法、装置及介质
CN112084009A (zh) * 2020-09-17 2020-12-15 湖南长城科技信息有限公司 PK体系下基于容器化技术构建和监控Hadoop集群与告警的方法
CN112506444A (zh) * 2020-12-28 2021-03-16 南方电网深圳数字电网研究院有限公司 基于Kubernetes集群的扩缩容控制方法和装置、电子设备

Also Published As

Publication number Publication date
CN113254156A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN113254156B (zh) 一种容器组部署方法、装置、电子设备及存储介质
WO2017031954A1 (zh) 一种数据通信方法、用户设备和服务器
US9253265B2 (en) Hot pluggable extensions for access management system
US9065843B2 (en) Method, system and article of manufacture for providing connections and connection aliases descriptors by services and libraries archives
CN111736956B (zh) 一种容器服务部署方法、装置、设备及可读存储介质
US10423572B2 (en) Performing live updates to file system volumes
CN103095544A (zh) 虚拟交换机的可扩展性
CN110389766B (zh) HBase容器集群部署方法、系统、设备及计算机可读存储介质
KR20110030447A (ko) 가상 머신 및 애플리케이션 수명들의 동기화
KR20080082623A (ko) 애플리케이션의 메타데이터 구동 배치
CN102193807A (zh) 一种镜像文件升级的方法、服务器及计算机网络系统
US20140047222A1 (en) Method and device for recombining runtime instruction
CN112395039B (zh) 一种Kubernetes集群的管理方法和装置
CN113626286A (zh) 多集群实例处理方法、装置、电子设备及存储介质
CN111796838A (zh) Mpp数据库自动部署方法及装置
CN113849266A (zh) 多Kubernetes集群的业务部署方法及装置
JPWO2014192867A1 (ja) 分散処理システム、分散処理装置、分散処理方法および分散処理プログラム
CN104090822A (zh) Android系统下外部存储设备的切换方法及系统
CN112506539B (zh) 一种固件更新方法、装置及电子设备和存储介质
WO2023174127A1 (zh) 基于云的fpga管理控制系统、方法及电子设备
CN115525396A (zh) 基于云原生的应用管理方法及装置
CN113093995A (zh) 一种云盘数据的迁移方法和系统
US20180217870A1 (en) System And Method For Multi-Tiered Real Time Processing Using Configurable Platform Instances
EP4304154A1 (en) Information processing device, information processing method, program, and information processing system
CN115129365B (zh) 基于ipsan实现应用程序可移植性的方法及应用

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