一种大规模集群环境中获取部署配置信息的方法技术

技术编号:20947550 阅读:27 留言:0更新日期:2019-04-24 03:41
本发明专利技术提供了一种大规模集群环境中获取部署配置信息的方法,包括:部署节点对待部署集群的网段进行批量存活扫描,以提取待部署集群中存活的主机;根据Telnet协议对存活的主机的SSH端口进行探测,以确定存活的主机的系统类型;基于SSH协议向存活的主机的SSH端口执行登录检测;部署节点中的脚本管理工具获取主机的配置信息,并保存至字典变量;对字典变量中主机的配置信息封装成轻量级数据交换格式文件,并保存至部署节点的数据库中。通过本发明专利技术,部署节点通过脚本管理工具采用主动方式获取主机的部署配置信息,不需要在存活主机中安装第三方服务、插件,实现了批量远程且自动化地获取部署配置信息并降低了运维人员的人力成本投入。

A Method of Obtaining Deployment Configuration Information in Large Scale Cluster Environment

The invention provides a method for obtaining deployment configuration information in a large-scale cluster environment, including: batch survival scanning of the network segment of the deployment cluster by the deployment node to extract the surviving hosts in the cluster to be deployed; detecting the SSH ports of the surviving hosts according to Telnet protocol to determine the system type of the surviving hosts; and SSH scanning to the surviving hosts based on SSH protocol. Ports perform login detection; script management tools in deployment nodes acquire configuration information of hosts and save it to dictionary variables; configurations of hosts in dictionary variables are encapsulated into lightweight data exchange format files and stored in the database of deployment nodes. By the invention, the deployment node acquires the deployment configuration information of the host through script management tool in an active manner, and does not need to install third-party services and plug-ins in the surviving host, thus realizing the batch remote and automatic acquisition of the deployment configuration information and reducing the labor cost of the operation and maintenance personnel.

