一种cloudinit的kubernetes集群自动部署方法、装置及存储介质制造方法及图纸

技术编号:39062286 阅读:19 留言:0更新日期:2023-10-12 19:55
本发明专利技术公开一种cloudinit的kubernetes集群自动部署方法、装置及存储介质,在基础kubernetes集群的虚机上部署fileserver文件服务器及kvm

【技术实现步骤摘要】
一种cloudinit的kubernetes集群自动部署方法、装置及存储介质


[0001]本专利技术涉及云领域,尤其是一种cloudinit的kubernetes集群自动部署方法、装置及存储介质。

技术介绍

[0002]目前市场上的容器云资源池部署kubernetes集群都是通过开源组件kubespray、magnum或者自己开发的ansible脚本来部署kubernetes集群。在使用这些技术过程中,只能分为两步创建虚机和部署kubernetes集群,即先创建虚机,然后再进行集群部署,部署kubernetes集群的效率低,复杂度高。

技术实现思路

[0003]有鉴于此,为了解决上述技术问题的至少之一,本专利技术的目的是提供一种cloudinit的kubernetes集群自动部署方法、装置及存储介质,提高集群部署的效率以及降低复杂度。
[0004]本专利技术实施例提供了一种cloudinit的kubernetes集群自动部署方法,包括:
[0005]响应于部署指令,部署基础kubernetes集群、在所述基础kubernetes集群的虚机上部署fileserver文件服务器以及部署kvm

controller服务;所述fileserver文件服务器中包括脚本以及初始化依赖文件;
[0006]响应于集群创建指令,通过所述kvm

controller服务获取传入的metadata参数以及待构建kubernetes集群的自定义资源,根据所述自定义资源顺序在所述待构建kubernetes集群中创建master虚机;
[0007]启动所述master虚机,通过所述master虚机自动执行cloudinit下载并执行所述脚本以自动下载所述初始化依赖文件,并对所述metadata参数进行解码得到执行命令,根据所述执行命令以及所述初始化依赖文件对所述master虚机进行初始化得到初始化master节点,根据所述初始化master节点得到目标kubernetes集群。
[0008]进一步,所述部署kvm

controller服务之前,还包括:
[0009]进行etcd集群的部署;所述etcd集群用于响应于集群创建指令,将metadata参数、所述自定义资源以及所述待构建kubernetes集群的集群信息写入所述etcd集群中。
[0010]进一步,所述进行etcd集群的部署之后还包括:
[0011]部署harbor镜像服务;所述harbor镜像服务用于提供创建所述master虚机依赖的镜像。
[0012]进一步,所述根据所述初始化master节点得到目标kubernetes集群,包括:
[0013]当得到所述初始化master节点,将当前所述待构建kubernetes集群的token信息返回给所述kvm

controller服务;
[0014]通过所述kvm

controller服务更新所述etcd集群中的自定义资源;
[0015]根据更新后的自定义资源返回所述根据所述自定义资源顺序创建master虚机的步骤,直至得到所有初始化master节点形成第一集群,根据所述第一集群得到目标kubernetes集群。
[0016]进一步,所述根据所述第一集群得到目标kubernetes集群,包括:
[0017]当得到所述第一集群,将当前所述待构建kubernetes集群的token信息返回给所述kvm

controller服务;
[0018]通过所述kvm

controller服务再次更新所述etcd集群中的自定义资源;
[0019]当所述kvm

controller服务检测到再次更新的自定义资源,创建node节点以及对应的新虚机;
[0020]启动所述新虚机,通过所述新虚机自动执行cloudinit下载并执行所述脚本以自动下载所述初始化依赖文件,并对所述metadata参数进行解码得到新的执行命令,根据所述新的执行命令以及所述初始化依赖文件对所述新虚机进行初始化得到初始化node节点并加入第二集群中,并将当前所述待构建kubernetes集群的token信息返回给所述kvm

controller服务最后更新所述etcd集群中的自定义资源,根据所述第一集群以及所述第二集群得到目标kubernetes集群。
[0021]进一步,所述部署kvm

controller服务,包括:
[0022]进行自定义资源定义的定义文件的编写;
[0023]进行kvm

controller的镜像和代码的编写;
[0024]部署kvm

