kubernetes集群节点镜像的构建方法及装置与流程

文档序号:23551529发布日期:2021-01-05 21:10阅读:92来源:国知局
kubernetes集群节点镜像的构建方法及装置与流程

本发明涉及计算机技术领域,尤其是涉及一种kubernetes集群节点镜像的构建方法及装置。



背景技术:

随着云计算技术的发展,越来越多场景运用到kubernetes集群,kubernetes是目前最流行的基于容器技术的开源paas平台,可以自动化编排容器应用,并且能够对容器应用进行全面的生命周期管理,还包括滚动升级和弹性伸缩等功能。

现有技术中,常使用rancher来进行管理和部署kubernetes集群,而rancher需要接入互联网才能正常工作,但私有云一般无法连接互联网,采用rancher部署kubernetes集群十分不便;另一方面自己搭建一个kubernetes镜像仓库,需要构建kubernetes镜像模板,过程比较复杂,耗费额外的时间和其他资源,部署效率不高。



技术实现要素:

本发明的目的在于提供一种kubernetes集群节点镜像的构建方法及装置,以解决私有云中用rancher部署kubernetes集群不便以及自主搭建kubernetes集群效率低下的技术问题。

第一方面,本发明提供一种kubernetes集群节点镜像的构建方法,包括:

同步互联网的kubernetes组件镜像到本地容器镜像仓库;

调用openstack的nova模块创建openstack的虚拟机;

利用虚拟机启动rancher代理服务,基于kubernetes组件镜像部署kubernetes集群;

调用openstack的虚拟机快照功能,对所述虚拟机进行快照。

进一步的,kubernetes组件镜像包括rancher服务容器镜像和rancher节点容器镜像。

进一步的,在同步互联网的kubernetes组件镜像到本地容器镜像仓库的步骤之后,还包括:

从本地取或本地容器镜像仓库拉取rancher服务容器镜像,创建rancher代理节点。

进一步的,调用openstack的nova模块创建openstack的虚拟机的步骤,包括:

根据输入参数调用openstack的nova模块,选择虚拟机的操作系统,并向所选的操作系统传入cloudinit的userdata脚本;

根据userdata脚本,安装docker引擎。

进一步的,利用虚拟机启动rancher代理服务,基于kubernetes组件镜像部署kubernetes集群的步骤,包括:

利用虚拟机命令rancher代理节点从本地容器镜像仓库获取kubernetes组件镜像,启动rancher代理服务;

rancher代理服务创建kubernetes集群。

可选的,调用openstack的虚拟机快照功能,对所述虚拟机进行快照的步骤,包括:

调用openstack的nova模块对rancher代理服务对应的虚拟机进行快照,生成虚拟机快照;

调用openstack的glance模块将虚拟机快照下载到本地指定目录中,将虚拟机快照作为模板上传到云平台进行kubernetes集群搭建。

进一步的,虚拟机的操作系统包括linux、centos、ubuntu或redhat。

可选的,rancher代理服务创建kubernetes集群的步骤之后,还包括:部署kubernetes集群、向rancher服务注册自己的信息、报告kubernetes集群部署的状态和进展。

第二方面,本发明还提供一种kubernetes集群节点镜像的构建装置,包括:

同步模块,用于同步互联网的kubernetes组件镜像到本地容器镜像仓库;

编排模块,用于调用openstack的nova模块创建openstack的虚拟机;利用虚拟机启动rancher代理服务,基于kubernetes组件镜像部署kubernetes集群;调用openstack的虚拟机快照功能,对所述虚拟机进行快照。

第三方面,本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任意一项所述的方法的步骤。

本发明能够达到以下有益效果:本发明提供一种kubernetes集群节点镜像的构建方法,通过同步互联网的kubernetes组件镜像到本地容器镜像仓库以及创建虚拟机,通过虚拟机搭建kubernetes集群,简化kubernetes集群搭建流程,可以实现一键搭建的流程。通过快照功能可进行kubernetes集群的还原,将快照上传至云平台即可实现不需要通过网络即可搭建私有云kubernetes集群。从而解决了私有云采用rancher部署kubernetes集群十分不便以及自助搭建kubernetes集群流程复杂,部署效率不高的技术问题。

相应地,本发明实施例提供的一种kubernetes集群节点镜像的构建装置及计算机可读存储介质,也同样具有上述技术效果。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施一例提供的kubernetes集群节点镜像的构建方法的流程图;

图2为本发明实施一里提供的kubernetes集群节点镜像的构建的具体流程图;

图3为本发明实施二里提供的kubernetes集群节点镜像的构建装置示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例一:

如图1所示,本发明提供一种kubernetes集群节点镜像的构建方法包括:

