CN114610443A - 一种基于k8s容器集群的多服务部署方法、装置及电子设备 - Google Patents

一种基于k8s容器集群的多服务部署方法、装置及电子设备 Download PDF

Info

Publication number
CN114610443A
CN114610443A CN202210182537.9A CN202210182537A CN114610443A CN 114610443 A CN114610443 A CN 114610443A CN 202210182537 A CN202210182537 A CN 202210182537A CN 114610443 A CN114610443 A CN 114610443A
Authority
CN
China
Prior art keywords
service
container cluster
deploying
command
personalized
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.)
Pending
Application number
CN202210182537.9A
Other languages
English (en)
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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202210182537.9A priority Critical patent/CN114610443A/zh
Publication of CN114610443A publication Critical patent/CN114610443A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种基于k8s容器集群的多服务部署方法、装置及电子设备,包括:获取输入的storge服务的chart模板,chart模板中的参数信息包括表示待部署的各个性化服务需要的存储空间信息;基于storge服务的chart模板中的参数信息,生成用于在k8s容器集群上部署storge服务的helm install命令;向k8s容器集群发送该helm install命令,用于在k8s容器集群上部署storge服务;针对后续待部署的每个个性化服务,获取输入的该个性化服务的chart模板;基于该个性化服务的chart模板中的参数信息,生成用于在k8s容器集群上部署该个性化服务的helm install命令;向k8s容器集群发送用于部署该个性化服务的helm install命令,用于在k8s容器集群上部署该个性化服务。采用该方案,提高了在k8s容器集群上部署多个服务的灵活性和通用性。

Description