controller到所述基础kubernetes集群并部署自定义资源定义对象;所述kvm

controller服务提供创建master虚机的接口以及所述待构建kubernetes集群的生命周期rest接口。
[0025]进一步,所述根据所述自定义资源顺序在所述待构建kubernetes集群中创建master虚机,包括:
[0026]通过所述kvm

controller服务根据所述自定义资源顺序调用云服务在所述待构建kubernetes集群中创建所述master虚机。
[0027]本专利技术实施例还提供一种cloudinit的kubernetes集群自动部署装置,包括:
[0028]部署模块,用于响应于部署指令,部署基础kubernetes集群、在所述基础kubernetes集群的虚机上部署fileserver文件服务器以及部署kvm

controller服务;所述fileserver文件服务器中包括脚本以及初始化依赖文件;
[0029]创建模块,用于响应于集群创建指令,通过所述kvm

controller服务获取传入的metadata参数以及虚机的自定义资源,根据所述自定义资源顺序创建master虚机;
[0030]执行模块,用于启动所述master虚机,通过所述master虚机自动执行cloudinit下载并执行所述脚本以自动下载所述初始化依赖文件,并对所述metadata参数进行解码得到执行命令,根据所述执行命令以及所述初始化依赖文件对所述master虚机进行初始化得到初始化master节点,根据所述初始化master节点得到目标kubernetes集群。
[0031]本专利技术实施例还提供一种cloudinit的kubernetes集群自动部署装置,所述cloudinit的kubernetes集群自动部署装置包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种cloudinit的kubernetes集群自动部署方法,其特征在于,包括:响应于部署指令,部署基础kubernetes集群、在所述基础kubernetes集群的虚机上部署fileserver文件服务器以及部署kvm

controller服务;所述fileserver文件服务器中包括脚本以及初始化依赖文件;响应于集群创建指令,通过所述kvm

controller服务获取传入的metadata参数以及待构建kubernetes集群的自定义资源,根据所述自定义资源顺序在所述待构建kubernetes集群中创建master虚机;启动所述master虚机,通过所述master虚机自动执行cloudinit下载并执行所述脚本以自动下载所述初始化依赖文件,并对所述metadata参数进行解码得到执行命令,根据所述执行命令以及所述初始化依赖文件对所述master虚机进行初始化得到初始化master节点,根据所述初始化master节点得到目标kubernetes集群。2.根据权利要求1所述cloudinit的kubernetes集群自动部署方法,其特征在于:所述部署kvm

controller服务之前,还包括:进行etcd集群的部署;所述etcd集群用于响应于集群创建指令,将metadata参数、所述自定义资源以及所述待构建kubernetes集群的集群信息写入所述etcd集群中。3.根据权利要求2所述cloudinit的kubernetes集群自动部署方法,其特征在于:所述进行etcd集群的部署之后还包括:部署harbor镜像服务;所述harbor镜像服务用于提供创建所述master虚机依赖的镜像。4.根据权利要求2所述cloudinit的kubernetes集群自动部署方法,其特征在于:所述根据所述初始化master节点得到目标kubernetes集群,包括:当得到所述初始化master节点,将当前所述待构建kubernetes集群的token信息返回给所述kvm

controller服务;通过所述kvm

controller服务更新所述etcd集群中的自定义资源;根据更新后的自定义资源返回所述根据所述自定义资源顺序创建master虚机的步骤,直至得到所有初始化master节点形成第一集群,根据所述第一集群得到目标kubernetes集群。5.根据权利要求4所述cloudinit的kubernetes集群自动部署方法,其特征在于:所述根据所述第一集群得到目标kubernetes集群,包括:当得到所述第一集群,将当前所述待构建kubernetes集群的token信息返回给所述kvm

controller服务;通过所述kvm

controller服务再次更新所述etcd集群中的自定义资源;当所述kvm

controller服务检测到再次更新的自定义资源,创建node节点以及对应的新虚机;启动所述新虚机,通过所述新虚机自动执行cloudinit下载并执行所述脚本以自动下载所述初始化依赖文件,并对所述metadata参数进行解码得到新的执...

【专利技术属性】
技术研发人员:罗慰喻凯林财龙邹国栋
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1