CN115292026A - 容器集群的管理方法、装置、设备及计算机可读存储介质 - Google Patents
容器集群的管理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115292026A CN115292026A CN202211231347.8A CN202211231347A CN115292026A CN 115292026 A CN115292026 A CN 115292026A CN 202211231347 A CN202211231347 A CN 202211231347A CN 115292026 A CN115292026 A CN 115292026A
- Authority
- CN
- China
- Prior art keywords
- cluster
- infrastructure
- target load
- resource pool
- container
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- 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
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及云计算技术领域,具体公开了一种容器集群的管理方法、装置、设备及计算机可读存储介质,通过预先创建kubernetes管理集群,设计计算资源管理模块和分区模块,准备多版本虚拟机镜像、容器镜像和容器集群应用部署模板,基于集群应用程序接口采用集群声明的方式快速创建kubernetes负载集群,简化了创建不同类型基础设施资源池、部署不同类型基础资源的重复性操作,且实现了对不同类型基础设施资源池和不同类型基础资源的统一管理,有效解决了现有技术中无法对负载集群的基础设施进行管理的问题,使多CPU架构基础设施、多集群统一管理、快速部署交付,高可用及容器集群容灾备份支持等专有云交付场景支持成为可能。
Description
技术领域
本申请涉及云计算技术领域,特别是涉及一种容器集群的管理方法、装置、设备及计算机可读存储介质。
背景技术
kubernetes(简称K8s),是一个开源的、用于管理云平台中多个主机上的容器化的应用,能够方便地管理跨机器进行容器化的应用。随着越来越多的容器化应用程序参与生产,基于kubernetes以及各种需求的衍生项目和技术架构方案也层出不穷。基于kubernetes的多集群的统一管理能力,可以实现容器集群的快速部署交付、高可用、灾备等场景。然而,这些实现大多是基于kubernetes集群联邦,没有基于云平台的整体规划和设计,并且缺少跨CPU架构容器集群统一管理能力,难以适应用户多种多样的基础设施环境。
而目前实现多集群管理的方案,也仅仅是将用户创建好的集群注册在云平台中,利用云平台对集群的资源状态进行监测,而不涉及到对用户集群的基础设施的管理。这不仅导致用户集群创建过程较为繁琐,还导致集群和应用程序的可用性较差。
提供一种快速部署交付、高可用的基于云平台的多架构集群的统一管理方案,是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的是提供一种容器集群的管理方法、装置、设备及计算机可读存储介质,用于实现快速部署交付、高可用的基于云平台的多架构集群的统一管理。
为解决上述技术问题,本申请提供一种容器集群的管理方法,包括:
预先基于云平台在kubernetes集群部署集群应用程序接口,以创建管理集群;基于所述云平台配置针对不同类型所述云平台的基础设施资源池进行统一管理的计算资源管理模块,以及用于维护不同版本的虚拟机的分区管理模块;将多种版本的虚拟机镜像推送至各所述基础设施资源池的镜像仓库;将kubernetes负载集群所需附属组件的容器镜像推送至所述云平台的第一容器镜像仓库,并将容器集群应用部署模板推送至所述云平台的图表仓库;
接收到基于客户端发送的kubernetes负载集群创建请求时,识别得到待创建的第一目标负载集群的基础设施资源池类型和所述第一目标负载集群所需的基础设施类型;
基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块在所述基础设施资源池类型对应的第一基础设施资源池创建所述第一目标负载集群并为所述第一目标负载集群完成基础设施部署。
可选的,所述将多种版本的虚拟机镜像推送至各所述基础设施资源池的镜像仓库,具体包括:
制作所述虚拟机镜像的过程中,在镜像内放置对应CPU架构的特定版本的kubernetes相关的二进制资源配置文件到指定目录,安装第二容器镜像仓库,并将对应CPU架构和对应版本的kubernetes相关镜像推送至所述第二容器镜像仓库;
将制作完成的所述虚拟机镜像推送至各所述基础设施资源池的镜像仓库。
可选的,所述分区管理模块的分区与虚拟机镜像一一对应;
相应的,所述分区的分区信息具体包括与所述第一目标负载集群中的虚拟机对应的CPU架构、操作系统类型、操作系统版本、kubernetes版本、容器运行时类型、容器运行时版本、虚拟机镜像ID。
可选的,所述基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块在所述基础设施资源池类型对应的第一基础设施资源池创建所述第一目标负载集群并为所述第一目标负载集群完成基础设施部署,具体包括:
调用所述计算资源管理模块获取所述第一基础设施资源池的镜像服务组件接口后,调用所述分区管理模块在所述第一基础设施资源池的所述镜像仓库获取所述第一目标负载集群所需的虚拟机镜像ID;
根据入参生成并创建扩展资源文件,并为所述第一目标负载集群创建用于管控kubernetes集群中的自定义资源的扩展资源;
当监听到所述自定义资源时,基于所述集群应用程序接口和与所述第一基础设施资源池类型对应的资源供应接口,调用kubernetes编排工具在所述第一基础设施资源池中进行kubernetes负载集群的创建与部署;
当监听到所述第一目标负载集群的所有所述自定义资源的应用接口服务部署完毕后,获取所述第一目标负载集群的标识并记录;
基于所述客户端修改工作节点的标签设置角色,自所述容器镜像仓库中调用所述第一目标负载集群所需的容器镜像,自所述图表仓库中获取所述第一目标负载集群所需的容器集群应用部署模板,在所述第一目标负载集群中完成附属组件的安装与启动。
可选的,还包括:
当接收到基于所述客户端发送的对已创建的第二目标负载集群的删除命令时,调用所述计算资源管理模块以及所述第二目标负载集群所在的第二基础设施资源池的资源供应接口,在所述第二基础设施资源池中删除所述第二目标负载集群的基础设施。
可选的,在基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块在所述基础设施资源池类型对应的第一基础设施资源池创建所述第一目标负载集群并为所述第一目标负载集群完成基础设施部署之前,还包括:
为所述第一目标负载集群创建与用户的一一对应关系,并为所述第一目标负载集群配置安全认证规则。
可选的,所述为所述第一目标负载集群创建与用户的一一对应关系,并为所述第一目标负载集群配置安全认证规则,具体为:
调用所述第一基础设施资源池的安全认证服务接口创建用户,并为用户配置对应的安全认证规则。
可选的,当所述第一基础设施资源池为OpenStack基础设施资源池时,所述为用户配置对应的安全认证规则,具体为:
采用所述OpenStack基础设施资源池的计算服务组件nova创建所述密钥对。
可选的,还包括:
当接收到基于所述客户端发送的对已创建的第二目标负载集群的删除命令时,调用所述计算资源管理模块以及所述第二目标负载集群所在的第二基础设施资源池的资源供应接口,在所述第二基础设施资源池中删除所述第二目标负载集群的基础设施;
调用所述计算资源管理模块以及所述第二基础设施资源池的资源供应接口,获取所述第二目标负载集群的认证信息后删除所述第二目标负载集群下对应用户的卷,并删除对应的安全认证规则,删除用户信息及所述第二目标负载集群在云平台数据库中的记录。
可选的,所述调用所述计算资源管理模块以及所述第二目标负载集群所在的第二基础设施资源池的资源供应接口,在所述第二基础设施资源池中删除所述第二目标负载集群的基础设施,具体包括:
调用所述计算资源管理模块执行对所述第二基础设施资源池中所述第二目标负载集群的自定义资源的删除操作;
基于所述集群应用程序接口监测到所述删除操作后,通过所述第二基础设施资源池的资源供应接口,在所述第二基础设施资源池中删除所述第二目标负载集群的基础设施。
可选的,在基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块在所述基础设施资源池类型对应的第一基础设施资源池创建所述第一目标负载集群并为所述第一目标负载集群完成基础设施部署之前,还包括:
对所述kubernetes负载集群创建请求进行权限校验和请求参数校验;
若通过校验,则进入所述基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块为所述第一目标负载集群完成基础设施资源池部署以及基础设施部署的步骤。
可选的,还包括:
在所述云平台的数据库为所述第一目标负载集群创建对应的管理记录,并将所述第一目标负载集群的集群信息同步更新至所述管理记录。
为解决上述技术问题,本申请还提供一种容器集群的管理装置,包括:
环境准备单元,用于预先基于云平台在kubernetes集群部署集群应用程序接口,以创建管理集群;基于所述云平台配置针对不同类型所述云平台的基础设施资源池进行统一管理的计算资源管理模块,以及用于维护不同版本的虚拟机的分区管理模块;将多种版本的虚拟机镜像推送至各所述基础设施资源池的镜像仓库;将kubernetes负载集群所需附属组件的容器镜像推送至所述云平台的第一容器镜像仓库,并将容器集群应用部署模板推送至所述云平台的图表仓库;
识别单元,用于接收到基于客户端发送的kubernetes负载集群创建请求时,识别得到待创建的第一目标负载集群的基础设施资源池类型和所述第一目标负载集群所需的基础设施类型;
创建单元,用于基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块为所述第一目标负载集群完成基础设施资源池部署以及基础设施部署。
为解决上述技术问题,本申请还提供一种容器集群的管理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一项所述容器集群的管理方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述容器集群的管理方法的步骤。
本申请所提供的容器集群的管理方法,通过预先基于云平台在kubernetes集群部署集群应用程序接口,创建管理集群,配置针对不同类型云平台的基础设施资源池进行统一管理的计算资源管理模块,以及用于维护不同版本的虚拟机的分区管理模块,并针对各基础设施资源池推送不同版本的虚拟机镜像,预先准备附属组件的容器镜像,以及容器集群应用部署模板,在接收到基于客户端发送的kubernetes负载集群创建请求时,识别得到第一目标负载集群的基础设施资源池类型和基础设施类型,即可基于集群应用程序接口采用管理集群声明的方式,调用计算资源管理模块和分区管理模块为创建第一目标负载集群并完成基础设施部署,简化了创建不同类型基础设施资源池、部署不同类型基础资源的重复性操作,在不同架构的基础设施当中保持了一致性和可重复性,且实现了对不同类型基础设施资源池和不同类型基础资源的统一管理,有效解决了现有技术中无法对负载集群的基础设施进行管理的问题,使得多CPU架构基础设施、多集群统一管理、快速部署交付,高可用及容器集群容灾备份支持等专有云交付场景支持成为可能。
本申请还提供一种容器集群的管理装置、设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种容器集群的管理方法的流程图;
图2为本申请实施例提供的一种S103的具体实施方式的流程图;
图3为本申请实施例提供的一种容器集群的管理装置的结构示意图;
图4为本申请实施例提供的一种容器集群的管理设备的结构示意图。
具体实施方式
本申请的核心是提供一种容器集群的管理方法、装置、设备及计算机可读存储介质,用于实现快速部署交付、高可用的基于云平台的多架构集群的统一管理。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1为本申请实施例提供的一种容器集群的管理方法的流程图。
如图1所示,本申请实施例提供的容器集群的管理方法包括:
S101:预先基于云平台在kubernetes集群部署集群应用程序接口(Cluster API),以创建管理集群;基于云平台配置针对不同类型云平台的基础设施资源池进行统一管理的计算资源管理模块,以及用于维护不同版本的虚拟机的分区管理模块;将多种版本的虚拟机镜像推送至各基础设施资源池的镜像仓库;将kubernetes负载集群所需附属组件的容器镜像推送至云平台的第一容器镜像仓库,并将容器集群应用部署模板推送至云平台的图表仓库。
S102:接收到基于客户端发送的kubernetes负载集群创建请求时,识别得到待创建的第一目标负载集群的基础设施资源池类型和第一目标负载集群所需的基础设施类型。
S103:基于集群应用程序接口采用管理集群声明的方式,调用计算资源管理模块和分区管理模块在基础设施资源池类型对应的第一基础设施资源池创建第一目标负载集群并为第一目标负载集群完成基础设施部署。
现有技术中的主流架构设计为将服务器和操作系统与kubernetes节点的生命周期分开管理:通常,指定单一架构的机器预先配置操作系统(OS),然后再将kubernetes组件初始化到正在运行的系统中(使用kubeadm、kops或其他kubernetes编排工具),而且如果这些基础设施及其操作系统不属于kubernetes管理的一部分,还会降低集群和应用程序的可用性。具体来说,在用户需要创建kubernetes负载集群时,虽然可以基于已有的基础设施进行负载集群的创建,但虚拟机创建、操作系统安装等操作都需要用户创建好负载集群后,上传安装包通过云平台进行创建,需要大量上传和安装的重复性任务,不同用户可能会采用不同的流程操作,不同负载集群的创建流程之间不可重复,无法保持一致性和可重复性;且这些基础设施没有且无法纳入云平台的统一管理,无法保证多架构CPU的一致性,给集群生命周期管理带来负担,
为实现多架构基础设施、快速部署交付、高可用及容器集群容灾备份支持等交付场景,快速构建与实现基于云平台的多架构集群的统一管理,本申请实施例提供的容器集群的管理方法通过设计云平台的计算资源管理模块、分区管理模块等模块,通过一系列的前期准备,用户只需基于客户端发送kubernetes负载集群创建请求提供待创建的第一目标负载集群的基础设施资源池类型和第一目标负载集群所需的基础设施类型,即可基于集群应用程序接口利用管理集群声明的方式快速创建多架构kubernetes容器集群,简化了kubernetes生命周期的重复性任务,同时在多CPU架构的基础设施当中保持一致性与可重复性,降低了集群生命周期管理工作带来的现实负担。使多CPU架构基础设施、多集群统一管理、快速部署交付、高可用及容器集群容灾备份支持等专有云交付场景支持成为可能。
在具体实施中,对于S101,首先基于云平台在已有的kubernetes集群上部署集群应用程序接口,即得到kubernetes管理集群(简称管理集群)。通过管理集群声明并创建出来的集群叫kubernetes负载集群(简称负载集群),即真正运行负载的集群。管理集群通常仅作为负载集群的管理使用,不运行其他应用。
基于云平台配置计算资源管理模块,该模块为统一基础设施管理模块,针对不通类型的云平台,具体的基础设施可能涵盖业务流程管理开发平台AWS、基于云平台的操作系统Azure、应用容器引擎Docker、谷歌云平台GCP、苹果云平台Metal3、VMware vSphere集成容器(VIC)、云计算管理平台OpenStack乃至裸机等。预先配置好不同类型云平台对应的基础设施资源池,均采用计算资源管理模块进行统一管理,实现云平台以一致方式跨越各类基础设施部署与管理kubernetes集群。以OpenStack为例,即云平台配置OpenStack为基础设施资源池,则预先为OpenStack基础设施资源池配置所需组件,如计算服务组件nova、网络即服务组件neutron、安全认证服务组件keysnote(负责用户认证和服务目录)、高可用分布式对象存储服务组件swift、持久性块存储功能组件cinder、镜像服务组件glance等。其中,镜像服务组件glance用于在OpenStack基础设施资源池的存储(即镜像仓库中存储有如amd64-mirror-template-1、amd64-mirror-template-2、arm64-mirror-template-1、arm64-mirror-template-2等多种CPU架构、操作系统类型及版本、kubernetes版本或容器运行时的需求的虚拟机镜像)拉取第一目标负载集群所需虚拟机镜像并在OpenStack基础设施资源池中创建虚拟机。
进一步的,制作不同版本的虚拟机镜像推送至各基础设施资源池的镜像仓库。为适应多种CPU架构、操作系统类型及版本、kubernetes版本或容器运行时的需求,预先制作不同CPU架构(x86、ARM等)、不同操作系统类型及不同操作系统版本版本、不同kubernetes版本或者容器运行时(Docker、containerd等)版本的虚拟机镜像并推送至镜像仓库。
则将多种版本的虚拟机镜像推送至各基础设施资源池的镜像仓库,具体可以包括:
制作虚拟机镜像的过程中,在镜像内放置对应CPU架构的特定版本的kubernetes相关的二进制资源配置文件到指定目录,安装第二容器镜像仓库(容器镜像仓库harbor、注册表registry等),并将对应CPU架构和对应版本的kubernetes相关镜像推送至第二容器镜像仓库;
将制作完成的虚拟机镜像推送至各基础设施资源池的镜像仓库。
即是说,将预置好操作系统和kubernetes编排工具的虚拟机镜像推送至各基础设施资源池的镜像仓库,以便在部署第一目标负载集群时一并完成基础设施的部署,实现云平台对操作系统、虚拟机等的统一纳管。
将创建kubernetes负载集群所需的附属组件(如Prometheus、Jenkins、Ingress-controller、localpath-provisioner、Istio、CNI插件、Cluster-Agent等)相关的容器镜像推送至云平台的第一容器镜像仓库,并将来自于helm client的容器集群应用部署(helm-chart)模板推送至云平台的图表(chart)仓库。
基于云平台设置分区管理模块,用于维护不同版本的虚拟机,具体可以设置分区管理模块的分区与虚拟机镜像一一对应;
相应的,分区的分区信息具体包括与第一目标负载集群中的虚拟机对应的CPU架构、操作系统类型、操作系统版本、kubernetes版本、容器运行时类型、容器运行时版本、虚拟机镜像ID。
即分区管理模块用于维护不同CPU架构的操作系统类型、操作系统版本、kubernetes/容器运行时版本、虚拟机镜像ID等信息,即每个分区对应一种CPU结构,每种CPU架构又分别对应多种不同的操作系统类型、操作系统版本、kubernetes版本、容器运行时类型、容器运行时版本、虚拟机镜像ID等信息。设置多个分区,即维护多个分区信息记录,每个分区对应一种指定的CPU架构、kubernetes/版本、操作系统类型/版本、容器运行时类型/版本等信息的一个虚拟机镜像。
基于云平台,上述计算资源管理模块和分区管理模块可以基于预先部署的集群管理模块进行管理。此外,集群管理模块还用于通过集群应用程序接口与基础设施资源池对接的资源供应接口管理负载集群的自定义资源(CDR资源,如cluster.x-k8s)。
完成上述准备后,对于S102,当接收到用户基于客户端发送的kubernetes负载集群创建请求时,识别得到kubernetes负载集群创建请求所携带的待创建的第一目标负载集群的基础设施资源池类型(如采用OpenStack基础设施资源池)和第一目标负载集群所需的基础设施类型(kubernetes版本、CPU架构、分区等信息)。为保证kubernetes负载集群创建请求的可执行性,在S103:基于集群应用程序接口采用管理集群声明的方式,调用计算资源管理模块和分区管理模块为第一目标负载集群完成基础设施资源池部署以及基础设施部署之前,本申请实施例提供的容器集群的管理方法还包括:
对kubernetes负载集群创建请求进行权限校验和请求参数校验;
若通过校验,则进入S103:基于集群应用程序接口采用管理集群声明的方式,调用计算资源管理模块和分区管理模块为第一目标负载集群完成基础设施资源池部署以及基础设施部署的步骤。
云平台用于对负载集群进行注册(registry)管理的模块,具体可以提供应用接口服务(api server)、存储服务(etcd)、代理服务(proxy)、无线通信管理服务(coredns)、集群记录服务(scheduler)等。在客户端携带所选的基础设施资源池类型和基础设施类型向集群管理模块发送新建负载集群的请求,集群管理模块进行权限校验以及请求参数校验,完成校验后,集群记录服务即可在所述云平台的数据库为第一目标负载集群创建对应的管理记录,并将第一目标负载集群的集群信息同步更新至该管理记录。在对第一目标负载集群的生命周期管理过程中,可以应用该管理记录来维护第一目标负载集群的创建进展信息、运行中的维护更改信息乃至删除信息等,以便形成对多架构集群的信息进行维护管理。
对于S103,集群管理模块分别调用计算资源管理模块和分区管理模块,找到与基础设施资源池类型对应的第一基础设施资源池,从第一基础设施资源池的第二容器镜像仓库中拉取与符合基础设施类型要求的虚拟机镜像,在第一基础设施资源池中进行第一目标负载集群的创建、虚拟机的创建以及对应操作系统的创建,而后从云平台的第一容器镜像仓库中拉取符合基础设施类型要求的附属组件的容器镜像,在云平台的图表仓库中拉取符合基础设施类型要求的容器集群应用部署模板,在第一基础设施资源池中完成第一目标负载集群的部署。
在完成上述对第一目标负载集群的创建过程后,记录对第一目标负载集群的部署完成状态到数据库中第一目标负载集群对应的管理记录。
由于第一目标负载集群的基础设施资源池部署以及基础设施部署均为采用集群应用程序接口采用管理集群声明的方式进行创建的,实现了对kubernetes负载集群的基础设施的纳管。
实施例二
图2为本申请实施例提供的一种S103的具体实施方式的流程图。
在上述实施例的基础上,本申请实施例进一步对创建kubernetes负载集群的步骤进行详细说明。
如图2所示,在上述实施例的基础上,在本申请实施例提供的容器集群的管理方法中,S103:基于集群应用程序接口采用管理集群声明的方式,调用计算资源管理模块和分区管理模块在基础设施资源池类型对应的第一基础设施资源池创建第一目标负载集群并为第一目标负载集群完成基础设施部署,具体包括:
S201:调用计算资源管理模块获取第一基础设施资源池的镜像服务组件接口后,调用分区管理模块在第一基础设施资源池的镜像仓库获取第一目标负载集群所需的虚拟机镜像ID。
在具体实施中,在完成对kubernetes负载集群创建请求的校验、创建第一目标负载集群的创建进展并同步更新至数据库后,运行集群管理模块调用计算资源管理模块获取第一基础设施资源池的认证信息,并根据kubernetes负载集群创建请求的请求参数调用第一基础设施资源池的镜像服务组件接口,调用分区管理模块查询符合kubernetes负载集群创建请求所要求的CPU架构、kubernetes版本等条件的虚拟机镜像的ID。例如,当基础设施资源池类型为OpenStack基础设施资源池时,集群管理模块获取OpenStack基础设施资源池的认证信息并根据请求参数调用OpenStack基础设施资源池的镜像服务组件glance的接口,以通过该接口查询符合基础设施类型要求的虚拟机镜像并获取该虚拟机镜像的ID。
需要说明的是,容器集群的生命周期管理除了创建集群外,还包括删除集群。为了便于在删除负载集群时清理云硬盘资源,在进行S103:基于集群应用程序接口采用管理集群声明的方式,调用计算资源管理模块和分区管理模块在基础设施资源池类型对应的第一基础设施资源池创建第一目标负载集群并为第一目标负载集群完成基础设施部署,或在进行S202之前,本申请实施例提供的容器集群的管理方法还包括:为第一目标负载集群创建与用户的一一对应关系,并为第一目标负载集群配置安全认证规则。
具体来说,运行集群管理模块可以调用第一基础设施资源池的安全认证服务接口创建用户,并为用户配置对应的安全认证规则。例如,当基础设施资源池类型为OpenStack基础设施资源池时,集群管理模块调用OpenStack基础设施资源池的安全认证服务组件keysnote的接口创建一个用户。
进一步地,安全认证规则具体可以为采用密钥对进行认证。当第一基础设施资源池为OpenStack基础设施资源池时,为用户配置对应的安全认证规则,具体为:采用OpenStack基础设施资源池的计算服务组件nova创建密钥对。
可以理解的是,根据实际需要,还可以为第一目标负载集群的用户配置其他类型的安全认证规则,以保证用户信息以及第一目标负载集群的数据安全性。
S202:根据入参生成并创建扩展资源文件,并为第一目标负载集群创建用于管控kubernetes集群中的自定义资源的扩展资源。
在具体实施中,运行集群管理模块,根据入参生成并创建YAML格式的cluster.x-k8s扩展资源文件并创建扩展资源,该扩展资源是一个用于管控kubernetes集群中的CRD资源,即用于定义负载集群的自定义资源。
S203:当监听到自定义资源时,基于集群应用程序接口和与第一基础设施资源池类型对应的资源供应接口,调用kubernetes编排工具在第一基础设施资源池中进行kubernetes负载集群的创建与部署。
在具体实施中,云平台的集群应用程序接口监听到新的自定义资源(即cluster.x-k8s资源)时,通过云平台与第一基础设施资源池类型对应的资源供应接口(即集群应用程序接口对接基础设施资源池用的供应接口,具体为通过一组函数实现根据集群参数管理基础设施资源池)来调用基础设施资源池的接口来创建虚拟机、安全组、云硬盘的资源,在虚拟机中注入云平台初始化(cloud-init)脚本。例如,第一基础设施资源池为OpenStack基础设施资源池时,则集群应用程序接口通过Provider-OpenStack(集群应用程序接口对接OpenStack基础设施资源池使用的Provider,其实现了一组函数来根据集群参数管理OpenStack基础设施资源)来调用OpenStack接口来执行部署基础设施的操作。
云平台初始化脚本用于实现kubernetes初始化、新建、修改kubernetes配置参数等功能,运行云平台初始化脚本以调用虚拟机镜像中预置的kubernetes编排工具(如kubeadm)进行第一目标负载集群的部署。
S204:当监听到第一目标负载集群的所有自定义资源的应用接口服务部署完毕后,获取第一目标负载集群的标识并记录。
具体地,运行集群管理模块监控cluster.x-k8s资源的状态,等待应用接口服务准备完毕(api server ready)后查询节点列表,待应用接口服务(api server)部署完成后,运行集群管理模块调用集群应用程序接口获取第一目标负载集群的标识(kubeconfig),并将该标识记录到数据库中第一目标负载集群对应的管理记录。
S205:基于客户端修改工作节点的标签设置角色,自容器镜像仓库中调用第一目标负载集群所需的容器镜像,自图表仓库中获取第一目标负载集群所需的容器集群应用部署模板,在第一目标负载集群中完成附属组件的安装与启动。
具体地,运行集群管理模块通过客户端(k8s-client)修改工作(worker)节点的标签(label)设置角色(如node-role.kubernetes.io/node),自第一容器镜像仓库中调用第一目标负载集群所需附属组件的容器镜像,自图表仓库中获取第一目标负载集群所需的容器集群应用部署模板(helm-chart),利用容器集群应用部署模板中的helm安装附属组件(如prometheus、 Ingress-controller、localpath-provisioner、Istio、CNI插件、Cluster-Agent等)等到第一目标负载集群。待附属组件安装完成后,再记录部署完成状态到数据库中第一目标负载集群对应的管理记录。
实施例三
由于容器集群的生命周期管理任务除了对负载集群的创建外,还包括对负载集群的删除,在上述实施例的基础上,本申请实施例提供的容器集群的管理方法还包括:
当接收到基于客户端发送的对已创建的第二目标负载集群的删除命令时,调用计算资源管理模块以及第二目标负载集群所在的第二基础设施资源池的资源供应接口,在第二基础设施资源池中删除第二目标负载集群的基础设施。
在具体实施中,用户基于客户端发送对已创建的第二目标负载集群的删除命令到云平台的集群管理模块,则集群管理模块更新第二目标负载集群的状态为删除中。
运行集群管理模块调用计算资源管理模块,自第二目标负载集群所在的第二基础设施资源池的资源供应接口,在第二基础设施资源池中删除第二目标负载集群的基础设施(如cluster.x-k8s CRD资源),继而完成第二目标负载集群的删除操作。
在完成上述对第二目标负载集群的删除操作后,再从云平台数据库中删除第二目标负载集群对应的管理记录。
实施例四
在本申请实施例二中提到,负载集群的创建过程包括对云硬盘资源的占用,为便于在删除负载集群中清理云硬盘资源,在进行负载集群的创建时就将负载集群创建为与用户一一对应的关系。则在此基础上,对于负载集群的删除过程,在上述实施例的基础上,本申请实施例提供的容器集群的管理方法还包括:
当接收到基于客户端发送的对已创建的第二目标负载集群的删除命令时,调用计算资源管理模块以及第二目标负载集群所在的第二基础设施资源池的资源供应接口,在第二基础设施资源池中删除第二目标负载集群的基础设施;
调用计算资源管理模块以及第二基础设施资源池的资源供应接口,获取第二目标负载集群的认证信息后删除第二目标负载集群下对应用户的卷,并删除对应的安全认证规则,删除用户信息及第二目标负载集群在云平台数据库中的记录。
在创建负载集群中设置负载集群与用户一一对应的前提下,在完成对第二目标负载集群的基础设施的删除后,进一步删除第二负载集群对应的用户的信息,从而在第二基础设施资源池中彻底清空第二目标负载集群占用的资源,再在云平台数据库中删除第二目标负载集群的状态信息以及用户信息。
具体来说,待第二目标负载集群的基础设施删除完成后,运行集群管理模块调用计算资源管理模块,获取第二基础设施资源池的认证信息,然后调用第二基础设施资源池的组件服务接口,删除第二目标负载集群对应用户下的卷,并删除与该用户对应的安全认证规则。例如,当第二基础设施资源池为OpenStack基础设施资源池时,即调用持久性块存储功能组件cinder删除第二目标负载集群对应用户下的卷,并调用计算服务组件nova删除该用户对应的密钥对,最后调用安全认证服务组件keysnote删除该用户信息。在完成上述对第二目标负载集群的删除操作后,再从云平台数据库中删除第二目标负载集群对应的管理记录。
实施例五
针对本申请实施例三及本申请实施例四提供的两种删除负载集群的方法,调用计算资源管理模块以及第二目标负载集群所在的第二基础设施资源池的资源供应接口,在第二基础设施资源池中删除第二目标负载集群的基础设施,具体可以包括:
调用计算资源管理模块执行对第二基础设施资源池中第二目标负载集群的自定义资源的删除操作;
基于集群应用程序接口监测到删除操作后,通过第二基础设施资源池的资源供应接口,在第二基础设施资源池中删除第二目标负载集群的基础设施。
即是说,在删除第二目标负载集群的基础设施时,先删除自定义资源(cluster.x-k8s CRD资源),再删除对应的基础设施。
例如,当第二基础设施资源池为OpenStack基础设施资源池时,运行集群管理模块调用计算资源管理模块,执行删除自定义资源(cluster.x-k8s CRD资源)的操作。
云平台的集群应用程序接口监听到上述删除操作后,通过Provider-OpenStack调用OpenStack删除第二目标负载集群的基础设施,等待其删除完成。
上文详述了容器集群的管理方法对应的各个实施例,在此基础上,本申请还公开了与上述方法对应的容器集群的管理装置、设备及计算机可读存储介质。
实施例六
图3为本申请实施例提供的一种容器集群的管理装置的结构示意图。
如图3所示,本申请实施例提供的容器集群的管理装置包括:
环境准备单元301,用于预先基于云平台在kubernetes集群部署集群应用程序接口,以创建管理集群;基于云平台配置针对不同类型云平台的基础设施资源池进行统一管理的计算资源管理模块,以及用于维护不同版本的虚拟机的分区管理模块;将多种版本的虚拟机镜像推送至各基础设施资源池的镜像仓库;将kubernetes负载集群所需附属组件的容器镜像推送至云平台的第一容器镜像仓库,并将容器集群应用部署模板推送至云平台的图表仓库;
识别单元302,用于接收到基于客户端发送的kubernetes负载集群创建请求时,识别得到待创建的第一目标负载集群的基础设施资源池类型和第一目标负载集群所需的基础设施类型;
创建单元303,用于基于集群应用程序接口采用管理集群声明的方式,调用计算资源管理模块和分区管理模块在基础设施资源池类型对应的第一基础设施资源池创建第一目标负载集群并为第一目标负载集群完成基础设施部署。
进一步的,环境准备单元301将多种版本的虚拟机镜像推送至各基础设施资源池的镜像仓库,具体可以包括:
制作虚拟机镜像的过程中,在镜像内放置对应CPU架构的特定版本的kubernetes相关的二进制资源配置文件到指定目录,安装第二容器镜像仓库,并将对应CPU架构和对应版本的kubernetes相关镜像推送至第二容器镜像仓库;
将制作完成的虚拟机镜像推送至各基础设施资源池的镜像仓库。
进一步的,分区管理模块的分区与虚拟机镜像一一对应;
相应的,分区的分区信息具体包括与第一目标负载集群中的虚拟机对应的CPU架构、操作系统类型、操作系统版本、kubernetes版本、容器运行时类型、容器运行时版本、虚拟机镜像ID。
进一步的,创建单元303具体可以包括:
基础设施拉取子单元,用于调用计算资源管理模块获取第一基础设施资源池的镜像服务组件接口后,调用分区管理模块在第一基础设施资源池的镜像仓库获取第一目标负载集群所需的虚拟机镜像ID;
扩展资源创建子单元,用于根据入参生成并创建扩展资源文件,并为第一目标负载集群创建用于管控kubernetes集群中的自定义资源的扩展资源;
集群编排子单元,用于当监听到自定义资源时,基于集群应用程序接口和与第一基础设施资源池类型对应的资源供应接口,调用kubernetes编排工具在第一基础设施资源池中进行kubernetes负载集群的创建与部署;
集群注册子单元,用于当监听到第一目标负载集群的所有自定义资源的应用接口服务部署完毕后,获取第一目标负载集群的标识并记录;
集群部署子单元,用于基于客户端修改工作节点的标签设置角色,自容器镜像仓库中调用第一目标负载集群所需的容器镜像,自图表仓库中获取第一目标负载集群所需的容器集群应用部署模板,在第一目标负载集群中完成附属组件的安装与启动。
进一步的,本申请实施例提供的容器集群的管理装置还包括:
删除单元,用于当接收到基于客户端发送的对已创建的第二目标负载集群的删除命令时,调用计算资源管理模块以及第二目标负载集群所在的第二基础设施资源池的资源供应接口,在第二基础设施资源池中删除第二目标负载集群的基础设施。
进一步的,本申请实施例提供的容器集群的管理装置还包括:
账户管理单元,用于在基于集群应用程序接口采用管理集群声明的方式,调用计算资源管理模块和分区管理模块在基础设施资源池类型对应的第一基础设施资源池创建第一目标负载集群并为第一目标负载集群完成基础设施部署之前,为第一目标负载集群创建与用户的一一对应关系,并为第一目标负载集群配置安全认证规则。
进一步的,为第一目标负载集群创建与用户的一一对应关系,并为第一目标负载集群配置安全认证规则,具体为:
调用第一基础设施资源池的安全认证服务接口创建用户,并为用户配置对应的安全认证规则。
进一步的,当第一基础设施资源池为OpenStack基础设施资源池时,为用户配置对应的安全认证规则,具体为:
采用OpenStack基础设施资源池的计算服务组件nova创建密钥对。
进一步的,本申请实施例提供的容器集群的管理装置还包括:
基础设施删除单元,用于当接收到基于客户端发送的对已创建的第二目标负载集群的删除命令时,调用计算资源管理模块以及第二目标负载集群所在的第二基础设施资源池的资源供应接口,在第二基础设施资源池中删除第二目标负载集群的基础设施;
账户信息删除单元,用于调用计算资源管理模块以及第二基础设施资源池的资源供应接口,获取第二目标负载集群的认证信息后删除第二目标负载集群下对应用户的卷,并删除对应的安全认证规则,删除用户信息及第二目标负载集群在云平台数据库中的记录。
进一步的,删除单元或基础设施删除单元调用计算资源管理模块以及第二目标负载集群所在的第二基础设施资源池的资源供应接口,在第二基础设施资源池中删除第二目标负载集群的基础设施,具体包括:
调用计算资源管理模块执行对第二基础设施资源池中第二目标负载集群的自定义资源的删除操作;
基于集群应用程序接口监测到删除操作后,通过第二基础设施资源池的资源供应接口,在第二基础设施资源池中删除第二目标负载集群的基础设施。
进一步的,本申请实施例提供的容器集群的管理装置还包括:
校验单元,用于在基于集群应用程序接口采用管理集群声明的方式,调用计算资源管理模块和分区管理模块在基础设施资源池类型对应的第一基础设施资源池创建第一目标负载集群并为第一目标负载集群完成基础设施部署之前,对kubernetes负载集群创建请求进行权限校验和请求参数校验;若通过校验,则进入创建单元303。
进一步的,本申请实施例提供的容器集群的管理装置还包括:
记录单元,用于在云平台的数据库为第一目标负载集群创建对应的管理记录,并将第一目标负载集群的集群信息同步更新至管理记录。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
实施例七
图4为本申请实施例提供的一种容器集群的管理设备的结构示意图。
如图4所示,本申请实施例提供的容器集群的管理设备包括:
存储器410,用于存储计算机程序411;
处理器420,用于执行计算机程序411,该计算机程序411被处理器420执行时实现如上述任意一项实施例所述容器集群的管理方法的步骤。
其中,处理器420可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器420可以采用数字信号处理DSP(Digital Signal Processing)、现场可编程门阵列FPGA(Field-Programmable Gate Array)、可编程逻辑阵列PLA(Programmable LogicArray)中的至少一种硬件形式来实现。处理器420也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器CPU(CentralProcessing Unit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器420可以集成有图像处理器GPU(Graphics Processing Unit),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器420还可以包括人工智能AI(Artificial Intelligence)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器410可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器410还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器410至少用于存储以下计算机程序411,其中,该计算机程序411被处理器420加载并执行之后,能够实现前述任一实施例公开的容器集群的管理方法中的相关步骤。另外,存储器410所存储的资源还可以包括操作系统412和数据413等,存储方式可以是短暂存储或者永久存储。其中,操作系统412可以为Windows。数据413可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,容器集群的管理设备还可包括有显示屏430、电源440、通信接口450、输入输出接口460、传感器470以及通信总线480。
本领域技术人员可以理解,图4中示出的结构并不构成对容器集群的管理设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的容器集群的管理设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的容器集群的管理方法,效果同上。
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。
为此,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如容器集群的管理方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-OnlyMemory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的计算机可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的容器集群的管理方法的步骤,效果同上。
以上对本申请所提供的一种容器集群的管理方法、装置、设备及计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种容器集群的管理方法,其特征在于,包括:
预先基于云平台在kubernetes集群部署集群应用程序接口,以创建管理集群;基于所述云平台配置针对不同类型所述云平台的基础设施资源池进行统一管理的计算资源管理模块,以及用于维护不同版本的虚拟机的分区管理模块;将多种版本的虚拟机镜像推送至各所述基础设施资源池的镜像仓库;将kubernetes负载集群所需附属组件的容器镜像推送至所述云平台的第一容器镜像仓库,并将容器集群应用部署模板推送至所述云平台的图表仓库;
接收到基于客户端发送的kubernetes负载集群创建请求时,识别得到待创建的第一目标负载集群的基础设施资源池类型和所述第一目标负载集群所需的基础设施类型;
基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块在所述基础设施资源池类型对应的第一基础设施资源池创建所述第一目标负载集群并为所述第一目标负载集群完成基础设施部署。
2.根据权利要求1所述的容器集群的管理方法,其特征在于,所述将多种版本的虚拟机镜像推送至各所述基础设施资源池的镜像仓库,具体包括:
制作所述虚拟机镜像的过程中,在镜像内放置对应CPU架构的特定版本的kubernetes相关的二进制资源配置文件到指定目录,安装第二容器镜像仓库,并将对应CPU架构和对应版本的kubernetes相关镜像推送至所述第二容器镜像仓库;
将制作完成的所述虚拟机镜像推送至各所述基础设施资源池的镜像仓库。
3.根据权利要求2所述的容器集群的管理方法,其特征在于,所述分区管理模块的分区与虚拟机镜像一一对应;
相应的,所述分区的分区信息具体包括与所述第一目标负载集群中的虚拟机对应的CPU架构、操作系统类型、操作系统版本、kubernetes版本、容器运行时类型、容器运行时版本、虚拟机镜像ID。
4.根据权利要求1所述的容器集群的管理方法,其特征在于,所述基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块在所述基础设施资源池类型对应的第一基础设施资源池创建所述第一目标负载集群并为所述第一目标负载集群完成基础设施部署,具体包括:
调用所述计算资源管理模块获取所述第一基础设施资源池的镜像服务组件接口后,调用所述分区管理模块在所述第一基础设施资源池的所述镜像仓库获取所述第一目标负载集群所需的虚拟机镜像ID;
根据入参生成并创建扩展资源文件,并为所述第一目标负载集群创建用于管控kubernetes集群中的自定义资源的扩展资源;
当监听到所述自定义资源时,基于所述集群应用程序接口和与所述第一基础设施资源池类型对应的资源供应接口,调用kubernetes编排工具在所述第一基础设施资源池中进行kubernetes负载集群的创建与部署;
当监听到所述第一目标负载集群的所有所述自定义资源的应用接口服务部署完毕后,获取所述第一目标负载集群的标识并记录;
基于所述客户端修改工作节点的标签设置角色,自所述容器镜像仓库中调用所述第一目标负载集群所需的容器镜像,自所述图表仓库中获取所述第一目标负载集群所需的容器集群应用部署模板,在所述第一目标负载集群中完成附属组件的安装与启动。
5.根据权利要求1所述的容器集群的管理方法,其特征在于,还包括:
当接收到基于所述客户端发送的对已创建的第二目标负载集群的删除命令时,调用所述计算资源管理模块以及所述第二目标负载集群所在的第二基础设施资源池的资源供应接口,在所述第二基础设施资源池中删除所述第二目标负载集群的基础设施。
6.根据权利要求1所述的容器集群的管理方法,其特征在于,在所述基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块在所述基础设施资源池类型对应的第一基础设施资源池创建所述第一目标负载集群并为所述第一目标负载集群完成基础设施部署之前,还包括:
为所述第一目标负载集群创建与用户的一一对应关系,并为所述第一目标负载集群配置安全认证规则。
7.根据权利要求6所述的容器集群的管理方法,其特征在于,所述为所述第一目标负载集群创建与用户的一一对应关系,并为所述第一目标负载集群配置安全认证规则,具体为:
调用所述第一基础设施资源池的安全认证服务接口创建用户,并为用户配置对应的安全认证规则。
8.根据权利要求7所述的容器集群的管理方法,其特征在于,当所述第一基础设施资源池为OpenStack基础设施资源池时,所述为用户配置对应的安全认证规则,具体为:
采用所述OpenStack基础设施资源池的计算服务组件nova创建密钥对。
9.根据权利要求6所述的容器集群的管理方法,其特征在于,还包括:
当接收到基于所述客户端发送的对已创建的第二目标负载集群的删除命令时,调用所述计算资源管理模块以及所述第二目标负载集群所在的第二基础设施资源池的资源供应接口,在所述第二基础设施资源池中删除所述第二目标负载集群的基础设施;
调用所述计算资源管理模块以及所述第二基础设施资源池的资源供应接口,获取所述第二目标负载集群的认证信息后删除所述第二目标负载集群下对应用户的卷,并删除对应的安全认证规则,删除用户信息及所述第二目标负载集群在云平台数据库中的记录。
10.根据权利要求5或9所述的容器集群的管理方法,其特征在于,所述调用所述计算资源管理模块以及所述第二目标负载集群所在的第二基础设施资源池的资源供应接口,在所述第二基础设施资源池中删除所述第二目标负载集群的基础设施,具体包括:
调用所述计算资源管理模块执行对所述第二基础设施资源池中所述第二目标负载集群的自定义资源的删除操作;
基于所述集群应用程序接口监测到所述删除操作后,通过所述第二基础设施资源池的资源供应接口,在所述第二基础设施资源池中删除所述第二目标负载集群的基础设施。
11.根据权利要求1所述的容器集群的管理方法,其特征在于,在所述基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块在所述基础设施资源池类型对应的第一基础设施资源池创建所述第一目标负载集群并为所述第一目标负载集群完成基础设施部署之前,还包括:
对所述kubernetes负载集群创建请求进行权限校验和请求参数校验;
若通过校验,则进入所述基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块为所述第一目标负载集群完成基础设施资源池部署以及基础设施部署的步骤。
12.根据权利要求1所述的容器集群的管理方法,其特征在于,还包括:
在所述云平台的数据库为所述第一目标负载集群创建对应的管理记录,并将所述第一目标负载集群的集群信息同步更新至所述管理记录。
13.一种容器集群的管理装置,其特征在于,包括:
环境准备单元,用于预先基于云平台在kubernetes集群部署集群应用程序接口,以创建管理集群;基于所述云平台配置针对不同类型所述云平台的基础设施资源池进行统一管理的计算资源管理模块,以及用于维护不同版本的虚拟机的分区管理模块;将多种版本的虚拟机镜像推送至各所述基础设施资源池的镜像仓库;将kubernetes负载集群所需附属组件的容器镜像推送至所述云平台的第一容器镜像仓库,并将容器集群应用部署模板推送至所述云平台的图表仓库;
识别单元,用于接收到基于客户端发送的kubernetes负载集群创建请求时,识别得到待创建的第一目标负载集群的基础设施资源池类型和所述第一目标负载集群所需的基础设施类型;
创建单元,用于基于所述集群应用程序接口采用管理集群声明的方式,调用所述计算资源管理模块和所述分区管理模块在所述基础设施资源池类型对应的第一基础设施资源池创建所述第一目标负载集群并为所述第一目标负载集群完成基础设施部署。
14.一种容器集群的管理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至12任意一项所述容器集群的管理方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12任意一项所述容器集群的管理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211231347.8A CN115292026B (zh) | 2022-10-10 | 2022-10-10 | 容器集群的管理方法、装置、设备及计算机可读存储介质 |
PCT/CN2023/085261 WO2024077885A1 (zh) | 2022-10-10 | 2023-03-30 | 容器集群的管理方法、装置、设备及非易失性可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211231347.8A CN115292026B (zh) | 2022-10-10 | 2022-10-10 | 容器集群的管理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115292026A true CN115292026A (zh) | 2022-11-04 |
CN115292026B CN115292026B (zh) | 2023-02-28 |
Family
ID=83819219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211231347.8A Active CN115292026B (zh) | 2022-10-10 | 2022-10-10 | 容器集群的管理方法、装置、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115292026B (zh) |
WO (1) | WO2024077885A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225624A (zh) * | 2023-05-09 | 2023-06-06 | 江苏博云科技股份有限公司 | 基于kubernets的裸机管理方法、系统和装置 |
CN116301932A (zh) * | 2022-12-21 | 2023-06-23 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种kubernetes环境下大型项目的快速部署方法 |
CN116661979A (zh) * | 2023-08-02 | 2023-08-29 | 之江实验室 | 异构作业调度系统及方法 |
WO2024077885A1 (zh) * | 2022-10-10 | 2024-04-18 | 济南浪潮数据技术有限公司 | 容器集群的管理方法、装置、设备及非易失性可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426034A (zh) * | 2017-08-18 | 2017-12-01 | 国网山东省电力公司信息通信公司 | 一种基于云平台的大规模容器调度系统及方法 |
CN109656686A (zh) * | 2018-12-17 | 2019-04-19 | 武汉烽火信息集成技术有限公司 | OpenStack上部署容器云方法、存储介质、电子设备及系统 |
US20190213044A1 (en) * | 2018-01-10 | 2019-07-11 | International Business Machines Corporation | Accelerating and maintaining large-scale cloud deployment |
CN110750332A (zh) * | 2019-10-23 | 2020-02-04 | 广西梯度科技有限公司 | 一种在Kubernetes中Pod设置静态IP的方法 |
CN110750335A (zh) * | 2019-10-25 | 2020-02-04 | 北京金山云网络技术有限公司 | 资源创建方法、装置和服务器 |
CN112187860A (zh) * | 2020-08-28 | 2021-01-05 | 苏州浪潮智能科技有限公司 | kubernetes集群节点镜像的构建方法及装置 |
WO2021250452A1 (en) * | 2020-06-12 | 2021-12-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Container orchestration system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110752947B (zh) * | 2019-10-18 | 2022-11-18 | 北京浪潮数据技术有限公司 | 一种k8s集群部署方法及装置,一种部署平台 |
US11182196B2 (en) * | 2019-11-13 | 2021-11-23 | Vmware, Inc. | Unified resource management for containers and virtual machines |
CN113687912A (zh) * | 2021-07-30 | 2021-11-23 | 济南浪潮数据技术有限公司 | 容器集群管理方法、装置、系统、电子设备及存储介质 |
CN115292026B (zh) * | 2022-10-10 | 2023-02-28 | 济南浪潮数据技术有限公司 | 容器集群的管理方法、装置、设备及计算机可读存储介质 |
-
2022
- 2022-10-10 CN CN202211231347.8A patent/CN115292026B/zh active Active
-
2023
- 2023-03-30 WO PCT/CN2023/085261 patent/WO2024077885A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426034A (zh) * | 2017-08-18 | 2017-12-01 | 国网山东省电力公司信息通信公司 | 一种基于云平台的大规模容器调度系统及方法 |
US20190213044A1 (en) * | 2018-01-10 | 2019-07-11 | International Business Machines Corporation | Accelerating and maintaining large-scale cloud deployment |
CN109656686A (zh) * | 2018-12-17 | 2019-04-19 | 武汉烽火信息集成技术有限公司 | OpenStack上部署容器云方法、存储介质、电子设备及系统 |
CN110750332A (zh) * | 2019-10-23 | 2020-02-04 | 广西梯度科技有限公司 | 一种在Kubernetes中Pod设置静态IP的方法 |
CN110750335A (zh) * | 2019-10-25 | 2020-02-04 | 北京金山云网络技术有限公司 | 资源创建方法、装置和服务器 |
WO2021250452A1 (en) * | 2020-06-12 | 2021-12-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Container orchestration system |
CN112187860A (zh) * | 2020-08-28 | 2021-01-05 | 苏州浪潮智能科技有限公司 | kubernetes集群节点镜像的构建方法及装置 |
Non-Patent Citations (5)
Title |
---|
CHIA-CHING CHEN等: "Partitioning and Placing Virtual Machine Clusters on Cloud Environment", 《2018 1ST INTERNATIONAL COGNITIVE CITIES CONFERENCE (IC3)》 * |
DANIEL NURMI等: "The Eucalyptus Open-Source Cloud-Computing System", 《2009 9TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER COMPUTING AND THE GRID》 * |
李英华: "面向容器的集群资源管理系统研究", 《无线互联科技》 * |
王一盟: "基于异构云平台的私有云管系统的研究与实现", 《中国优秀硕士学位论文全文数据库》 * |
程仲汉等: "一种基于Kubernetes的Web应用部署与配置系统", 《成都信息工程大学学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024077885A1 (zh) * | 2022-10-10 | 2024-04-18 | 济南浪潮数据技术有限公司 | 容器集群的管理方法、装置、设备及非易失性可读存储介质 |
CN116301932A (zh) * | 2022-12-21 | 2023-06-23 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种kubernetes环境下大型项目的快速部署方法 |
CN116301932B (zh) * | 2022-12-21 | 2023-09-29 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种kubernetes环境下大型项目的快速部署方法 |
CN116225624A (zh) * | 2023-05-09 | 2023-06-06 | 江苏博云科技股份有限公司 | 基于kubernets的裸机管理方法、系统和装置 |
CN116225624B (zh) * | 2023-05-09 | 2023-06-30 | 江苏博云科技股份有限公司 | 基于kubernets的裸机管理方法、系统和装置 |
CN116661979A (zh) * | 2023-08-02 | 2023-08-29 | 之江实验室 | 异构作业调度系统及方法 |
CN116661979B (zh) * | 2023-08-02 | 2023-11-28 | 之江实验室 | 异构作业调度系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2024077885A1 (zh) | 2024-04-18 |
CN115292026B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
CN115292026B (zh) | 容器集群的管理方法、装置、设备及计算机可读存储介质 | |
US10261776B2 (en) | Automated deployment and servicing of distributed applications | |
CN111930521A (zh) | 用于部署应用的方法、装置、电子设备及可读存储介质 | |
CN111614490B (zh) | 基于顶级容器集群对托管容器集群的管理系统及方法 | |
US20120005325A1 (en) | Systems and methods for automated processing of devices | |
US11144432B2 (en) | Testing and reproduction of concurrency issues | |
CN112114939A (zh) | 一种分布式系统部署设备和方法 | |
CN114501501A (zh) | 移动通信网络靶场的配置管理方法、装置、设备及介质 | |
CN110221910B (zh) | 用于执行mpi作业的方法和装置 | |
CN117149459A (zh) | 微前端系统、微前端系统的构建方法、装置、电子设备 | |
Tang et al. | Application centric lifecycle framework in cloud | |
CN115357198B (zh) | 存储卷的挂载方法及装置、存储介质及电子设备 | |
CN109491762B (zh) | 容器状态控制方法及装置、存储介质、电子设备 | |
US10740185B2 (en) | Inplace process restart | |
CN116107694A (zh) | k8s子集群的部署方法、装置及存储介质 | |
CN112181403B (zh) | 开发运维一体化实现方法、装置、设备及可读存储介质 | |
CN112564979B (zh) | 构建任务的执行方法、装置、计算机设备和存储介质 | |
CN112241293A (zh) | 工业互联网云平台的应用管理方法、装置、设备及介质 | |
CN117519989B (zh) | 一种分布式系统托管方法、装置、电子设备及存储介质 | |
CN112130900A (zh) | 一种bmc的用户信息管理方法、系统、设备以及介质 | |
CN116225624B (zh) | 基于kubernets的裸机管理方法、系统和装置 | |
CN113535328B (zh) | 一种应用实例控制方法、装置、设备及存储介质 | |
US20240152372A1 (en) | Virtual representations of endpoints in a computing environment | |
CN114911494A (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 |