CN114217951A - 一种多云多集群的kubernetes集群管理方法及系统 - Google Patents
一种多云多集群的kubernetes集群管理方法及系统 Download PDFInfo
- Publication number
- CN114217951A CN114217951A CN202111320303.8A CN202111320303A CN114217951A CN 114217951 A CN114217951 A CN 114217951A CN 202111320303 A CN202111320303 A CN 202111320303A CN 114217951 A CN114217951 A CN 114217951A
- Authority
- CN
- China
- Prior art keywords
- kubernets
- cluster
- task
- deployment
- specified
- 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
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种多云多集群的kubernetes集群管理方法及系统,包括:获取将kubernetes资源部署到指定kubenetes集群的部署任务,所定义的部署任务通过任务描述进行表达,所述任务描述包括:kubernetes资源创建模板、kubernetes资源创建所指定的kubernetes集群、为指定kubernetes集群设定的特殊配置;所述kubenetes集群是指不同云内的不同kubenetes集群中一个或多个;将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系;根据绑定关系链接指定kubernetes集群,在所链接的指定kubernetes集群创建相应部署任务内所要部署的kubernetes资源。简单易用,使用原生kubernetes部署业务,对使用人员友好,学习成本更低,不需要学习自定义的新的kubernetes资源的使用方法。
Description
技术领域
本发明涉及集群领域,具体涉及一种多云多集群的kubernetes集群管理方法及系统。
背景技术
在部门项目向容器迁移过程中,越来越多的项目需要迁移到容器化平台,容器化平台的kubernetes(通常称为k8s,是来自Google云平台的开源容器集群管理系统,用于自动部署、扩展和管理容器化(containerized)应用程序)集群越来越多,当越来越多的项目和项目部署到越来越多的kubernetes集群时,管理项目部署到了那些kubernetes集群,在集群上都部署了什么kubernetes资源(资源比如kubernetes的deployment/service/ingress/configmap/pvc..等等)就已经成为了管理起来比较困难的问题。此时就需要一种能够简洁高效的管理项目部署到多个集群的系统,以解决上述的问题,提高效率。
现有的技术方案中一种情况是开发kubernetes的crd或者准入控制器,定义一种新的kubernetes资源,新的kubernetes资源中处理多个kubernetes原生的资源,将这种自定义的资源部署到k8s集群,在集群中创建这种资源,这种资源实际上会将业务使用到的kubernetes原生的资源打包,一同处理,用来完成一个业务在一个集群的部署。
在实现本发明过程中,申请人发现现有技术中至少存在如下问题:
不能解决不同的集群需要的特殊配置问题。比如某一些集群需要的pod副本数是10,某一些集群需要的pod副本数为15,在比如抹一些集群需要部署ingress资源,而某一些集群不需要。
非原生的kubernetes资源资源,对管理员不友好,需要学习这种自定义的资源的使用方法。
此种方案没有多集群的管理工具,需要将开发的新资源部署到每个k8s集群。
不同的云厂商kubernetes环境不同,自定义的资源可能无法很好的适配云厂商的环境。
发明内容
本发明实施例提供一种多云多集群的kubernetes集群管理方法及系统,简单易用,使用原生kubernetes部署业务,对使用人员友好,学习成本更低,不需要学习自定义的新的kubernetes资源的使用方法。
为达上述目的,一方面,本发明实施例提供一种多云多集群的kubernetes集群管理方法,包括:
获取将kubernetes资源部署到指定kubenetes集群的部署任务,所述部署任务通过任务描述进行表达,所述任务描述包括:kubernetes资源创建模板、kubernetes资源创建所指定的kubernetes集群、为指定kubernetes集群设定的特殊配置;所述kubenetes集群是指不同云内的不同kubenetes集群中一个或多个;
将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系;
根据绑定关系链接指定kubernetes集群,在所链接的指定kubernetes集群创建相应部署任务内所要部署的kubernetes资源。
另一方面,本发明实施例提供一种多云多集群的kubernetes集群管理系统,包括:
任务获取单元,用于获取将kubernetes资源部署到指定kubenetes集群的部署任务,所述部署任务通过任务描述进行表达,所述任务描述包括:kubernetes资源创建模板、kubernetes资源创建所指定的kubernetes集群、为指定kubernetes集群设定的特殊配置;所述kubenetes集群是指不同云内的不同kubenetes集群中一个或多个;
绑定单元,用于将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系;
资源部署单元,用于根据绑定关系链接指定kubernetes集群,在所链接的指定kubernetes集群创建相应部署任务内所要部署的kubernetes资源。
上述技术方案具有如下有益效果:简单易用,使用原生kubernetes部署业务,对使用人员友好,学习成本更低,不需要学习自定义的新的kubernetes资源的使用方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种多云多集群的kubernetes集群管理方法的流程图;
图2是一种多云多集群的kubernetes集群管理系统的结构图;
图3是本发明实施例的管理系统的结构图;
图4是图3的实施步骤图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,结合本发明的实施例,提供一种多云多集群的kubernetes集群管理方法,包括:
S101:获取将kubernetes资源部署到指定kubenetes集群的部署任务,所述部署任务通过任务描述进行表达,所述任务描述包括:kubernetes资源创建模板、kubernetes资源创建所指定的kubernetes集群、为指定kubernetes集群设定的特殊配置;所述kubenetes集群是指不同云内的不同kubenetes集群中一个或多个;
S102:将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系;
S103:根据绑定关系链接指定kubernetes集群,在所链接的指定kubernetes集群创建相应部署任务内所要部署的kubernetes资源。
优选地,在步骤101中,所述获取将kubernetes资源部署到指定kubenetes集群的部署任务,具体包括:
S1011:通过命令行工具、和/或kubernetes官方语言类库在接口服务程序apiserver定义部署任务;其中,所述命令行工具具有自定义kubernetes集群管理所需功能的功能;
S1012:接收api server发送的所述部署任务。
优选地,在所述获取将kubernetes资源部署到指定kubenetes集群的部署任务之后,所述将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系之前,还包括:
S104:将部署任务的任务描述解释成可理解语言的任务描述,检查可理解语言的任务描述的格式是否正确;其中,任务描述格式正确的部署任务用于形成绑定关系;
以及,所述方法还包括:
S105:将任务描述格式是否正确的检查结果返回到api server,以及当检查结果为任务描述格式错误时,同时返回任务描述的详细错误格式信息
优选地,还包括:
S106:周期性查找任务描述格式正确、且未被调度的部署任务,根据调度策略核对任务描述格式正确、且未被调度的各部署任务所指定kubernetes集群是否具备部署相应kubernetes资源的条件;
S107:当确认某个所述部署任务所指定kubernetes集群具备部署相应kubernetes资源的条件时,将该部署任务与指定kubernetes集群进行绑定形成相应的绑定关系。
优选地,步骤103具体包括:
S1031:分析绑定关系得到用于部署kubernetes资源的指定kubernetes集群、以及用于部署kubernetes资源的指定kubernetes集群的节点,将绑定到同一kubernetes集群的部署任务放入同一队列;
S1032:获取队列内的部署任务,链接部署任务内用于部署kubernetes资源的指定kubernetes集群的节点,在指定kubernetes集群的节点创建相应部署任务内所要部署的kubernetes资源。
如图2所示,结合本发明的实施例,提供一种多云多集群的kubernetes集群管理系统,包括:
任务获取单元21,用于获取将kubernetes资源部署到指定kubenetes集群的部署任务,所述部署任务通过任务描述进行表达,所述任务描述包括:kubernetes资源创建模板、kubernetes资源创建所指定的kubernetes集群、为指定kubernetes集群设定的特殊配置;所述kubenetes集群是指不同云内的不同kubenetes集群中一个或多个;
绑定单元22,用于将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系;
资源部署单元23,用于根据绑定关系链接指定kubernetes集群,在所链接的指定kubernetes集群创建相应部署任务内所要部署的kubernetes资源。
优选地,所述任务获取单元21包括:
任务创建子单元211,用于通过命令行工具、和/或kubernetes官方语言类库在接口服务程序api server定义部署任务;其中,所述命令行工具具有自定义kubernetes集群管理所需功能的功能;
任务接收子单元212,用于接收api server发送的所述部署任务。
优选地,还包括:
策略控制单元24,用于在所述任务获取单元获取将kubernetes资源部署到指定kubenetes集群的部署任务之后,将部署任务的任务描述解释成可理解语言的任务描述,检查可理解语言的任务描述的格式是否正确;其中,任务描述格式正确的部署任务用于形成绑定关系;
策略控制结果返回单元25,用于将任务描述格式是否正确的检查结果返回到apiserver,以及当检查结果为任务描述格式错误时,同时返回任务描述的详细错误格式信息。
优选地,绑定单元22包括:
任务调度子单元221,用于周期性查找任务描述的格式正确、且未被调度的部署任务,根据调度策略对任务描述的格式正确、且未被调度的部署任务进行核对,核对任务描述的格式正确、且未被调度的各部署任务所指定kubernetes集群是否具备部署相应kubernetes资源的条件;
绑定子单元222,用于当确认某个所述部署任务所指定kubernetes集群具备部署相应kubernetes资源的条件时,将该部署任务与指定kubernetes集群进行绑定形成相应的绑定关系。
优选地,所述资源部署单元23,具体用于:
分析绑定关系得到用于部署kubernetes资源的指定kubernetes集群、以及用于部署kubernetes资源的指定kubernetes集群的节点,将绑定到同一kubernetes集群的部署任务放入同一队列;
获取队列内的部署任务,链接部署任务内用于部署kubernetes资源的指定kubernetes集群的节点,在指定kubernetes集群的节点创建相应部署任务内所要部署的kubernetes资源。
下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
本发明为一种多云多集群的k8s集群管理方法和系统,本申请要解决的技术问题为:
1、现有的方案无法处理在一个控制端部署业务到多个集群的情况。而本发明通过一个控制端,将业务的多个kubernetes资源部署到多个kubenetes集群;多个kubenetes集群可位于多个不同的云。
2、支持不同的kubernetes集群配置不同的业务资源的配置项。
3、有控制端软件,简单易用。
4、支持api,用户可以通过api开发自己的控制界面或者工具
5、本软件使用原生的kubernetes资源部署多集群情况下的业务部署。
6、适配多种云厂商的环境,比如不同的云厂商的存储方案不同,网络方案不同。
五、本发明技术方案的详细阐述
本系统包含多个组件,每个组件负责一部分功能。本系统的组件运行在一个kuberentes集中内,这个kubernetes集群仅仅运行本系统的组件和要同步到其他集群的资源。
如图3所示:
本系统包含以下几个部分和关系如下描述:
1,ctl/clientgo:通过命令行工具、和/或kubernetes官方语言类库在接口服务程序api server定义部署任务;其中,所述命令行工具具有自定义kubernetes集群管理所需功能的功能。具体为:ctl是一个命令行工具,用来与系统api server交互,clientgo是kubernetes集群的官方golang语言的类库,可以与本系统的系统api server交互,完成ctl没有提供的功能,用于用户自定义开发一些功能,比如ui等。如图3的关系1所示,用户通过ctl可以管理多个kubernetes集群,对集群进行增加删除等操作。
2,系统api server:系统api server是本系统的所有操作的入口,包括kubernetes集群的管理,与调度器的交互(交互逻辑见4,调度器),与控制器的交互(交互逻辑见5控制器),与etcd的交互存储数据,比如集群信息,资源信息,状态信息等等。
3,etcd,如图3的关系4所示,存储系统api server提交过来的各类集群的信息,本系统的存储服务,本系统唯一一个数据的存储。
4,调度器,接收api server发送的所述部署任务:调度器从系统api server查找没有调度过的用户创建的任务(任务是一个用户的部署策略描述),负责执行调度策略(调度策略),比如需要将用户的kubernetes集群的部署与kubernetes做匹配,比如用户指定了服务要部署到kubernetes集群a和b,调度器要查看集群a和b是否健康,检查资源的资源是否充足等情况。即是,核对任务描述的格式正确、且未被调度的各部署任务所指定kubernetes集群是否具备部署相应kubernetes资源的条件。
如图3关系2所示,调度完成之后,将调度的结果附加到用户的任务,重新写会到系统api server,用户任务会等待控制器处理。
5,控制器,控制器包含四个部分集群/策略/绑定/执行,其中集群控制器用来对kubernetes集群进行加入系统和删除的操作,策略控制器用来控制用户的任务(策略),绑定控制器用来将调度器调度完成的任务绑定到被调度的集群。如图3关系5所示执行任务控制器执行绑定之后的任务,在被绑定的多个kubernetes集群创建用户任务描述中的kubernetes原生资源,完成业务的部署,部署完成之后,向系统api server报告部署结果。
6,用户部署业务服务的kubernetes集群,这些集群部署了业务的kubernetes资源。这些kubernetes集群可以部署到不同的云厂商的环境中。向本系统开放kubernetes原生的接口。
如图4所示:
一个用户任务的完整执行流程如下:
1、如图4的步骤1所示,获取将kubernetes资源部署到指定kubenetes集群的部署任务,所述部署任务通过任务描述进行表达,所述任务描述包括:kubernetes资源创建模板、kubernetes资源创建所指定的kubernetes集群、为指定kubernetes集群设定的特殊配置;所述kubenetes集群是指不同云内的不同kubenetes集群中一个或多个;具体为:
用户定义一个任务,任务描述包括:采用资源模板resource template,为kubernetes的部署模板depotment、service等资源的描述,指定的要部署的kubernetes集群,包括不同的集群的特定的特殊配置(特殊配置是为集群设置的),这个用户任务可以被策略控制器解释。其中,资源模板resource template包括:1)Kubernetes这个开源的软件的资源如deployment,ingress,service等的抽象,抽象出一些通用的用户都会用到的项,这样用户要创建Kubernetes这些资源的时候,使用资源模板resource template可以快速创建。2)集群配置:集群配置里是集群的名字,集群的连接地址,用户账户,密码,证书等配置。资源模板resource template的作用:1)简化kubernetes资源的使用难度;2)可以让相同的kubernetes资源部署到不同的Kubernetes集群,原生的kubernetes集群是不支持同一个资源部署到不同的集群的。
2、如图4步骤2所示:在所述获取将kubernetes资源部署到指定kubenetes集群的部署任务之后,所述将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系之前,将部署任务的任务描述解释成可理解语言的任务描述,检查可理解语言的任务描述的格式是否正确;将任务描述格式正确的部署任务用于形成绑定关系;将任务描述格式是否正确的检查结果返回到api server,以及当检查结果为任务描述格式错误时,同时返回任务描述的详细错误格式信息。具体为:
策略控制器解释(解释成控制器可以理解的数据)用户任务描述,检查策略是否正确(比如检查用户的输入必须是固定的格式key:value这种,否则没办法解析,识别不了;因为用户的模板里要写注解的,注解就是key:value格式的),检查通过后将检查结果写回系统api server,任务描述进入到下一阶段,如果检查不通过则返回到api server通知用户,返回错误的详细信息。
3、如图4步骤3所示,将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系。周期性查找任务描述格式正确、且未被调度的部署任务,根据调度策略核对任务描述格式正确、且未被调度的各部署任务所指定kubernetes集群是否具备部署相应kubernetes资源的条件;当确认某个所述部署任务所指定kubernetes集群具备部署相应kubernetes资源的条件时,将该部署任务与指定kubernetes集群进行绑定形成相应的绑定关系。具体为:绑定控制将用户任务和集群绑定到一起形成一种关联关系并进行存储,将绑定所产生的相关信息(模板上有一个status字段,绑定其实就是修改这个status里的一些值)写回到系统api server,完成绑定操作。
4、如图4的步骤4所示,根据绑定关系链接指定kubernetes集群,在所链接的指定kubernetes集群创建相应部署任务内所要部署的kubernetes资源。分析绑定关系得到用于部署kubernetes资源的指定kubernetes集群、以及用于部署kubernetes资源的指定kubernetes集群的节点,将绑定到同一kubernetes集群的部署任务放入同一队列;获取队列内的部署任务,链接部署任务内用于部署kubernetes资源的指定kubernetes集群的节点,在指定kubernetes集群的节点创建相应部署任务内所要部署的kubernetes资源。具体为:执行控制器获取到绑定完成的用户任务(绑定结果),分析绑定结果(绑定结果中有pod绑定到了哪个node节点的信息。分析的目的是要获取到node信息。才能跟node上的组件交互),将绑定到不同集群的任务放入执行控制的不同的队列,执行控制器获取队列的任务,链接kubernetes集群,创建任务描述的kubernetes资源。
本发明所取得的有益效果如下:
1、可以将业务的多个kubernetes资源部署到多个kubenetes集群。
2、支持不同的kubernetes集群配置不同的业务资源的配置项。
3、简单易用,使用原生kubernetes部署业务,对使用人员友好,学习成本更低,不需要学习自定义的新的kubernetes资源的使用方法。
4、可以通过本系统提供的api实现自己的ui界面和管理工具。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多云多集群的kubernetes集群管理方法,其特征在于,包括:
获取将kubernetes资源部署到指定kubenetes集群的部署任务,所述部署任务通过任务描述进行表达,所述任务描述包括:kubernetes资源创建模板、kubernetes资源创建所指定的kubernetes集群、为指定kubernetes集群设定的特殊配置;所述kubenetes集群是指不同云内的不同kubenetes集群中一个或多个;
将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系;
根据绑定关系链接指定kubernetes集群,在所链接的指定kubernetes集群创建相应部署任务内所要部署的kubernetes资源。
2.根据权利要求1所述的多云多集群的kubernetes集群管理方法,其特征在于,所述获取将kubernetes资源部署到指定kubenetes集群的部署任务,具体包括:
通过命令行工具、和/或kubernetes官方语言类库在接口服务程序api server定义部署任务;其中,所述命令行工具具有自定义kubernetes集群管理所需功能的功能;
接收api server发送的所述部署任务。
3.根据权利要求2所述的多云多集群的kubernetes集群管理方法,其特征在于,在所述获取将kubernetes资源部署到指定kubenetes集群的部署任务之后,所述将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系之前,还包括:
将部署任务的任务描述解释成可理解语言的任务描述,检查可理解语言的任务描述的格式是否正确;其中,任务描述格式正确的部署任务用于形成绑定关系;
以及,所述方法还包括:
将任务描述格式是否正确的检查结果返回到api server,以及当检查结果为任务描述格式错误时,同时返回任务描述的详细错误格式信息。
4.根据权利要求3所述的多云多集群的kubernetes集群管理方法,其特征在于,所述将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系,具体包括:
周期性查找任务描述格式正确、且未被调度的部署任务,根据调度策略核对任务描述格式正确、且未被调度的各部署任务所指定kubernetes集群是否具备部署相应kubernetes资源的条件;
当确认某个所述部署任务所指定kubernetes集群具备部署相应kubernetes资源的条件时,将该部署任务与指定kubernetes集群进行绑定形成相应的绑定关系。
5.根据权利要求1所述的多云多集群的kubernetes集群管理方法,其特征在于,所述根据绑定关系链接指定kubernetes集群,在所链接的指定kubernetes集群创建相应部署任务内所要部署的kubernetes资源,具体包括:
分析绑定关系得到用于部署kubernetes资源的指定kubernetes集群、以及用于部署kubernetes资源的指定kubernetes集群的节点,将绑定到同一kubernetes集群的部署任务放入同一队列;
获取队列内的部署任务,链接部署任务内用于部署kubernetes资源的指定kubernetes集群的节点,在指定kubernetes集群的节点创建相应部署任务内所要部署的kubernetes资源。
6.一种多云多集群的kubernetes集群管理系统,其特征在于,包括:
任务获取单元,用于获取将kubernetes资源部署到指定kubenetes集群的部署任务,所述部署任务通过任务描述进行表达,所述任务描述包括:kubernetes资源创建模板、kubernetes资源创建所指定的kubernetes集群、为指定kubernetes集群设定的特殊配置;所述kubenetes集群是指不同云内的不同kubenetes集群中一个或多个;
绑定单元,用于将部署任务和该部署任务内的指定kubernetes集群进行绑定形成相应的绑定关系;
资源部署单元,用于根据绑定关系链接指定kubernetes集群,在所链接的指定kubernetes集群创建相应部署任务内所要部署的kubernetes资源。
7.根据权利要求6所述的多云多集群的kubernetes集群管理系统,其特征在于,所述任务获取单元包括:
任务创建子单元,用于通过命令行工具、和/或kubernetes官方语言类库在接口服务程序api server定义部署任务;其中,所述命令行工具具有自定义kubernetes集群管理所需功能的功能;
任务接收子单元,用于接收api server发送的所述部署任务。
8.根据权利要求6所述的多云多集群的kubernetes集群管理系统,其特征在于,还包括:
策略控制单元,用于在所述任务获取单元获取将kubernetes资源部署到指定kubenetes集群的部署任务之后,将部署任务的任务描述解释成可理解语言的任务描述,检查可理解语言的任务描述的格式是否正确;其中,任务描述格式正确的部署任务用于形成绑定关系;
策略控制结果返回单元,用于将任务描述格式是否正确的检查结果返回到apiserver,以及当检查结果为任务描述格式错误时,同时返回任务描述的详细错误格式信息。
9.根据权利要求8所述的多云多集群的kubernetes集群管理系统,其特征在于,绑定单元包括:
任务调度子单元,用于周期性查找任务描述的格式正确、且未被调度的部署任务,根据调度策略对任务描述的格式正确、且未被调度的部署任务进行核对,核对任务描述的格式正确、且未被调度的各部署任务所指定kubernetes集群是否具备部署相应kubernetes资源的条件;
绑定子单元,用于当确认某个所述部署任务所指定kubernetes集群具备部署相应kubernetes资源的条件时,将该部署任务与指定kubernetes集群进行绑定形成相应的绑定关系。
10.根据权利要求6所述的多云多集群的kubernetes集群管理系统,其特征在于,所述资源部署单元,具体用于:
分析绑定关系得到用于部署kubernetes资源的指定kubernetes集群、以及用于部署kubernetes资源的指定kubernetes集群的节点,将绑定到同一kubernetes集群的部署任务放入同一队列;
获取队列内的部署任务,链接部署任务内用于部署kubernetes资源的指定kubernetes集群的节点,在指定kubernetes集群的节点创建相应部署任务内所要部署的kubernetes资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111320303.8A CN114217951A (zh) | 2021-11-09 | 2021-11-09 | 一种多云多集群的kubernetes集群管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111320303.8A CN114217951A (zh) | 2021-11-09 | 2021-11-09 | 一种多云多集群的kubernetes集群管理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114217951A true CN114217951A (zh) | 2022-03-22 |
Family
ID=80696764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111320303.8A Pending CN114217951A (zh) | 2021-11-09 | 2021-11-09 | 一种多云多集群的kubernetes集群管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114217951A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691125A (zh) * | 2022-04-01 | 2022-07-01 | 上海道客网络科技有限公司 | 一种应用资源映射转换的方法、系统、介质和电子设备 |
CN116389502A (zh) * | 2023-02-28 | 2023-07-04 | 港珠澳大桥管理局 | 跨集群调度系统、方法、装置、计算机设备和存储介质 |
CN117056174A (zh) * | 2023-10-13 | 2023-11-14 | 北京凌云雀科技有限公司 | 一种通知信息处理方法及装置 |
-
2021
- 2021-11-09 CN CN202111320303.8A patent/CN114217951A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691125A (zh) * | 2022-04-01 | 2022-07-01 | 上海道客网络科技有限公司 | 一种应用资源映射转换的方法、系统、介质和电子设备 |
CN116389502A (zh) * | 2023-02-28 | 2023-07-04 | 港珠澳大桥管理局 | 跨集群调度系统、方法、装置、计算机设备和存储介质 |
CN116389502B (zh) * | 2023-02-28 | 2024-02-23 | 港珠澳大桥管理局 | 跨集群调度系统、方法、装置、计算机设备和存储介质 |
CN117056174A (zh) * | 2023-10-13 | 2023-11-14 | 北京凌云雀科技有限公司 | 一种通知信息处理方法及装置 |
CN117056174B (zh) * | 2023-10-13 | 2024-01-19 | 北京凌云雀科技有限公司 | 一种通知信息处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114217951A (zh) | 一种多云多集群的kubernetes集群管理方法及系统 | |
US10565095B2 (en) | Hybrid testing automation engine | |
US10216509B2 (en) | Continuous and automatic application development and deployment | |
US8166448B2 (en) | Rapid development of distributed web service | |
US8706771B2 (en) | Systems and methods for analyzing and transforming an application from a source installation to a target installation | |
US7530079B2 (en) | Managing application customization | |
US9021419B2 (en) | System and method for supporting intelligent design pattern automation | |
CN100545851C (zh) | 使用命令行环境的远程系统管理 | |
CN111984269B (zh) | 提供应用构建服务的方法及应用构建平台 | |
US20240045850A1 (en) | Systems and methods for database orientation transformation | |
WO2022037612A1 (zh) | 提供应用构建服务的方法及应用构建平台、应用部署方法和系统 | |
US8756407B2 (en) | Configuration rule prototyping tool | |
US9245256B2 (en) | Assigning and managing reviews of a computing file | |
US20100333083A1 (en) | Software Asset Packaging and Consumption Method and System | |
CN102541596A (zh) | 一种操作系统升级方法及装置 | |
Prehofer et al. | From internet of things mashups to model-based development | |
US8656287B2 (en) | Information processing apparatus, information processing system, and information processing method | |
US11061739B2 (en) | Dynamic infrastructure management and processing | |
EP4007955A1 (en) | Parallel cloned workflow execution | |
US20170364390A1 (en) | Automating enablement state inputs to workflows in z/osmf | |
US10514940B2 (en) | Virtual application package reconstruction | |
CN100465891C (zh) | 通过即插即用储存装置更新手持式设备操作功能的方法 | |
US11934420B2 (en) | Systems and methods for componentization and plug and play workflows | |
CN110045963A (zh) | 一种Linux内核编译和验证的方法及装置 | |
US10545729B2 (en) | Computer program interface |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230419 Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant after: Sina Technology (China) Co.,Ltd. Address before: 100193 7th floor, scientific research building, Sina headquarters, plot n-1, n-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant before: Sina.com Technology (China) Co.,Ltd. |