1.本发明涉及服务器技术领域,尤其是指一种云平台趋势预测服务容器化部署方法、装置及存储介质。
背景技术:
2.openstack是一个由nasa(美国国家航空航天局)和rackspace合作研发并发起的以apache许可证授权的自由软件和开放源代码项目。openstack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。openstack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。openstask经过多年的发展,其技术已日趋成熟和稳定,在提供高可用的同时,也具有灵活的可扩展性,因此,openstack在各行各业得到了广泛的应用。
3.openstack往往需要根据业务的诉求对未来的容量做出合理的规划,包括扩容的预测,缩容的预测等。现有技术的云平台趋势预测基本采用人工预测的方式,但运维人员的能力存在差异,使得预测结果不尽人意。
技术实现要素:
4.为了解决上述技术问题,本发明提供了一种云平台趋势预测服务容器化部署方法、装置及存储介质,可以提高容量预测的效率和精确性。
5.为实现上述目的,本技术提出第一技术方案:
6.一种云平台趋势预测服务容器化部署方法,所述方法包括以下步骤:
7.s1,构建与kolla-ansible相适配的predict服务的容器镜像,其中predict服务用于对云平台监控数据库进行预测;
8.s2,将predict服务的容器镜像推送至云平台镜像仓库;
9.s3,修改kolla-ansible的相关代码以实现对predict服务的支持;
10.s4,启动云平台镜像仓库中的predict服务的容器镜像,以启动predict服务。
11.在本发明的一个实施例中,所述构建与kolla-ansible相适配的predict服务的容器镜像,具体包括以下步骤:
12.选取centos8.2作为容器基础镜像;
13.安装预测算法库;
14.安装predict服务代码,形成predict服务的容器镜像。
15.在本发明的一个实施例中,所述修改kolla-ansible的相关代码实现对predict服务的支持,具体包括以下步骤:
16.将predict服务的相关字段添加到相关文件中;
17.在角色目录下增加predict服务的镜像容器的启动配置。
18.在本发明的一个实施例中,所述相关文件包括kolla-ansible的全局控制文件、主机清单文件和文件模块入口文件。
ansible支持predict服务的部署,接着便可以启动云平台镜像仓库中的predict服务的容器镜像,以启动predict服务对容量进行预测,提高了容量预测的效率和精确性。
附图说明
44.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
45.图1是本发明的云平台趋势预测服务容器化部署方法的第一方法流程图;
46.图2是本发明的云平台趋势预测服务容器化部署方法的第二方法流程图;
47.图3是本发明的云平台趋势预测服务容器化部署方法的第三方法流程图;
48.图4是本发明的云平台趋势预测服务容器化部署装置的装置结构图。
具体实施方式
49.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
50.实施例一:
51.参照图1所示,图1为本发明云平台趋势预测服务容器化部署方法的第一方法流程图,具体包括以下步骤:
52.s1,构建与kolla-ansible相适配的predict容器镜像;
53.在云平台趋势预测服务容器化部署方法中,openstack往往需要根据业务的诉求对未来的容量做出合理的规划,包括扩容的预测,缩容的预测等。现有技术的云平台趋势预测基本采用人工预测的方式,但运维人员的能力存在差异,使得预测结果不尽人意。因此,本发明提出一种云平台趋势预测服务容器化部署方法,要想实现容量的预测,则先要构建与kolla-ansible相适配的predict服务的容器镜像,以便于通过kolla-ansible部署predict服务。
54.s2,将predict容器镜像推送至云平台仓库;
55.构建好predict容器镜像后,还需要将predict容器镜像推送到openstack环境对应的云平台仓库中,以便于kolla-ansible可以支持部署predict服务。
56.s3,修改kolla-ansible的相关代码以实现对predict服务的支持;
57.将predict容器镜像推送到openstack环境对应的云平台仓库后,还需要修改kolla-ansible的相关代码,以便于kolla-ansible可以支持部署predict服务。
58.s4,启动云平台仓库中的predict容器镜像,以启动predict服务进行容量预测。
59.在将predict容器镜像推送至云平台仓库且修改kolla-ansible的相关代码后,启动云平台仓库中的predict容器镜像,以便于启动predict服务,对服务器的容量进行预测。
60.在其中一个实施方式中,构建与kolla-ansible相适配的predict容器镜像,具体包括以下步骤:
61.选取centos8.2作为容器基础镜像;
62.构建与kolla-ansible适配的predict容器镜像需要选取基础镜像,在基础镜像的基础之上搭建predict容器镜像,以便于kolla-ansible可以支持部署predict服务。
63.安装预测算法库;
64.算法用于对云平台监控数据库进行解析,以便于进行容量预测,在predict服务的容器镜像中安装多种预测算法,一般的,算法库包括holt-winters、arima、stl三种算法,也可以根据实际情况安装其它的算法,通过多种算法对比的方法,增加了预测数据的准确性。
65.安装predict服务代码,构建predict服务的容器镜像。
66.安装predict服务代码,以构建predict服务的容器镜像,以便于通过kolla-ansible部署predict服务。
67.在其中一个实施方式中,修改kolla-ansible的相关代码实现对predict服务的支持,具体包括以下步骤:
68.将predict服务的相关字段添加到相关文件中;
69.将predict服务的相关字段添加到相关文件中,以便于kolla-ansible可以支持部署predict服务。
70.在角色目录下增加predict服务的容器镜像的启动配置。
71.在kolla-ansible的角色目录(role)下增加predict服务的容器镜像的启动配置,其中,具体需要增加的启动配置可以根据实际情况确定。
72.在其中一个实施方式中,相关文件包括kolla-ansible的全局控制文件、主机清单文件和文件模块入口文件。
73.在kolla-ansible的全局控制文件(globals.yml)中增加predict服务的相关字段,其中,全局控制文件(globals.yml)可以控制是否在集群中部署predict服务,具体字段可以为:enable_predict:“yes”,其中,predict是predict服务的名称;在kolla-ansible的主机文件清单(multinode和all-in-one)中增加predict服务的相关字段,其中,主机文件清单(multinode和all-in-one)实现在单节点和多节点环境的支持,指定predict服务部署的节点;在kolla-ansible的文件模块入口文件(site.yml)中增加predict服务的相关字段,以便将predict服务包含到ansible工程中,其中,文件模块入口文件(site.yml)实现指定predict模块在整个云平台服务部署的次序。
74.在其中一个实施方式中,启动云平台镜像仓库中的predict服务的容器镜像,具体包括以下步骤:
75.在开启云平台趋势预测服务容器化部署时,首先判断是否需要部署predict服务;
76.如果不需要部署predict服务,则直接进行其他服务的部署;
77.如果需要部署predict服务,则从云平台仓库中获取到predict服务的容器镜像,并启动predict服务的容器镜像。
78.在开启云平台趋势预测服务容器化部署时,首先判断是否需要部署predict服务;如果不需要部署predict服务,则直接进行其他服务的部署;如果需要部署predict服务,则从云平台镜像仓库中获取到predict服务的容器镜像,并启动predict服务的容器镜像,以便于后续启动predict服务。
79.在其中一个实施方式中,启动predict容器镜像后,具体包括以下步骤:
80.判断云平台监控数据库服务是否已部署;如果云平台监控数据库服务没有部署,则部署云平台监控数据库服务;如果云平台监控数据库服务已部署,则解析multinode文件,链接云平台监控数据库,确保predict服务在特定标签的服务器上运行;
81.映射keystone端口访问kolla-ansible的配置文件,创建predict模块的endpoint;
82.映射keystone端口访问kolla-ansible的配置文件,以进行信息认证,并在信息认证成功后,才能进行predict服务启动,创建predict模块的endpoint,确保与openstack上其他模块的通信,以便于在趋势预测时也能获取其他模块的状态。
83.启动predict服务,调取smape模型,得到预测结果。
84.启动predict服务,利用smape模型综合holt-winters、arima和stl三个算法进行分析得到一个最优的smape评分,得到最佳预测结果。
85.实施例二:
86.参照图2所示,图2为本发明云平台趋势预测服务容器化部署方法的第二方法流程图,具体包括以下步骤:
87.在kolla-ansible的全局控制文件(globals.yml)中增加predict服务的相关字段,其中,全局控制文件(globals.yml)可以控制是否在集群中部署predict服务,具体字段可以为:enable_predict:“yes”,其中,predict是predict服务的名称;
88.在kolla-ansible的主机文件清单(multinode和all-in-one)中增加predict服务的相关字段,其中,主机文件清单(multinode和all-in-one)实现在单节点和多节点环境的支持,指定predict服务部署的节点;
89.在kolla-ansible的文件模块入口文件(site.yml)中增加predict服务的相关字段,以便将predict服务包含到ansible工程中,其中,文件模块入口文件(site.yml)实现指定predict模块在整个云平台服务部署的次序;
90.在kolla-ansible的角色目录(role)下增加predict服务的容器镜像的启动配置,其中,具体需要增加的启动配置可以根据实际情况确定。
91.实施例三:
92.参照图3所示,图3为本发明云平台趋势预测服务容器化部署方法的第三方法流程图,具体包括以下步骤:
93.在开启云平台趋势预测服务容器化部署时,首先判断是否需要部署predict服务,如果不需要部署predict服务,则直接进行其他服务的部署;如果需要部署predict服务,则从云平台镜像仓库中获取到predict服务的容器镜像,并启动predict服务的容器镜像,以便于后续启动predict服务;
94.启动predict容器镜像后,判断云平台监控数据库服务是否已部署;如果云平台监控数据库服务没有部署,则部署云平台监控数据库服务;如果云平台监控数据库服务已部署,则解析multinode文件,链接云平台监控数据库,确保predict服务在特定标签的服务器上运行;
95.映射keystone端口访问kolla-ansible的配置文件,创建predict模块的endpoint;映射keystone端口访问kolla-ansible的配置文件,以进行信息认证,并在信息认证成功后,才能进行predict服务启动,创建predict模块的endpoint,确保与openstack
ansible的角色目录(role)下增加predict服务的容器镜像的启动配置,其中,具体需要增加的启动配置可以根据实际情况确定。
114.在其中一个实施方式中,还包括以下模块:
115.服务判断模块,用于判断是否进行predict服务部署及云平台监控数据库服务部署;
116.服务判断模块判断用于判断是否进行predict服务部署及云平台监控数据库服务部署。
117.服务启动模块,用于启动predict服务,以进行容量预测。
118.启动predict服务的容器镜像后,服务启动模块启动predict服务,利用smape模型综合holt-winters、arima和stl三个算法进行分析得到一个最优的smape评分,得到最佳预测结果。
119.实施例五:
120.本实施例提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被处理器执行时,使得处理器执行上述实施例中的云平台趋势预测服务容器化部署方法的步骤。
121.本领域内的技术人员应明白,本发明实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
122.本发明实施例中是参照根据本发明实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
123.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
124.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
125.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还
可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。
技术特征:
1.一种云平台趋势预测服务容器化部署方法,其特征在于:包括以下步骤:s1,构建与kolla-ansible相适配的predict服务的容器镜像,其中predict服务用于对云平台监控数据库进行预测;s2,将predict服务的容器镜像推送至云平台镜像仓库;s3,修改kolla-ansible的相关代码以实现对predict服务的支持;s4,启动云平台镜像仓库中的predict服务的容器镜像,以启动predict服务。2.根据权利要求1所述的云平台趋势预测服务容器化部署方法,其特征在于:所述构建与kolla-ansible相适配的predict服务的容器镜像,具体包括以下步骤:选取centos8.2作为容器基础镜像;安装预测算法库;安装predict服务代码,构建predict服务的容器镜像。3.根据权利要求1所述的云平台趋势预测服务容器化部署方法,其特征在于:所述修改kolla-ansible的相关代码实现对predict服务的支持,具体包括以下步骤:将predict服务的相关字段添加到相关文件中;在角色目录下增加predict服务的容器镜像的启动配置。4.根据权利要求3所述的云平台趋势预测服务容器化部署方法,其特征在于:所述相关文件包括kolla-ansible的全局控制文件、主机清单文件和文件模块入口文件。5.根据权利要求1所述的云平台趋势预测服务容器化部署方法,其特征在于:所述启动云平台镜像仓库中的predict服务的容器镜像,具体包括以下步骤:在开启云平台趋势预测服务容器化部署服务时,首先判断是否需要部署predict服务;如果不需要部署predict服务,则直接进行其他服务的部署;如果需要部署predict服务,则从云平台镜像仓库中获取到predict服务的容器镜像,并启动predict服务的容器镜像。6.根据权利要求5所述的云平台趋势预测服务容器化部署方法,其特征在于:所述启动predict服务的容器镜像后,具体包括以下步骤:判断云平台监控数据库服务是否已部署;如果云平台监控数据库服务没有部署,则部署云平台监控数据库服务;如果云平台监控数据库服务已部署,则解析multinode文件,链接云平台监控数据库;映射keystone端口访问kolla-ansible的配置文件,创建predict服务的endpoint;启动predict服务,调取smape模型,得到预测结果。7.一种云平台趋势预测服务容器化部署装置,其特征在于:包括以下模块:镜像构建模块,用于构建与kolla-ansible相适配的predict服务的容器镜像;镜像推送模块,用于将predict服务的容器镜像推送至云平台镜像仓库;代码修改模块,用于修改kolla-ansible的相关代码以实现对predict服务的支持;镜像启动模块,用于启动云平台镜像仓库中的predict服务的容器镜像,以启动predict服务进行容量预测。8.根据权利要求7所述的云平台趋势预测服务容器化部署装置,其特征在于:还包括以下模块:算法安装模块,用于安装需要的预测算法;
代码安装模块,用于安装predict服务代码,以构建predict服务的容器镜像;字段配置模块,用于将predict服务的相关字段添加到相关文件中,以及在角色目录下增加predict服务的镜像容器的启动配置。9.根据权利要求7所述的云平台趋势预测服务容器化部署装置,其特征在于:还包括以下模块:服务判断模块,用于判断是否进行predict服务部署及云平台监控数据库服务部署;服务启动模块,用于启动predict服务,以进行容量预测。10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行如权利要求1~6中任意一项所述的方法的步骤。
技术总结
本发明涉及一种云平台趋势预测服务容器化部署方法、装置及存储介质,所述方法包括以下步骤:S1,构建与kolla-ansible相适配的predict服务的容器镜像,其中predict服务用于对云平台监控数据库进行预测;S2,将predict服务的容器镜像推送至云平台镜像仓库;S3,修改kolla-ansible的相关代码以实现对predict服务的支持;S4,启动云平台镜像仓库中的predict服务的容器镜像,以启动predict服务进行容量预测。本发明的云平台趋势预测服务容器化部署方法、装置及存储介质,提高了容量预测的效率和精确性。和精确性。和精确性。
技术研发人员:武新超 胡玉鹏 李红卫
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2021.11.15
技术公布日:2022/3/8