s1:同步互联网的kubernetes组件镜像到本地容器镜像仓库。

s2:调用openstack的nova模块创建openstack的虚拟机。

s3:利用虚拟机启动rancher代理服务,基于kubernetes组件镜像部署kubernetes集群。

s4:调用openstack的虚拟机快照功能,对所述虚拟机进行快照。

通过同步互联网的kubernetes组件镜像到本地容器镜像仓库以及创建虚拟机,通过虚拟机搭建kubernetes集群,简化kubernetes集群搭建流程,可以实现一键搭建的流程。通过快照功能可进行kubernetes集群的还原,将快照上传至云平台即可实现不需要通过网络即可搭建私有云kubernetes集群,从而简化大连流程,提高部署效率。

kubernetes组件镜像包括rancher服务容器镜像和rancher节点容器镜像。

在一种可能的实施方式中,在上述步骤s1之后,还包括:

从本地取或本地容器镜像仓库拉取rancher服务容器镜像,创建rancher代理节点。

通过下载到本地仓库,可以实现不需要网络即可随时从本地取或本地容器镜像仓库拉取rancher服务容器镜像,创建rancher代理节点,便于rancher代理服务的启动。

在一种可能的实施方式中,在上述步骤s2之后,还包括:

根据输入参数调用openstack的nova模块,选择虚拟机的操作系统,并向所选的操作系统传入cloudinit的userdata脚本;

根据userdata脚本,安装docker引擎。

通过创建虚拟机来搭建kubernetes网络集群,可以简化搭建kubernetes网络集群流程,通过安装docker为虚拟机搭载引擎,提供快速构建容器镜像以及快速发布容器应用的能力,可以更加快捷搭建kubernetes集群。

利用虚拟机启动rancher代理服务,基于kubernetes组件镜像部署kubernetes集群的步骤,包括:

在一种可能的实施方案中,在上述步骤s3之后,还包括:

使用rancher代理节点,简化rancher代理的启动,从而简化kubernetes集群的搭建过程。

进一步的,在上述步骤s4之后,还包括:

调用openstack的glance模块将虚拟机快照下载到本地指定目录中,将虚拟机快照作为模板上传到云平台进行kubernetes集群搭建。

快照可进行虚拟机系统以及kubernetes集群的还原,将快照上传到云平台可以达到快捷搭建kubernetes集群的作用。

虚拟机的操作系统可以是linux、centos、ubuntu或redhat。

可以兼容多种操作系统,不会因为操作系统的改变而无法正常工作。

rancher代理服务创建kubernetes集群的步骤之后,还包括:部署kubernetes集群、向rancher服务注册自己的信息、报告kubernetes集群部署的状态和进展。

通过向rancher服务注册自己的信息、报告kubernetes集群部署的状态和进展,便于本地的rancher服务管理kubernetes集群。

如图2所示,上述实施方法可具体包括:

s21把公网的kubernetes容器镜像下载到本地,包括rancherserver容器镜像和ranchernode安装kubernetes所使用到的所有kubernetes组件容器镜像。

s22把下载的容器镜像推送到本地的容器镜像仓库harbor上。

s23根据输入的参数rancher_version创建对应版本的rancherserver服务,检查rancherserver对应的容器镜像是否已经在本地存在,不存在则从本地harbor镜像仓库拉取rancherserver镜像到编排模块本地。rancherserver服务就绪后,创建一个kubernetes集群,并创建一个node,该node部署kubernetes集群的所有组件,分配角色为etcd、master和worker,并获取一个部署命令。

s24调用openstacknova模块创建虚拟机,根据输入参数os_type选择虚拟机的基础操作系统,并传入cloudinit的userdata脚本。根据userdata的脚本,先安装docker软件,然后执行部署命令

s25部署命令开始执行后,启动rancheragent服务。开始进行部署kubernetes集群,并向rancherserver注册自己的信息,并时刻报告该集群部署的状态和进展。

s26调用openstacknova接口给rancher-agent对应的虚拟机进行快照操作。

s27调用openstackglance对快照定时检查,查看快照是否完成,如果完成则进行下载,把虚拟机快照即模板下载到指定目录中.

s28将该虚拟机模板上传到云平台进行kubernetes集群搭建。

实施例二:

本发明还提供一种kubernetes集群节点镜像的构建装置,如图3所示,包括:

同步模块,用于同步互联网的kubernetes组件镜像到本地容器镜像仓库;

编排模块,用于调用openstack的nova模块创建openstack的虚拟机;利用虚拟机启动rancher代理服务,基于kubernetes组件镜像部署kubernetes集群;调用openstack的虚拟机快照功能,对所述虚拟机进行快照。

实施例三:

本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例提供的方法的步骤。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

本发明实施例所提供的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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