【技术实现步骤摘要】
一种大规模集群环境中获取部署配置信息的方法
本专利技术涉及云计算
,尤其涉及一种大规模集群环境中获取部署配置信息的方法。
技术介绍
随着云计算业务的快速发展,云计算业务从原先单节点服务部署到现在大规模集群部署,从原先无需配置到当前基于集群的重复配置,从部署业务场景单一到现在越发复杂的场景。因此,在对大规模集群环境中对节点进行部署的场景下,对于获取轻配置的节点(甚至无配置的节点)的部署配置信息的需求越发迫切,特别是如何从大规模集群环境中快速地从节点中获取配置所需的信息的能力,对减少运维人员的人力投入具有重要意义。众所周知,在云计算平台的组建中,集群部署所需的配置信息的获取是十分繁琐和容易出错的。目前,大规模集群环境中对节点进行部署的主流技术是基于MirantisFuel。待部署节点通过网卡启动后,被Fuel(一种开源的针对Openstack的部署和管理工具)的PXE(预启动执行环境)发现并灌入bootstrap镜像启动。bootstrap中有一个特别的脚本叫做Nailgun-Agent.RB,它能够收集该节点的硬件信息并通过RESTAPI提交给NAILGUN,NAILGUN会保存到数据库。Mirantis以容器形式提供由Kubernetes编排的OpenContrail。Bootstrap是美国公司的设计师MarkOtto和JacobThornton合作基于HTML、CSS、JavaScript开发的简洁、直观、强悍的前端开发框架,使得Web开发更加快捷。此外,申请人经过检索后发现诸如公开号为CN1848787A的中国专利技术专利以及授权公告号US7114065B2的美国专利等类似现有技术中,均需要支持PXE才能实现对一个外部装置、节点或者计算集群进行配置。由此可见,在现有技术中在大规模集群环境中,为了获取部署配置信息具有一定局限性;同时,现有技术也存在配置信息无法定制的缺点,且仅针对Openstack集群,对其他产品无法兼容。有鉴于此,有必要对现有技术中的大规模集群环境中获取部署配置信息的方法予以改进,以解决上述问题。
技术实现思路
本专利技术的目的在于揭示一种大规模集群环境中获取部署配置信息的方法,用以减少人工收集并手动录入,实现真正的无人值守式获取主机的配置信息,同时确保部署信息的准确性与可定制性。为实现上述目的,本专利技术提供了一种大规模集群环境中获取部署配置信息的方法,包括以下步骤:S1、部署节点对待部署集群的网段进行批量存活扫描,以提取待部署集群中存活的主机;S2、根据Telnet协议对存活的主机的SSH端口进行探测,以确定存活的主机的系统类型;S3、基于SSH协议向存活的主机的SSH端口执行登录检测;S4、通过运行于部署节点中的脚本管理工具获取主机的配置信息,并将主机的配置信息保存至字典变量;S5、对字典变量中主机的配置信息封装成轻量级数据交换格式文件,并保存至部署节点的数据库中。作为本专利技术的进一步改进,所述部署节点被配置为虚拟机、容器、运行虚拟机的容器、服务器或者安装镜像文件的移动计算装置;所述待部署集群为负载均衡集群、高可用集群、高性能计算集群、Ceph分布式集群或者RabbitMQ镜像集群。作为本专利技术的进一步改进,所述步骤S1还包括:将存活的主机所具有的IP地址添加到存活主机列表变量。作为本专利技术的进一步改进,所述步骤S1中部署节点对待部署集群的网段进行批量存活扫描具体为:部署节点通过nmap命令、ncat命令、mtr命令、ICPM协议或者shell脚本对待部署集群的网段进行批量存活扫描。作为本专利技术的进一步改进,所述步骤S4中的配置信息由主机名、操作系统版本、主机运行时间、物理核数、处理器版本、内存规格、交换分区规格、网络地址与硬盘规格共同描述。作为本专利技术的进一步改进,所述脚本管理工具为paramiko模块,且步骤S4具体为:部署节点中导入paramiko模块,以通过paramiko模块登录至主机;基于发送指定的配置种类的返回信息获取配置种类所对应的配置信息;将返回信息保存至标准输入变量、标准输出变量及标准错误输出变量中;读取标准输出变量的返回信息以获取到主机的配置信息;将主机的配置信息保存至字典变量中;其中,所述paramiko模块登录主机所依据的参数由主机地址、端口、用户名、密码及私钥共同限定。作为本专利技术的进一步改进,所述脚本管理工具为pexpect模块,且步骤S4具体为:部署节点中导入pexpect模块,以通过pexpect模块登录至主机;基于发送指定的配置种类的返回信息获取配置种类所对应的配置信息;将返回信息保存至标准输入变量、标准输出变量及标准错误输出变量中;读取标准输出变量的返回信息以获取到主机的配置信息;将主机的配置信息保存至字典变量中;其中,所述pexpect模块登录主机所依据的参数由主机地址、端口、用户名、密码及私钥共同限定。作为本专利技术的进一步改进,所述步骤S5中,对字典变量中主机的配置信息封装成轻量级数据交换格式文件之后,还包括:对轻量级数据交换格式文件基于MD5进行数据校验。作为本专利技术的进一步改进,确定存活的主机的系统类型具体为:通过Telnet协议与存活的主机建立会话,将存活的主机区分为Linux系统的存活主机与非Linux系统的存活主机。与现有技术相比,本专利技术的有益效果是:在本专利技术中,部署节点通过脚本管理工具采用主动方式获取主机的配置信息,不需要在待部署集群环境中存活主机中安装第三方服务、插件,实现了批量远程且自动化地获取部署配置信息,并确保了待部署集群中的主机的部署信息的准确性与可定制性;同时,不需要运维人员的参与及干预,降低了运维人员的人力成本投入。附图说明图1为本专利技术一种大规模集群环境中获取部署信息的方法的流程图;图2为本专利技术所示出的一种大规模集群环境中获取部署信息的方法在一个完整的部署信息获取过程中的拓扑图。具体实施方式下面结合附图所示的各实施方式对本专利技术进行详细说明,但应当说明的是,这些实施方式并非对本专利技术的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本专利技术的保护范围之内。实施例一:在详细阐述本专利技术之前,对本专利技术所应用的场景进行说明与必要的解释。参图2所示,待部署集群20中存在HOST01、HOST02、HOST03、HOST04至HOSTi等i个主机(HOST)。其中,i取大于或者等于1的正整数。在i个主机中,可能存在存活的主机,也可能存在非存活的主机。在本申请中,所谓“存活”与“非存活”的区分标准包括但不限于:是否有独立的ip、是否可以与部署节点10通过脚本管理工具建立会话、是否能够独立运行某个程序功能,并作为待部署集群在部署完毕后的一个功能性组件(例如负载均衡器或者虚拟交换机等等)。同时,“主机的配置信息”与“主机的部署配置信息”具等同技术含义。参图1及图2所示出的本专利技术一种大规模集群环境中获取部署配置信息的方法(以下简称方法)的一种具体实施方式。该方法包括以下步骤:首先,执行步骤S1、部署节点10对待部署集群20的网段进行批量存活扫描,以提取待部署集群20中存活的主机。具体的,部署节点10被配置为虚拟机(VM)、容器(Container)、运行虚拟机的容器、服务器或者安装镜像文件的移动计算装置。本文档来自技高网
...

