一种管理容器云平台授权证书的方法及系统与流程

文档序号:20039134发布日期:2020-02-28 11:41阅读:431来源:国知局
一种管理容器云平台授权证书的方法及系统与流程

本发明涉及容器云技术,具体涉及一种管理容器云平台授权证书的方法及系统。



背景技术:

现有的容器云平台中,有的是开源的容器云平台(如kubernetes),这种平台使用了开放的授权证书,即任何用户都可以使用和修改源码,没有验证授权证书的机制,但是在商业环境中原本的kubernetes平台并不能很好的支持用户的需求,所以往往需要各个公司的额外的开发,包装成为自己的公司的产品,但是由于kubernetes平台没有管理电子授权证书的机制,造成公司包装的产品没有任何保护,损害了开发企业的财产利益。



技术实现要素:

针对上述技术问题,本发明提供一种管理容器云平台授权证书的方法及系统。

本发明解决上述技术问题的技术方案如下:一种管理容器云平台授权证书的方法,包括:

生成密钥;

根据所述密钥生成电子授权证书;

将所述电子授权证书复制到部署容器云平台的服务器上;

验证所述电子授权证书是否有效,若否则终止运行所述容器云平台。

本发明的有益效果是:通过在部署容器云平台的服务器上配置对应的电子授权证书,并对其进行验证,可以防止未经授权就使用容器云平台的情况发生,有力保护了开发公司的财产利益。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步,所述容器云平台为kubernetes平台。

进一步,所述电子授权证书设定了所述电子授权证书的有效期、所述部署容器云平台的服务器的cpu的最大允许数量和/或所述部署容器云平台的服务器的最大允许数量。

进一步,所述验证所述电子授权证书是否有效,具体包括:

验证当前日期是否超过了所述电子授权证书设定的有效期、验证当前部署容器云平台的服务器的cpu数量是否超过了所述电子授权证书设定的部署容器云平台的服务器的cpu的最大允许数量,和/或当前部署容器云平台的服务器的数量是否超过了所述电子授权证书设定的部署容器云平台的服务器的最大允许数量。

为实现上述发明目的,本发明还提供一种管理容器云平台授权证书的系统,包括:

密钥生成模块,用于生成密钥;

证书生成模块,用于根据所述密钥生成电子授权证书;

证书复制模块,用于将所述电子授权证书复制到部署容器云平台的服务器上;

证书验证模块,用于验证所述电子授权证书是否有效,若否则终止运行所述容器云平台。

进一步,所述容器云平台为kubernetes平台。

进一步,所述电子授权证书设定了所述电子授权证书的有效期、所述部署容器云平台的服务器的cpu的最大允许数量和/或所述部署容器云平台的服务器的最大允许数量。

进一步,所述证书验证模块,具体用于:

验证当前日期是否超过了所述电子授权证书设定的有效期、验证当前部署容器云平台的服务器的cpu数量是否超过了所述电子授权证书设定的部署容器云平台的服务器的cpu的最大允许数量、和/或当前部署容器云平台的服务器的数量是否超过了所述电子授权证书设定的部署容器云平台的服务器的最大允许数量。

附图说明

图1为本发明实施例提供的一种管理容器云平台授权证书的方法的流程图;

图2为本发明实施例提供的使用“管理容器云平台的授权证书的工具”的流程图;

图3为本发明实施例提供一种管理容器云平台授权证书的系统的结构框图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

图1为本发明实施例提供的一种管理容器云平台授权证书的方法的流程图,如图1所示,该方法包括:

s1、生成密钥;

s2、根据所述密钥生成电子授权证书;

s3、将所述电子授权证书复制到部署容器云平台的服务器上;

s4、验证所述电子授权证书是否有效,若否则终止运行所述容器云平台。

具体的,如图2所示,首先会通过“管理容器云平台的授权证书的工具”中的一个生成电子授权证书的工具来生成电子授权证书,生成证书的之前,使用同样的工具先创建一个企业密钥,然后根据这个密钥生成出一个电子授权证书,然后将生成出来的电子授权证书的公钥和授权证书放到服务器的制定位置文件中。

然后在kubernetes的代码中植入“管理容器云平台的授权证书的工具”中的一小部分代码,正常安装kubernetes平台即可,kubernetes平台就会根据电子授权证书的公钥和授权证书去判断是否是有效的证书等等工作。

本发明实施例提供的一种管理容器云平台授权证书的方法,通过在部署容器云平台的服务器上配置对应的电子授权证书,并对其进行验证,可以防止未经授权就使用容器云平台的情况发生,有力保护了开发公司的财产利益。