一种基于k8s容器集群的多服务部署方法、装置及电子设备
技术领域
本申请涉及容器集群技术领域,尤其涉及一种基于k8s容器集群的多服务部署方法、装置及电子设备。
背景技术
Kubernetes(简称k8s)是一种开源的容器集群管理系统。在Docker技术 (容器虚拟化技术)的基础上,k8s为容器化的服务(也可以称作应用)提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,能够提高大规模容器集群管理的便捷性。
在现有技术中,若需要为一个应用平台部署k8s容器集群,则可以利用当前应用平台开发框架自带的管理工具实现部署。例如:若当前应用平台利用 Open Stack开发,那么可使Open Stack中的magnum使用虚拟机镜像以及Open Stack中的keystone、neutron等组件部署k8s容器集群。
上述部署方式由于需要用到开发框架自带的一些组件,导致k8s容器集群部署与开发框架的耦合度高。并且,此种部署方式使用的虚拟机镜像依赖虚拟机中的操作系统,若虚拟机中的操作系统与Open Stack不兼容,则无法部署。因此现有部署方式的灵活性和通用性较低。
发明内容
本申请实施例提供一种基于k8s容器集群的多服务部署方法、装置及电子设备,用以解决现有技术中存在的在k8s容器集群上部署多个服务的灵活性和通用性较低的问题。
本申请实施例提供一种基于k8s容器集群的多服务部署方法,包括:
获取输入的存储storge服务的chart模板,所述storge服务的chart模板中的参数信息包括表示待部署的各个性化服务需要的存储空间信息;
基于所述storge服务的chart模板中的参数信息,生成用于在k8s容器集群上部署所述storge服务的helm install命令;
向所述k8s容器集群发送用于部署所述storge服务的helm install命令,用于在所述k8s容器集群上部署所述storge服务,使得在所述k8s容器集群上针对后续待部署的所述各个性化服务创建存储空间;
针对后续待部署的每个所述个性化服务,获取输入的该个性化服务的chart 模板;
基于该个性化服务的chart模板中的参数信息,生成用于在所述k8s容器集群上部署该个性化服务的helm install命令;
向所述k8s容器集群发送用于部署该个性化服务的helm install命令,用于在所述k8s容器集群上,基于已针对该个性化服务创建的存储空间,部署该个性化服务。
进一步的,所述storge服务的chart模板中的参数信息还包括待部署的其他基础服务需要的存储空间信息,在所述k8s容器集群上部署所述storge服务后,在所述k8s容器集群上针对后续待部署的其他基础服务已创建存储空间;
在所述针对后续待部署的每个所述个性化服务,获取输入的该个性化服务的chart模板之前,还包括:
针对后续待部署的每个所述基础服务,获取输入的该基础服务的chart模板;
基于该基础服务的chart模板中的参数信息,生成用于在所述k8s容器集群上部署该基础服务的helm install命令;
向所述k8s容器集群发送用于部署该基础服务的helm install命令,用于在所述k8s容器集群上,基于已针对该基础服务创建的存储空间,部署该基础服务。
进一步的,所述其他基础服务包括:SSO服务,所述SSO服务用于生成访问所述个性化服务需要的验证口令。
进一步的,所述storge服务的chart模板中的参数信息还包括部署所述 storge服务所需要的环境变量;
所述基于所述storge服务的chart模板中的参数信息,生成用于在k8s容器集群上部署所述storge服务的helm install命令,包括:
根据所述环境变量确定所述storge服务的部署方式;
基于确定的所述部署方式创建所述storge服务需要的命名空间;
按照所述部署方式,基于所述storge服务需要的命名空间,以及所述storge 服务的chart模板中的其他参数信息,生成用于在k8s容器集群上部署所述 storge服务的helminstall命令。
进一步的,在所述向所述k8s容器集群发送用于部署该个性化服务的helminstall命令之后,还包括:
生成该个性化服务的ca证书;
将所述ca证书写入secret文件;
将所述secret文件挂载到配置文件;
向所述k8s容器集群发送所述配置文件。
进一步的,还包括:
在生成用于部署所述storge服务的helm install命令的过程中,或者,在生成用于部署个性化服务的helm install命令的过程中,当按照参数信息表示的变量之间的拓扑关系进行变量解析发生变量循环引用时,发起报错提示。
进一步的,还包括:
在生成用于部署所述storge服务的helm install命令的过程中,或者,在生成用于部署个性化服务的helm install命令的过程中,当由于未查找到参数信息表示的变量对应的属性而无法对变量自动赋值时,发起报错提示,并显示用于更改错误的操作步骤。
本申请实施例还提供一种基于k8s容器集群的多服务部署装置,包括:
模板获取模块,用于获取输入的存储storge服务的chart模板,所述storge 服务的chart模板中的参数信息包括表示待部署的各个性化服务需要的存储空间信息;
命令生成模块,用于基于所述storge服务的chart模板中的参数信息,生成用于在k8s容器集群上部署所述storge服务的helm install命令;
命令发送模块,用于向所述k8s容器集群发送用于部署所述storge服务的 helminstall命令,用于在所述k8s容器集群上部署所述storge服务,使得在所述k8s容器集群上针对后续待部署的所述各个性化服务创建存储空间;
所述模板获取模块,还用于针对后续待部署的每个所述个性化服务,获取输入的该个性化服务的chart模板;
所述命令生成模块,还用于基于该个性化服务的chart模板中的参数信息,生成用于在所述k8s容器集群上部署该个性化服务的helm install命令;
所述命令发送模块,还用于向所述k8s容器集群发送用于部署该个性化服务的helm install命令,用于在所述k8s容器集群上,基于已针对该个性化服务创建的存储空间,部署该个性化服务。
进一步的,所述storge服务的chart模板中的参数信息还包括待部署的其他基础服务需要的存储空间信息,在所述k8s容器集群上部署所述storge服务后,在所述k8s容器集群上针对后续待部署的其他基础服务已创建存储空间;
所述模块获取模块,还用于在所述针对后续待部署的每个所述个性化服务,获取输入的该个性化服务的chart模板之前,针对后续待部署的每个所述基础服务,获取输入的该基础服务的chart模板;
所述命令生成模块,还用于基于该基础服务的chart模板中的参数信息,生成用于在所述k8s容器集群上部署该基础服务的helm install命令;
所述命令发送模块,还用于向所述k8s容器集群发送用于部署该基础服务的helminstall命令,用于在所述k8s容器集群上,基于已针对该基础服务创建的存储空间,部署该基础服务。
进一步的,所述其他基础服务包括:SSO服务,所述SSO服务用于生成访问所述个性化服务需要的验证口令。
进一步的,所述storge服务的chart模板中的参数信息还包括部署所述 storge服务所需要的环境变量;
所述命令生成模块,具体用于根据所述环境变量确定所述storge服务的部署方式;基于确定的所述部署方式创建所述storge服务需要的命名空间;按照所述部署方式,基于所述storge服务需要的命名空间,以及所述storge服务的 chart模板中的其他参数信息,生成用于在k8s容器集群上部署所述storge服务的helm install命令。
进一步,还包括:
配置文件处理模块,用于在所述向所述k8s容器集群发送用于部署该个性化服务的helm install命令之后,生成该个性化服务的ca证书;将所述ca证书写入secret文件;将所述secret文件挂载到配置文件;向所述k8s容器集群发送所述配置文件。
进一步的,所述命令生成模块,还用于在生成用于部署所述storge服务的 helminstall命令的过程中,或者,在生成用于部署个性化服务的helm install 命令的过程中,当按照参数信息表示的变量之间的拓扑关系进行变量解析发生变量循环引用时,发起报错提示。
进一步的,所述命令生成模块,还用于在生成用于部署所述storge服务的helminstall命令的过程中,或者,在生成用于部署个性化服务的helm install 命令的过程中,当由于未查找到参数信息表示的变量对应的属性而无法对变量自动赋值时,发起报错提示,并显示用于更改错误的操作步骤。
本申请实施例还提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一基于k8s容器集群的多服务部署方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于k8s 容器集群的多服务部署方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一基于k8s容器集群的多服务部署方法。
本申请有益效果包括:
本申请实施例提供的方法中,针对待部署的多个服务,首先基于输入的 storge服务的chart模板中的参数信息,生成用于部署storge服务的helm install 命令,并通过向k8s容器集群发送该helm install命令,实现storge服务的部署,使得在k8s容器集群上针对后续待部署的各个性化服务创建了存储空间,然后针对每个个性化服务,基于输入的该个性化服务的chart模板中的参数信息,生成用于部署该个性化服务的helm install命令,并通过向k8s容器集群发送该 helm install命令,实现在k8s容器集群上,基于已针对该个性化服务创建的存储空间,部署该个性化服务。采用该方案,只需要按照待部署的各服务的需求,创建出相应的chart模板,chart模板中包括需要的参数信息即可,不再需要过多考虑服务的开发框架与k8s容器集群之间的耦合度,从而提高了在k8s容器集群上部署多个服务的灵活性和通用性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请实施例提供的基于k8s容器集群的多服务部署方法的流程图;
图2为本申请另一实施例提供的基于k8s容器集群的多服务部署方法的流程图;
图3-1为本申请实施例提供的基于k8s容器集群的多服务部署装置的结构示意图;
图3-2为本申请另一实施例提供的基于k8s容器集群的多服务部署装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了给出提高在k8s容器集群上部署多个服务的灵活性和通用性的实现方案,本申请实施例提供了一种基于k8s容器集群的多服务部署方法、装置及电子设备,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请实施例提供一种基于k8s容器集群的多服务部署方法,如图1所示,包括:
步骤11、获取输入的storge(存储)服务的chart模板,storge服务的chart 模板中的参数信息包括表示待部署的各个性化服务需要的存储空间信息;
步骤12、基于storge服务的chart模板中的参数信息,生成用于在k8s容器集群上部署storge服务的helm install命令;
步骤13、向k8s容器集群发送用于部署storge服务的helm install命令,用于在k8s容器集群上部署storge服务,使得在k8s容器集群上针对后续待部署的各个性化服务创建存储空间;
步骤14、针对后续待部署的每个个性化服务,获取输入的该个性化服务的 chart模板;
步骤15、基于该个性化服务的chart模板中的参数信息,生成用于在k8s 容器集群上部署该个性化服务的helm install命令;
步骤16、向k8s容器集群发送用于部署该个性化服务的helm install命令,用于在k8s容器集群上,基于已针对该个性化服务创建的存储空间,部署该个性化服务。
采用本申请实施例提供的上述基于k8s容器集群的多服务部署方法,只需要按照待部署的各服务的需求,创建出相应的chart模板,chart模板中包括需要的参数信息即可,不再需要过多考虑服务的开发框架与k8s容器集群之间的耦合度,从而提高了在k8s容器集群上部署多个服务的灵活性和通用性。
本申请实施例中,待部署的多个服务包括基础性服务和个性化服务。基础性服务可以是为了实现后续部署个性化服务而需要预先部署的服务,例如,为了创建个性化服务的部署环境或支持个性化服务的使用等,本申请实施例提供的上述方法中,最先部署的storge服务属于基础性服务。个性化服务可以是涉及实际应用需求的各种服务,例如,ES(ElasticSearch)服务,DataMarket服务等。
Helm是Kubernetes的包管理器,chart模板用于封装Kubernetes的服务的信息,chart模板的文件格式为YAML文件,本申请实施例中,利用Helm中的 helm install命令(安装命令),实现在k8s容器集群上部署服务。
下面结合附图,用具体实施例对本申请提供的方法及装置进行详细描述。
在本申请的一个实施例中,提供一种基于k8s容器集群的多服务部署方法,如图2所示,包括如下步骤:
步骤21、获取输入的存储storge服务的chart模板,storge服务的chart模板中的参数信息包括表示待部署的各个性化服务需要的存储空间信息。
进一步的,storge服务的chart模板中的参数信息还可以包括待部署的其他基础服务需要的存储空间信息。
进一步的,storge服务的chart模板中的参数信息还可以包括部署storge服务所需要的环境变量,例如,具体可以包括:参数common.use_domain,表示服务的部署方式,参数common.namespace,表示创建服务时需要的命名空间,参数common.token,表示所创建服务在使用时需要的口令,参数 common.use_tls,用于所创建服务在使用时的安全连接。
本申请实施例中,可以向用户(研发人员、运维人员等使用者)提供上传 chart模板的界面,或编辑chart模板的对话框等方式,使得用户输入用于部署各服务的chart模板。
本申请实施例中,可以使用户一次性上传待部署的多个服务的全部chart 模板。
步骤22、根据storge服务的chart模板中的环境变量确定storge服务的部署方式。
在实际应用中,基于目前服务的使用情况,storge服务的部署方式可以包括两种,一种是ip+pot(端口)部署方式,另一种是域名部署方式。
步骤23、基于确定的部署方式创建storge服务需要的命名空间。
步骤24、按照确定的部署方式,基于storge服务需要的命名空间,以及 storge服务的chart模板中的其他参数信息,生成用于在k8s容器集群上部署 storge服务的helminstall命令。
本申请实施例中,chart模板中包括参数信息,并且,各种参数信息所表示变量的使用、生命、代码逻辑、依赖关系等,在chart模板中均有体现,因此,在生成helm install命令的过程中,可以基于变量之间的拓扑关系,按照顺序参数信息表示的变量进行解析和赋值。
在生成helm install命令的过程中,当按照参数信息表示的变量之间的拓扑关系进行变量解析发生变量循环引用时,可以发起报错提示,便于用户及时获知服务部署的情况。
在生成helm install命令的过程中,当由于未查找到参数信息表示的变量对应的属性而无法对变量自动赋值时,可以发起报错提示,进一步的,还可以显示用于更改错误的操作步骤,使得用于可以按照显示的操作步骤更改错误。
步骤25、向k8s容器集群发送用于部署storge服务的helm install命令。
步骤26、k8s容器集群在接收到用于部署storge服务的helm install命令后,执行该helm install命令,实现在k8s容器集群上部署storge服务,使得在k8s 容器集群上针对后续待部署的各个性化服务创建存储空间。
本步骤中,k8s容器集群对后续待部署的各个性化服务需要的存储进行初始化,包括缓存初始化和可持续存储初始化,例如,对Redis(缓存)集群进行初始化,以及MySQL(关系型数据库管理系统)进行初始化,在Redis集群和MySQL启动后,对storge服务的部署完成。
在k8s容器集群上完成对storge服务的部署之后,在k8s容器集群上针对后续待部署的其他基础服务和各个性化服务均已创建了相应的存储空间,从而可以继续执行其他基础服务和各个性化服务的部署步骤。
步骤27、针对后续待部署的每个基础服务,基于输入的该基础服务的chart 模板,在k8s容器集群上部署该基础服务,具体可以采用如下步骤:
首先,针对后续待部署的每个所述基础服务,获取输入的该基础服务的 chart模板,该基础服务的chart模板中包括用于部署该基础服务的参数信息;
然后,基于该基础服务的chart模板中的参数信息,生成用于在k8s容器集群上部署该基础服务的helm install命令;
然后,向k8s容器集群发送用于部署该基础服务的helm install命令,用于在k8s容器集群上,基于已针对该基础服务创建的存储空间,部署该基础服务。
本申请实施例中,除storge服务之外的基础服务,可以基于实际需要进行灵活选择和部署,例如,可以包括:SSO(SingleSignOn,单点登录)服务, SSO服务用于生成访问个性化服务需要的验证口令。
本步骤中,通过对基础服务的chart模板的解析生成helm install命令的过程,与上述生成用于部署storge服务的helm install命令的过程相似,在此不再进行详细描述。
步骤28、针对后续待部署的每个个性化服务,基于输入的该个性化服务的 chart模板,在k8s容器集群上部署该个性化服务,具体可以采用如下步骤:
首先,针对后续待部署的每个个性化服务,获取输入的该个性化服务的 chart模板,该个性化服务的chart模板中包括用于部署该个性化服务的参数信息;
然后,基于该个性化服务的chart模板中的参数信息,生成用于在k8s容器集群上部署该个性化服务的helm install命令;
然后,向k8s容器集群发送用于部署该个性化服务的helm install命令,用于在k8s容器集群上,基于已针对该个性化服务创建的存储空间,部署该个性化服务。
本步骤中,通过对个性化服务的chart模板的解析生成helm install命令的过程,与上述生成用于部署storge服务的helm install命令的过程相似,在此不再进行详细描述。
步骤29、在完成个性化服务在k8s容器集群上的部署之后,还可以针对部署的该个性化服务生成配置文件,在后续个性化服务运行的过程当中,将使用到生成的配置文件的信息,具体可以包括如下步骤:
首先,生成该个性化服务的ca(Certification Authority)证书;
然后,将该ca证书写入secret文件,secret文件为k8s容器集群中用于保存小片敏感数据的k8s资源;
然后,将该secret文件挂载到配置文件;
然后,向k8s容器集群发送该配置文件,该配置文件用于k8s容器集群上部署的该个性化服务的运行。
采用本申请实施例提供的上述多服务部署方法,,只需要按照待部署的各服务的需求,创建出相应的chart模板,chart模板中包括需要的参数信息即可,不再需要过多考虑服务的开发框架与k8s容器集群之间的耦合度,从而提高了在k8s容器集群上部署多个服务的灵活性和通用性。
并且,在生成helm install命令的过程中,当发生一些异常情况时,例如,发生变量循环引用,无法对变量自动赋值等异常时,可以发起报错提示,还可以显示用于更改错误的操作步骤,从而进一步提高了在k8s容器集群上部署服务的便利性。
并且,本申请实施例中,除部署的多个个性化服务,还可以部署一些基础服务,例如,SSO服务,以及还可以在配置文件中挂载ca证书,从而实现多个个性化服务之间的文件共享(软链接)。
基于同一发明构思,根据本申请上述实施例提供的基于k8s容器集群的多服务部署方法,相应地,本申请另一实施例还提供了一种基于k8s容器集群的多服务部署装置,其结构示意图如图3-1所示,具体包括:
模板获取模块31,用于获取输入的存储storge服务的chart模板,storge 服务的chart模板中的参数信息包括表示待部署的各个性化服务需要的存储空间信息;
命令生成模块32,用于基于storge服务的chart模板中的参数信息,生成用于在k8s容器集群上部署storge服务的helm install命令;
命令发送模块33,用于向k8s容器集群发送用于部署storge服务的helm install命令,用于在k8s容器集群上部署storge服务,使得在k8s容器集群上针对后续待部署的各个性化服务创建存储空间;
模板获取模块31,还用于针对后续待部署的每个个性化服务,获取输入的该个性化服务的chart模板;
命令生成模块32,还用于基于该个性化服务的chart模板中的参数信息,生成用于在k8s容器集群上部署该个性化服务的helm install命令;
命令发送模块33,还用于向k8s容器集群发送用于部署该个性化服务的 helminstall命令,用于在k8s容器集群上,基于已针对该个性化服务创建的存储空间,部署该个性化服务。
进一步的,storge服务的chart模板中的参数信息还包括待部署的其他基础服务需要的存储空间信息,在k8s容器集群上部署storge服务后,在k8s容器集群上针对后续待部署的其他基础服务已创建存储空间;
模块获取模块31,还用于在针对后续待部署的每个个性化服务,获取输入的该个性化服务的chart模板之前,针对后续待部署的每个基础服务,获取输入的该基础服务的chart模板;
命令生成模块32,还用于基于该基础服务的chart模板中的参数信息,生成用于在k8s容器集群上部署该基础服务的helm install命令;
命令发送模块33,还用于向k8s容器集群发送用于部署该基础服务的helminstall命令,用于在k8s容器集群上,基于已针对该基础服务创建的存储空间,部署该基础服务。
进一步的,其他基础服务包括:SSO服务,SSO服务用于生成访问个性化服务需要的验证口令。
进一步的,storge服务的chart模板中的参数信息还包括部署storge服务所需要的环境变量;
命令生成模块32,具体用于根据环境变量确定storge服务的部署方式;基于确定的部署方式创建storge服务需要的命名空间;按照部署方式,基于storge 服务需要的命名空间,以及storge服务的chart模板中的其他参数信息,生成用于在k8s容器集群上部署storge服务的helm install命令。
进一步,如图3-2所示,还包括:
配置文件处理模块34,用于在向k8s容器集群发送用于部署该个性化服务的helminstall命令之后,生成该个性化服务的ca证书;将ca证书写入secret 文件;将secret文件挂载到配置文件;向k8s容器集群发送配置文件。
进一步的,命令生成模块32,还用于在生成用于部署storge服务的helm install命令的过程中,或者,在生成用于部署个性化服务的helm install命令的过程中,当按照参数信息表示的变量之间的拓扑关系进行变量解析发生变量循环引用时,发起报错提示。
进一步的,命令生成模块32,还用于在生成用于部署storge服务的helm install命令的过程中,或者,在生成用于部署个性化服务的helm install命令的过程中,当由于未查找到参数信息表示的变量对应的属性而无法对变量自动赋值时,发起报错提示,并显示用于更改错误的操作步骤。
上述各模块的功能可对应于图1或图2所示流程中的相应处理步骤,在此不再赘述。
本申请的实施例所提供的多服务部署装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要多服务部署装置具有上述功能,都应该在本申请的保护范围之内。
本申请实施例还提供一种电子设备,如图4所示,包括处理器41和机器可读存储介质42,机器可读存储介质42存储有能够被处理器41执行的机器可执行指令,处理器41被机器可执行指令促使:实现上述任一基于k8s容器集群的多服务部署方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一基于k8s容器集群的多服务部署方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一基于k8s容器集群的多服务部署方法。
上述电子设备中的机器可读存储介质可以包括随机存取存储器(Random AccessMemory,RAM),也可以包括非易失性存储器(Non-Volatile Memory, NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质,计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种基于k8s容器集群的多服务部署方法,其特征在于,包括:
获取输入的存储storge服务的chart模板,所述storge服务的chart模板中的参数信息包括表示待部署的各个性化服务需要的存储空间信息;
基于所述storge服务的chart模板中的参数信息,生成用于在k8s容器集群上部署所述storge服务的helminstall命令;
向所述k8s容器集群发送用于部署所述storge服务的helminstall命令,用于在所述k8s容器集群上部署所述storge服务,使得在所述k8s容器集群上针对后续待部署的所述各个性化服务创建存储空间;
针对后续待部署的每个所述个性化服务,获取输入的该个性化服务的chart模板;
基于该个性化服务的chart模板中的参数信息,生成用于在所述k8s容器集群上部署该个性化服务的helminstall命令;
向所述k8s容器集群发送用于部署该个性化服务的helminstall命令,用于在所述k8s容器集群上,基于已针对该个性化服务创建的存储空间,部署该个性化服务。
2.如权利要求1所述的方法,其特征在于,所述storge服务的chart模板中的参数信息还包括待部署的其他基础服务需要的存储空间信息,在所述k8s容器集群上部署所述storge服务后,在所述k8s容器集群上针对后续待部署的其他基础服务已创建存储空间;
在所述针对后续待部署的每个所述个性化服务,获取输入的该个性化服务的chart模板之前,还包括:
针对后续待部署的每个所述基础服务,获取输入的该基础服务的chart模板;
基于该基础服务的chart模板中的参数信息,生成用于在所述k8s容器集群上部署该基础服务的helminstall命令;
向所述k8s容器集群发送用于部署该基础服务的helminstall命令,用于在所述k8s容器集群上,基于已针对该基础服务创建的存储空间,部署该基础服务。
3.如权利要求2所述的方法,其特征在于,所述其他基础服务包括:SSO服务,所述SSO服务用于生成访问所述个性化服务需要的验证口令。
4.如权利要求1所述的方法,其特征在于,所述storge服务的chart模板中的参数信息还包括部署所述storge服务所需要的环境变量;
所述基于所述storge服务的chart模板中的参数信息,生成用于在k8s容器集群上部署所述storge服务的helminstall命令,包括:
根据所述环境变量确定所述storge服务的部署方式;
基于确定的所述部署方式创建所述storge服务需要的命名空间;
按照所述部署方式,基于所述storge服务需要的命名空间,以及所述storge服务的chart模板中的其他参数信息,生成用于在k8s容器集群上部署所述storge服务的helminstall命令。
5.如权利要求1所述的方法,其特征在于,在所述向所述k8s容器集群发送用于部署该个性化服务的helminstall命令之后,还包括:
生成该个性化服务的ca证书;
将所述ca证书写入secret文件;
将所述secret文件挂载到配置文件;
向所述k8s容器集群发送所述配置文件。
6.如权利要求1所述的方法,其特征在于,还包括:
在生成用于部署所述storge服务的helminstall命令的过程中,或者,在生成用于部署个性化服务的helminstall命令的过程中,当按照参数信息表示的变量之间的拓扑关系进行变量解析发生变量循环引用时,发起报错提示。
7.如权利要求1所述的方法,其特征在于,还包括:
在生成用于部署所述storge服务的helminstall命令的过程中,或者,在生成用于部署个性化服务的helminstall命令的过程中,当由于未查找到参数信息表示的变量对应的属性而无法对变量自动赋值时,发起报错提示,并显示用于更改错误的操作步骤。
8.一种基于k8s容器集群的多服务部署装置,其特征在于,包括:
模板获取模块,用于获取输入的存储storge服务的chart模板,所述storge服务的chart模板中的参数信息包括表示待部署的各个性化服务需要的存储空间信息;
命令生成模块,用于基于所述storge服务的chart模板中的参数信息,生成用于在k8s容器集群上部署所述storge服务的helminstall命令;
命令发送模块,用于向所述k8s容器集群发送用于部署所述storge服务的helminstall命令,用于在所述k8s容器集群上部署所述storge服务,使得在所述k8s容器集群上针对后续待部署的所述各个性化服务创建存储空间;
所述模板获取模块,还用于针对后续待部署的每个所述个性化服务,获取输入的该个性化服务的chart模板;
所述命令生成模块,还用于基于该个性化服务的chart模板中的参数信息,生成用于在所述k8s容器集群上部署该个性化服务的helminstall命令;
所述命令发送模块,还用于向所述k8s容器集群发送用于部署该个性化服务的helminstall命令,用于在所述k8s容器集群上,基于已针对该个性化服务创建的存储空间,部署该个性化服务。
9.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法。
CN202210182537.9A 2022-02-25 2022-02-25 一种基于k8s容器集群的多服务部署方法、装置及电子设备 Pending CN114610443A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210182537.9A CN114610443A (zh) 2022-02-25 2022-02-25 一种基于k8s容器集群的多服务部署方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210182537.9A CN114610443A (zh) 2022-02-25 2022-02-25 一种基于k8s容器集群的多服务部署方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114610443A true CN114610443A (zh) 2022-06-10

Family

ID=81858623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210182537.9A Pending CN114610443A (zh) 2022-02-25 2022-02-25 一种基于k8s容器集群的多服务部署方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114610443A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117827233A (zh) * 2024-03-05 2024-04-05 成都华栖云科技有限公司 基于rancher平台的简易化安装部署方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117827233A (zh) * 2024-03-05 2024-04-05 成都华栖云科技有限公司 基于rancher平台的简易化安装部署方法
CN117827233B (zh) * 2024-03-05 2024-04-30 成都华栖云科技有限公司 基于rancher平台的简易化安装部署方法

Similar Documents

Publication Publication Date Title
US10664302B2 (en) Automated orchestration of a virtualized computing environment
CN112119374B (zh) 使用替代服务器名称选择性地提供相互传输层安全
CN107896162B (zh) 监控系统的部署方法、装置、计算机设备及存储介质
US10970057B2 (en) Methods and apparatus to generate a customized application blueprint
CN108964968B (zh) 一种容器云环境下的服务接入管理方法和系统
CN106897206B (zh) 一种业务测试方法及装置
US10977167B2 (en) Application monitoring with a decoupled monitoring tool
CN107783816A (zh) 虚拟机的创建方法及装置、大数据集群创建的方法及装置
WO2014209359A1 (en) Hook framework
US10778526B2 (en) Automated creation of test tenants for data center technical issue detection
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
CN108228197B (zh) 一种在集群中安装软件的方法和装置
CN112783642B (zh) 容器内逻辑配置方法、设备以及计算机可读介质
CN110362318A (zh) 应用部署方法、装置、设备和存储介质
CN113127009A (zh) 大数据管理平台的自动化部署方法和装置
CN114610443A (zh) 一种基于k8s容器集群的多服务部署方法、装置及电子设备
WO2024187902A1 (zh) 一种模型训练方法、装置、存储介质以及电子设备
CN114006815B (zh) 云平台节点的自动化部署方法、装置、节点及存储介质
CN114443215A (zh) 业务应用部署方法、装置、计算机设备和存储介质
CN108595169B (zh) 一种可视化编程方法、云端服务器及存储介质
TW201407503A (zh) 雲端平台工作排程方法及系統
CN107247812B (zh) 一种数据库的生成方法及生成装置
CN116225911A (zh) 一种可观测性平台的功能测试方法及装置
US20230037986A1 (en) Autoencryption system for data in a container
CN115914219A (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