【技术保护点】
1.一种大规模集群环境中获取部署配置信息的方法,其特征在于,包括以下步骤:S1、部署节点对待部署集群的网段进行批量存活扫描,以提取待部署集群中存活的主机;S2、根据Telnet协议对存活的主机的SSH端口进行探测,以确定存活的主机的系统类型;S3、基于SSH协议向存活的主机的SSH端口执行登录检测;S4、通过运行于部署节点中的脚本管理工具获取主机的配置信息,并将主机的配置信息保存至字典变量;S5、对字典变量中主机的配置信息封装成轻量级数据交换格式文件,并保存至部署节点的数据库中。

【技术特征摘要】
2018.10.15 CN 20181125604641.一种大规模集群环境中获取部署配置信息的方法,其特征在于,包括以下步骤:S1、部署节点对待部署集群的网段进行批量存活扫描,以提取待部署集群中存活的主机;S2、根据Telnet协议对存活的主机的SSH端口进行探测,以确定存活的主机的系统类型;S3、基于SSH协议向存活的主机的SSH端口执行登录检测;S4、通过运行于部署节点中的脚本管理工具获取主机的配置信息,并将主机的配置信息保存至字典变量;S5、对字典变量中主机的配置信息封装成轻量级数据交换格式文件,并保存至部署节点的数据库中。2.根据权利要求1所述的方法,其特征在于,所述部署节点被配置为虚拟机、容器、运行虚拟机的容器、服务器或者安装镜像文件的移动计算装置;所述待部署集群为负载均衡集群、高可用集群、高性能计算集群、Ceph分布式集群或者RabbitMQ镜像集群。3.根据权利要求1所述的方法,其特征在于,所述步骤S1还包括:将存活的主机所具有的IP地址添加到存活主机列表变量。4.根据权利要求1所述的方法,其特征在于,所述步骤S1中部署节点对待部署集群的网段进行批量存活扫描具体为:部署节点通过nmap命令、ncat命令、mtr命令、ICPM协议或者shell脚本对待部署集群的网段进行批量存活扫描。5.根据权利要求1所述的方法,其特征在于,所述步骤S4中的配置信息由主机名、操作系统版本、主机运行时间、物理核数、处理器版本、内存规格、交换分区规格、网络地址与硬盘规格共同...

【专利技术属性】
技术研发人员:许广彬谭瑞忠濮天晖
申请(专利权)人:无锡华云数据技术服务有限公司
类型:发明
国别省市:江苏,32

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

1