一种自动化部署分布式数据服务的方法及系统与流程
未命名
08-02
阅读:80
评论:0

1.本发明涉及数据服务部署领域,具体提供一种自动化部署分布式数据服务的方法及系统。
背景技术:
2.我国为积促进能源行业及相关工业转型升级,实现能源行业的数字化升级。在此背景下,浪潮基于开务数据库,打造数字化能源数据服务。此数据服务定位于为物联网系统提供从边端到云端完整的数据服务,其分布式数据服务架构如图4所示,实现多end端数据采集,edge端数据入库的多节点分布式数据服务。
3.然而在大规模分布式数据服务的部署过程中,由于主从节点运行环境的不同,部署过程繁琐而复杂,需要后期投入大量的人力。
技术实现要素:
4.本发明是针对上述现有技术的不足,提供一种实用性强的自动化部署分布式数据服务的方法。
5.本发明进一步的技术任务是提供一种设计合理,安全适用的自动化部署分布式数据服务的系统。
6.本发明解决其技术问题所采用的技术方案是:
7.一种自动化部署分布式数据服务的方法,数据服务平台基于ansible自动化部署通过ansible的get_url、docker以及script三个模块来实现,所述get_url模块负责kubernetes集群的部署,通过ansible palybook部署k8s master及work node;
8.所述docker模块负责数据服务依赖的开源组件及自研数据服务组件的镜像部署,创建容器服务;
9.所述script模块负责启动自研数据服务组件,实现数据服务之间的连接和控制,并执行主机上的脚本来现对各节点的监测。
10.进一步的,kubernetes集群部署为自动化部署,所述ansible通过创建playbook文件,完成数据服务edge端即kubernetes master节点kubectl、kubeadm、kubelet以及flannel的安装部署。
11.进一步的,对于数据服务的end端,将初始化处理提前写入脚本,在playbook中通过script模块执行,最后,在master节点通过ansible的shell模块查看加入到集群的节点情况,并检查status是否为ready状态。
12.进一步的,数据服务依赖组件的自动化部署,通过ansible的docker模块实现数据服务各个节点不同依赖组件的部署;
13.其过程为,首先通过ansible的copy模块将主机的docker-compose.yml及组件的配置文件分发到各个节点,然后便可使用ansible-playbook来实现对各个组件的部署。
14.进一步的,所述分布式数据服务的启动,首先,通过ansible的script模块执行数
据服务组件openkdp启动脚本,随着openkdp的启动,会自动创建与各个开源依赖组件的连接,并实现多节点下组件的控制,完成一键启动。
15.进一步的,所述分布式数据服务的运行状态检查时,script模块执行主机的组件状态检查脚本,实现对于多节点各个组件的启动及运行状态的实时监测;
16.另外,用户或通过自行接入docker容器的可视化监测工具,从而实现对各个组件运行过程中的资源占用及状态进行实时监控和可视化分析。
17.一种自动化部署分布式数据服务的系统,数据服务平台基于ansible自动化部署通过ansible的get_url、docker以及script三个模块来实现,所述get_url模块负责kubernetes集群的部署,通过ansible palybook部署k8s master及work node;
18.所述docker模块负责数据服务依赖的开源组件及自研数据服务组件的镜像部署,创建容器服务;
19.所述script模块负责启动自研数据服务组件,实现数据服务之间的连接和控制,并执行主机上的脚本来现对各节点的监测。
20.进一步的,kubernetes集群部署为自动化部署,所述ansible通过创建playbook文件,完成数据服务edge端即kubernetes master节点kubectl、kubeadm、kubelet以及flannel的安装部署。
21.进一步的,对于数据服务的end端,将初始化处理提前写入脚本,在playbook中通过script模块执行,最后,在master节点通过ansible的shell模块查看加入到集群的节点情况,并检查status是否为ready状态。
22.进一步的,所述分布式数据服务的启动,首先,通过ansible的script模块执行数据服务组件openkdp启动脚本,随着openkdp的启动,会自动创建与各个开源依赖组件的连接,并实现多节点下组件的控制,完成一键启动;
23.分布式数据服务的运行状态检查时,script模块执行主机的组件状态检查脚本,实现对于多节点各个组件的启动及运行状态的实时监测;
24.另外,用户或通过自行接入docker容器的可视化监测工具,从而实现对各个组件运行过程中的资源占用及状态进行实时监控和可视化分析。
25.本发明的一种自动化部署分布式数据服务的方法及系统和现有技术相比,具有以下突出的有益效果:
26.本发明通过使用ansible实现分布式数据服务平台的自动化部署,能够极大地降低了部署流程的复杂性,有效地降低运维投入的成本。
27.能够实现分布式数据服务的一键启动并对服务状态执行检查,有效地监控赖组件的运行状态,用户在edge端便能够实现对整个集群状态的监测。
28.另外,该方法中用户还可自行接入docker容器的可视化监控工具(例如,prometheus+grafana),对各组件运行状态及资源占用情况进行可视化分析。
附图说明
29.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
这些附图获得其他的附图。
30.附图1是一种自动化部署分布式数据服务的方法中整体自动化部署流程示意图;
31.附图2是一种自动化部署分布式数据服务的方法中kubernetes集群自动化部署流程示意图;
32.附图3是一种自动化部署分布式数据服务的方法中数据服务依赖组件自动化部署流程示意图;
33.附图4是一种自动化部署分布式数据服务的方法中现有技术流程示意图。
具体实施方式
34.为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
35.下面给出一个最佳实施例:
36.如图1所示,本实施例中的一种自动化部署分布式数据服务的方法,数据服务平台基于ansible自动化部署通过ansible的get_url、docker以及script三个模块来实现,所述get_url模块负责kubernetes集群的部署,通过ansible palybook部署k8s master及work node;
37.docker模块负责数据服务依赖的开源组件及自研数据服务组件的镜像部署,创建容器服务;
38.script模块负责启动自研数据服务组件,实现数据服务之间的连接和控制,并执行主机上的脚本来现对各节点的监测。
39.如图2所示,kubernetes集群部署为自动化部署,所述ansible通过创建playbook文件,完成数据服务edge端即kubernetes master节点kubectl、kubeadm、kubelet以及flannel的安装部署。
40.对于数据服务的end端(kubernetes work节点),将初始化处理提前写入脚本,在playbook中通过script模块执行,最后,在master节点通过ansible的shell模块查看加入到集群的节点情况,并检查status是否为ready状态。
41.如图3所示,数据服务依赖组件的自动化部署,通过ansible的docker模块实现数据服务各个节点不同依赖组件的部署;
42.其过程为,首先通过ansible的copy模块将主机的docker-compose.yml及组件的配置文件分发到各个节点,然后便可使用ansible-playbook来实现对各个组件的部署。
43.分布式数据服务的启动,首先,通过ansible的script模块执行数据服务组件openkdp启动脚本,随着openkdp的启动,会自动创建与各个开源依赖组件的连接,并实现多节点下组件的控制,完成一键启动。
44.分布式数据服务的运行状态检查时,script模块执行主机的组件状态检查脚本,实现对于多节点各个组件的启动及运行状态的实时监测;
45.另外,用户或通过自行接入docker容器的可视化监测工具,从而实现对各个组件运行过程中的资源占用及状态进行实时监控和可视化分析。
46.基于上述方法,本实施例中的一种自动化部署分布式数据服务的系统,数据服务平台基于ansible自动化部署通过ansible的get_url、docker以及script三个模块来实现,所述get_url模块负责kubernetes集群的部署,通过ansible palybook部署k8s master及work node;
47.docker模块负责数据服务依赖的开源组件及自研数据服务组件的镜像部署,创建容器服务;
48.script模块负责启动自研数据服务组件,实现数据服务之间的连接和控制,并执行主机上的脚本来现对各节点的监测。
49.kubernetes集群部署为自动化部署,所述ansible通过创建playbook文件,完成数据服务edge端即kubernetes master节点kubectl、kubeadm、kubelet以及flannel的安装部署。
50.对于数据服务的end端,将初始化处理提前写入脚本,在playbook中通过script模块执行,最后,在master节点通过ansible的shell模块查看加入到集群的节点情况,并检查status是否为ready状态。
51.其中,分布式数据服务的启动,首先,通过ansible的script模块执行数据服务组件openkdp启动脚本,随着openkdp的启动,会自动创建与各个开源依赖组件的连接,并实现多节点下组件的控制,完成一键启动;
52.分布式数据服务的运行状态检查时,script模块执行主机的组件状态检查脚本,实现对于多节点各个组件的启动及运行状态的实时监测;
53.另外,用户或通过自行接入docker容器的可视化监测工具,从而实现对各个组件运行过程中的资源占用及状态进行实时监控和可视化分析。
54.上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种自动化部署分布式数据服务的方法及系统权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
55.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
技术特征:
1.一种自动化部署分布式数据服务的方法,其特征在于,数据服务平台基于ansible自动化部署通过ansible的get_url、docker以及script三个模块来实现,所述get_url模块负责kubernetes集群的部署,通过ansible palybook部署k8s master及work node;所述docker模块负责数据服务依赖的开源组件及自研数据服务组件的镜像部署,创建容器服务;所述script模块负责启动自研数据服务组件,实现数据服务之间的连接和控制,并执行主机上的脚本来现对各节点的监测。2.根据权利要求1所述的一种自动化部署分布式数据服务的方法,其特征在于,kubernetes集群部署为自动化部署,所述ansible通过创建playbook文件,完成数据服务edge端即kubernetes master节点kubectl、kubeadm、kubelet以及flannel的安装部署。3.根据权利要求2所述的一种自动化部署分布式数据服务的方法,其特征在于,对于数据服务的end端,将初始化处理提前写入脚本,在playbook中通过script模块执行,最后,在master节点通过ansible的shell模块查看加入到集群的节点情况,并检查status是否为ready状态。4.根据权利要求3所述的一种自动化部署分布式数据服务的方法,其特征在于,数据服务依赖组件的自动化部署,通过ansible的docker模块实现数据服务各个节点不同依赖组件的部署;其过程为,首先通过ansible的copy模块将主机的docker-compose.yml及组件的配置文件分发到各个节点,然后便可使用ansible-playbook来实现对各个组件的部署。5.根据权利要求4所述的一种自动化部署分布式数据服务的方法,其特征在于,所述分布式数据服务的启动,首先,通过ansible的script模块执行数据服务组件openkdp启动脚本,随着openkdp的启动,会自动创建与各个开源依赖组件的连接,并实现多节点下组件的控制,完成一键启动。6.根据权利要求4所述的一种自动化部署分布式数据服务的方法,其特征在于,所述分布式数据服务的运行状态检查时,script模块执行主机的组件状态检查脚本,实现对于多节点各个组件的启动及运行状态的实时监测;另外,用户或通过自行接入docker容器的可视化监测工具,从而实现对各个组件运行过程中的资源占用及状态进行实时监控和可视化分析。7.一种自动化部署分布式数据服务的系统,其特征在于,数据服务平台基于ansible自动化部署通过ansible的get_url、docker以及script三个模块来实现,所述get_url模块负责kubernetes集群的部署,通过ansible palybook部署k8s master及work node;所述docker模块负责数据服务依赖的开源组件及自研数据服务组件的镜像部署,创建容器服务;所述script模块负责启动自研数据服务组件,实现数据服务之间的连接和控制,并执行主机上的脚本来现对各节点的监测。8.根据权利要求7所述的一种自动化部署分布式数据服务的系统,其特征在于,kubernetes集群部署为自动化部署,所述ansible通过创建playbook文件,完成数据服务edge端即kubernetes master节点kubectl、kubeadm、kubelet以及flannel的安装部署。9.根据权利要求8所述的一种自动化部署分布式数据服务的系统,其特征在于,对于数
据服务的end端,将初始化处理提前写入脚本,在playbook中通过script模块执行,最后,在master节点通过ansible的shell模块查看加入到集群的节点情况,并检查status是否为ready状态。10.根据权利要求9所述的一种自动化部署分布式数据服务的系统,其特征在于,所述分布式数据服务的启动,首先,通过ansible的script模块执行数据服务组件openkdp启动脚本,随着openkdp的启动,会自动创建与各个开源依赖组件的连接,并实现多节点下组件的控制,完成一键启动;分布式数据服务的运行状态检查时,script模块执行主机的组件状态检查脚本,实现对于多节点各个组件的启动及运行状态的实时监测;另外,用户或通过自行接入docker容器的可视化监测工具,从而实现对各个组件运行过程中的资源占用及状态进行实时监控和可视化分析。
技术总结
本发明涉及数据服务部署领域,具体提供了一种自动化部署分布式数据服务的方法及系统,数据服务平台基于ansible自动化部署通过ansible的get_url、docker以及script三个模块来实现,get_url模块负责kubernetes集群的部署,通过ansible palybook部署k8smaster及work node;docker模块负责数据服务依赖的开源组件及自研数据服务组件的镜像部署,创建容器服务;script模块负责启动自研数据服务组件,实现数据服务之间的连接和控制,并执行主机上的脚本来现对各节点的监测。与现有技术相比,本发明通过使用ansible实现分布式数据服务平台的自动化部署,能够极大地降低了部署流程的复杂性,有效地降低运维投入的成本。有效地降低运维投入的成本。有效地降低运维投入的成本。
技术研发人员:李新志 金宁
受保护的技术使用者:上海沄熹科技有限公司
技术研发日:2023.04.13
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/