可选地,在该实施例中,所述电子授权证书设定了所述电子授权证书的有效期、所述部署容器云平台的服务器的cpu的最大允许数量和/或所述部署容器云平台的服务器的最大允许数量。

可选地,在该实施例中,步骤s4具体包括:

验证当前日期是否超过了所述电子授权证书设定的有效期、验证当前部署容器云平台的服务器的cpu数量是否超过了所述电子授权证书设定的部署容器云平台的服务器的cpu的最大允许数量,和/或当前部署容器云平台的服务器的数量是否超过了所述电子授权证书设定的部署容器云平台的服务器的最大允许数量。

图3为本发明实施例提供一种管理容器云平台授权证书的系统的结构框图,如图3所示,该系统包括:

密钥生成模块,用于生成密钥;

证书生成模块,用于根据所述密钥生成电子授权证书;

证书复制模块,用于将所述电子授权证书复制到部署容器云平台的服务器上;

证书验证模块,用于验证所述电子授权证书是否有效,若否则终止运行所述容器云平台。

可选地,在该实施例中,所述电子授权证书设定了所述电子授权证书的有效期、所述部署容器云平台的服务器的cpu的最大允许数量和/或所述部署容器云平台的服务器的最大允许数量。

可选地,在该实施例中,所述证书验证模块,具体用于:

验证当前日期是否超过了所述电子授权证书设定的有效期、验证当前部署容器云平台的服务器的cpu数量是否超过了所述电子授权证书设定的部署容器云平台的服务器的cpu的最大允许数量、和/或当前部署容器云平台的服务器的数量是否超过了所述电子授权证书设定的部署容器云平台的服务器的最大允许数量。

以下举例说明具体的实施方案:

环境说明:xxx公司购买容器云平台做实验环境,所购买的电子授权证书的有效期为365天,并且是按照1台服务器和32个cpu的价格购买的,该公司现在有一台服务器,工程师需要在该服务器上部署容器云平台。具体的工作步骤如下:

1、工程师首先需要创建一张电子授权证书。工程师使用“管理容器云平台的授权证书的工具”中的工具origin-license-manage来创建电子授权证书,运行命令:origin-license-managergenwuchunyang365"forwuchunyangtesting"-u-p32-n1,这条命令中的365代表了这个电子授权证书会在365天后过期,然后命令中的“-p32”是指这个电子授权证书允许为客户部署的容器云平台的服务器的cpu数量不能超过32个,举例说明:如果用户有1台服务器并且这台服务器上有cpu有64个,那么容器云平台会自动停止运行,因为电子授权证书只允许有32个。然后命令中的“-n1”是指这个电子授权证书允许为客户部署的容器云平台的服务器的数量不能超过1台,举例说明:如果用户有2台服务器,每台服务器有16个cpu,那么尽管总的cpu数量未超过32个,但服务器的数量2超过了电子授权证书中所允许的数量1,因此容器云平台会自动停止运行。最终以上命令会在特定的目录下生成2个文件99cloud-license-public-key(生成电子授权证书的凭证)、99cloud-license(电子授权证书),这样的2个文件是最终放到客户的要部署容器云平台的服务器上的,供容器云平台来验证证书。

2、工程师需要把这个2个文件拷贝到客户的服务器上的特定目录下。

3、在部署的时候不需要在植入代码了,因为容器云平台已经预先在特定的位置植入了代码,植入代码的时候只需要做一次即可不需要重复去做。

4、工程师正常部署我们公司的容器云平台。

5、安装完成后,代码会自动验证授权证书的有效期、集群的cpu数量、集群里的服务器的数量是否超过了授权证书里的cpu和服务器数量的限制。我们来阐述一下代码是如何认证的电子授权证书的,首先植入的代码会去读区特定目录(/etc/pki)的2个文件99cloud-license-public-key、99cloud-license把它们加载到程序的内存中然后通过方法解析证书,从证书中可以解析出当初通过命令行origin-license-managergenwuchunyang365"forwuchunyangtesting"-u-p32-n1中的cpu和服务器数和有效期等数据,然后代码通过当前日期去比较看电子授权证书是否过期,如果过期就让容器云平台退出执行,然后再去获取当前容器云平台的中一共有多少台服务器,然后和电子授权证书的允许的服务器数量对比,如果超过了电子授权证书的允许的服务器数量那么容器云平台退出执行,最后获取容器云平台的cpu总和然后去和电子授权证书的允许的cpu数量对比,如果超过了电子授权证书的允许的cpu数量那么容器云平台退出执行。反之如果一切正常容器云平台正常运行,反之容器云平台自动退出。

读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述系统中各个功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1