CN112187532A - 一种节点管控方法及系统 - Google Patents
一种节点管控方法及系统 Download PDFInfo
- Publication number
- CN112187532A CN112187532A CN202010989172.1A CN202010989172A CN112187532A CN 112187532 A CN112187532 A CN 112187532A CN 202010989172 A CN202010989172 A CN 202010989172A CN 112187532 A CN112187532 A CN 112187532A
- Authority
- CN
- China
- Prior art keywords
- tenant
- node
- network
- management platform
- management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种节点管控方法及系统,该方法应用于节点管控系统,该系统包括管理平台、租户节点及路由器,管理平台与管理网络连接,路由器与租户网络一一对应,每个租户网络中包含多个租户节点,每个租户节点通过所在租户网络、所在租户网络对应的路由器及管理网络建立与网络平台间的通信连接;该方法包括:管理平台获取操作命令,确定操作命令对应的租户节点为目标节点;管理平台查找与目标节点对应的通信连接,将操作命令写入至与目标节点对应的通信连接中;目标节点由所对应的通信连接获取操作命令,执行操作命令,并将执行操作命令所得结果返回给管理平台。本申请能够大大减少管理网络的ip资源的占用,增加可管控的租户节点的数量。
Description
技术领域
本发明涉及互联网络技术领域,更具体地说,涉及一种节点管控方法及系统。
背景技术
在当今云计算技术迅速发展的时代,一个云数据中心中管理成千上万台虚拟机和物理机都已经成为常见场景,这些虚拟机和物理机有些可以直接连通,有些无法直接连通,有些分布在中心机房内,有些分布在边缘机房内,在这种情况下使用一个扁平化的网络方案就变得非常困难,常见的解决方案是在云数据中心内部规划一个个的虚拟网络,互相之间进行网络隔离,且可互相访问,而在云数据中心外部,边缘节点相应网络与云数据中心进行通信。
在一个云数据中心里,一般都有一个统一的运维管理平台(可简称为管理平台),管理员通过这个管理平台为云数据中心内的各类节点提供远程执行命令和运维管理服务。这个管理平台通常是连接在管理网络中,和管理员的终端可以通信,而云数据中心里的各类节点往往运行在租户的专有网络(可称为租户网络)内,这样的话管理平台和租户的节点之间是不能直接通信的。并且由于边缘节点的存在,边缘节点和云数据中心之间往往有可能存在操作系统的差异和配置的差异,传统的集群运维软件难以适应差异化的要求。
现有的解决方案通常是为租户纳入统一运维的每个节点分配一个浮动ip,管理平台可以通过这个浮动ip访问到租户的节点,达到通过管理网络和租户节点的主动连通,这种方案存在一个问题,即租户节点的浮动ip需要占用管理网络的ip资源,而管理网络ip数量非常有限,因此当纳管的节点数量较多时,会大量消耗管理网络的ip资源,最终使云数据中心内可管理的节点数量受到限制。
发明内容
本发明的目的是提供一种节点管控方法及系统,能够大大减少管理网络的ip资源的占用,增加可管控的租户节点的数量,并且实现命令的实时下发及执行,提高命令执行效率。
为了实现上述目的,本发明提供如下技术方案:
一种节点管控方法,应用于节点管控系统,所述节点管控系统包括管理平台、租户节点及路由器,所述管理平台与管理网络连接,所述路由器与至少一个租户网络一一对应,每个所述租户网络中包含多个所述租户节点,每个所述租户节点通过所在租户网络、所在租户网络对应的路由器及所述管理网络建立与所述网络平台间的通信连接;所述方法包括:
管理平台获取操作命令,确定所述操作命令对应的租户节点为目标节点;
所述管理平台查找与所述目标节点对应的通信连接,将所述操作命令写入至与所述目标节点对应的通信连接中;
所述目标节点由所对应的通信连接获取所述操作命令,执行所述操作命令,并将执行所述操作命令所得结果返回给所述管理平台。
优选的,还包括:
每个所述租户节点从所述管理平台中拉取自身所需的代理镜像,基于拉取的代理镜像以docker容器的形式运行代理程序,并授权运行的代理程序实现所在租户节点需实现的功能。
优选的,所述目标节点执行所述操作命令,包括:
所述目标节点的代理程序生成一个临时容器,利用所述临时容器执行所述操作命令,并在获取执行所述操作命令所得结果后,删除所述临时容器。
优选的,每个所述租户节点从所述管理平台中拉取自身所需的代理镜像,包括:
每个所述租户节点确定自身包含的操作系统及所需的安装包版本,从所述管理平台中拉取与自身包含的操作系统及所需的安装包版本相匹配的代理镜像。
优选的,每个所述租户节点从所述管理平台中拉取自身所需的代理镜像,包括:
每个所述租户节点均基于https协议从所述管理平台中拉取自身所需的代理镜像。
优选的,每个所述租户节点与所述网络平台间建立通信连接,包括:
每个所述租户节点向所述网络平台发送连接请求;其中,所述连接请求中携带有外界向所述租户节点输入的用于实现通信连接建立的令牌;
所述网络平台判断所述连接请求携带的令牌是否为预设的令牌,如果是,则建立与相应租户节点之间的websocket连接,否则,确定无法建立与相应租户节点之间的websocket连接;其中,预设的令牌为向所述网络平台注册租户节点时,所述网络平台生成的与注册的租户节点对应的令牌。
优选的,每个所述租户节点与所述网络平台间建立通信连接之后,还包括:
每个所述租户节点实时监控自身与所述管理平台之间的连接状态,如果监控到连接状态为断开状态,则执行向所述管理平台发送连接请求的步骤,以重新建立与所述管理平台间的通信连接。
优选的,每个所述租户节点与所述网络平台间建立通信连接之后,还包括:
所述管理平台定时或者实时确定与每个所述租户节点之间的连接状态,并记录与每个所述租户节点之间的连接状态。
优选的,所述管理网络及每个所述租户网络之间均通过相应路由器的snat实现连接。
一种节点管控系统,包括管理平台、租户节点及路由器,所述管理平台与管理网络连接,所述路由器与至少一个租户网络一一对应,每个所述租户网络中包含多个所述租户节点,每个所述租户节点通过所在租户网络、所在租户网络对应的路由器及所述管理网络建立与所述网络平台间的通信连接;其中:
所述管理平台,用于:获取操作命令,确定所述操作命令对应的租户节点为目标节点;查找与所述目标节点对应的通信连接,将所述操作命令写入至与所述目标节点对应的通信连接中;
所述租户节点,用于:在作为所述目标节点时,由所对应的通信连接获取所述操作命令,执行所述操作命令,并将执行所述操作命令所得结果返回给所述管理平台。
本发明提供了一种节点管控方法及系统,该方法应用于节点管控系统,所述节点管控系统包括管理平台、租户节点及路由器,所述管理平台与管理网络连接,所述路由器与至少一个租户网络一一对应,每个所述租户网络中包含多个所述租户节点,每个所述租户节点通过所在租户网络、所在租户网络对应的路由器及所述管理网络建立与所述网络平台间的通信连接;该方法包括:管理平台获取操作命令,确定所述操作命令对应的租户节点为目标节点;所述管理平台查找与所述目标节点对应的通信连接,将所述操作命令写入至与所述目标节点对应的通信连接中;所述目标节点由所对应的通信连接获取所述操作命令,执行所述操作命令,并将执行所述操作命令所得结果返回给所述管理平台。本申请公开的节点管控系统中,每个租户网络仅需通过一个路由器实现与管理网络的连接,而单个租户网络可以包含多个租户节点,因此相对于现有技术需要为每个节点分配一个浮点ip,本申请仅需为每个租户网络对应的路由器分配一个相应的管理网络ip即可,因此能够大大减少管理网络的ip资源的占用,进而增加可管控的租户节点的数量;并且,本申请在管理平台获取到操作命令后,直接通过与相应租户节点间的通信连接指示租户节点执行操作命令,进而获取到执行操作命令的结果,从而实现命令的实时下发及执行,提高了命令执行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种节点管控方法的流程图;
图2为本发明实施例提供的一种节点管控方法中节点管控系统的示例图;
图3为本发明实施例提供的一种节点管控方法中具体实现示例图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种节点管控方法的流程图,该节点管控方法应用于节点管控系统,节点管控系统包括管理平台、租户节点及路由器,管理平台与管理网络连接,路由器与至少一个租户网络一一对应,每个租户网络中包含多个租户节点,每个租户节点通过所在租户网络、所在租户网络对应的路由器及管理网络建立与网络平台间的通信连接;该节点管控方法可以包括:
S11:管理平台获取操作命令,确定操作命令对应的租户节点为目标节点。
其中,管理平台为背景技术中公开的统一的运维管理平台,租户节点则为统一的运维管理平台需要提供远程执行命令和运维管理服务的节点,具体可以为主机;管理平台所在的管理网络通过路由器与对应的租户网络连接,也即为与管理网络连接的管理平台通过路由器与对应的租户网络内各租户节点实现连接,因此对于每个包含多个租户节点的租户网络仅仅为相应的路由器分配一个网络ip即可,从而相对于现有技术中为每个节点分配一个浮点ip而言,大大减少了网络ip的占用。
在需要实现相应操作时,管理员可以选择需要实现相应操作的租户节点,然后向管理平台发送具体操作的命令(可简称为操作命令)和操作命令对应的节点目录(也即为操作命令需要在该节点目录下执行),管理平台则可以确定管理员选择的租户节点为需要执行操作命令的目标节点。具体来说,管理员选择实现相应操作的租户节点可以是将表示该租户节点的节点信息通过管理终端发送给管理平台,或者向管理平台的人机交互界面输入需要实现相应操作的租户节点的节点信息,其中,节点信息可以为表示租户节点的身份的标识或者名称或者地址等;当然根据实际需要进行的其他设定也均在本发明的保护范围之内。
S12:管理平台查找与目标节点对应的通信连接,将操作命令写入至与目标节点对应的通信连接中。
管理平台根据管理员选择的租户节点查找这个租户节点对应的通信连接,向这个通信连接写入操作命令,以将操作命令通过这个通信连接发送给相应的租户节点。其中,向通信连接写入操作命令时可以是向通信连接中写入携带有操作命令的请求报文,如果管理员有向管理平台发送操作命令对应的节点目录,则请求报文中还可以同时包括和操作命令对应的节点目录,当然根据实际需要进行的其他设定也均在本发明的保护范围之内。
S13:目标节点由所对应的通信连接获取操作命令,执行操作命令,并将执行操作命令所得结果返回给管理平台。
目标节点从与管理平台之间的通信连接获取操作命令,对操作命令进行执行,并将执行后的结果返回给管理平台,管理员可以在管理平台异步查看操作命令在目标节点上执行的结果。其中,如果目标节点获取的为携带有操作命令的请求报文,且请求报文中还包括和操作命令对应的节点目录,则可以绑定请求报文中指定的节点目录,进而在该节点目录下执行请求报文中的操作命令。
本申请公开的节点管控系统中,每个租户网络仅需通过一个路由器实现与管理网络的连接,而单个租户网络可以包含多个租户节点,因此相对于现有技术需要为每个节点分配一个浮点ip,本申请仅需为每个租户网络对应的路由器分配一个相应的管理网络ip即可,因此能够大大减少管理网络的ip资源的占用,进而增加可管控的租户节点的数量;并且,本申请在管理平台获取到操作命令后,直接通过与相应租户节点间的通信连接指示租户节点执行操作命令,进而获取到执行操作命令的结果,从而实现命令的实时下发及执行,提高了命令执行效率。
本发明实施例提供的一种节点管控方法,还可以包括:
每个租户节点从管理平台中拉取自身所需的代理镜像,基于拉取的代理镜像以docker容器的形式运行代理程序,并授权运行的代理程序实现所在租户节点需实现的功能。
对于新建的租户节点,可以通过cloud-init为租户节点自动注入开机启动指令,从而通过该开机启动指令完成租户节点的自动配置,运行代理程序(可称之为agent);对于已经存在的租户节点,可以由用户自行登录租户节点的操作系统,配置管理平台的地址(或者管理平台中存储代理镜像(agent镜像)的装置的地址)用于下载代理镜像,如果租户节点本地没有代理镜像,租户节点(或者说租户节点内的docker,docker是一个开源的容器服务引擎)则会自动从这个地址下载代理镜像到本地,对代理镜像执行docker run命令,运行agent;通过上述方式以简单有效的方式以docker容器的形式实现代理程序的运行,进而由代理程序实现租户节点需要实现的全部功能,包括建立与管理平台的通信连接、维护与管理平台的通信连接、接收操作命令、执行操作命令及返回操作命令执行的结果等租户节点需要实现的全部功能。
另外,在运行agent时可以指定管理平台的地址(或者管理平台中用于实现与租户节点之间的通信的装置的地址)中以供agent容易基于该地址实现与管理平台之间的通信,并且指定agent的restart策略为always,从而保证agent的持续运行,实现agent的常驻。
本发明实施例提供的一种节点管控方法,目标节点执行操作命令,可以包括:
目标节点的代理程序生成一个临时容器,利用临时容器执行操作命令,并在获取执行操作命令所得结果后,删除临时容器。
需要说明的是,目标节点内的agent接收到操作命令后,可以调用本地的dockersocket接口,通过调用docker socket接口使用agent镜像启动一个临时容器(临时container),该临时容器绑定请求报文中指定的节点目录,执行请求报文中的操作命令;租户节点的agent调用docker logs接口,获取临时容器的输出信息,临时容器的输出信息也即为执行操作命令所得结果,进而通过与管理平台的通信连接将该结果返回给管理平台;可见,本申请通过临时容器实现操作命令的执行,并在执行操作命令完成后删除临时容器,从而避免对系统资源的占用。
另外,管理平台在获得执行操作命令所得结果后,根据接收该结果的通信连接匹配到对应的租户节点的节点信息,进而使得管理员可以异步查看操作命令执行的结果及执行操作命令的租户节点的节点信息。
本发明实施例提供的一种节点管控方法,每个租户节点从管理平台中拉取自身所需的代理镜像,可以包括:
每个租户节点确定自身包含的操作系统及所需的安装包版本,从管理平台中拉取与自身包含的操作系统及所需的安装包版本相匹配的代理镜像。
需要说明的是,不同租户节点包含的操作系统可能是不同的,而不同操作系统所需的代理镜像可能是不同的,同时同一操作系统的不同阶段或者其他因素所需的代理镜像也可能是不同的,因此本申请在管理平台中存储有与各操作系统对应的各安装包版本的代理镜像,进而在租户节点拉取自身所需的代理镜像时,可以按照自身具有的操作系统及所需的安装包版本从管理平台中拉取相应的代理镜像,从而使得拉取的代理镜像与租户节点的操作系统及其他因素均相符,保证了代理镜像在租户节点中的顺利使用。可见,本申请使用docker容器化技术实现代理程序,能够屏蔽操作系统差异和安装包版本差异,实现带内agent镜像的安装包版本统一维护、镜像统一下发,使之具有很强的系统适配性。
本发明实施例提供的一种节点管控方法,每个租户节点从管理平台中拉取自身所需的代理镜像,可以包括:
每个租户节点均基于https协议从管理平台中拉取自身所需的代理镜像。
本申请中租户节点在拉取自身所需的代理镜像时是基于https协议实现的,https(Hyper Text Transfer Protocol over SecureSocket Layer)是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性;https存在不同于http的默认端口及一个加密/身份验证层(在HTTP与TCP之间),提供了身份验证与加密通讯方法。因此,本申请基于https协议实现代理镜像的拉取,能够保证代理镜像在传输过程的安全性。
本发明实施例提供的一种节点管控方法,每个租户节点与网络平台间建立通信连接,可以包括:
每个租户节点向网络平台发送连接请求;其中,连接请求中携带有外界向租户节点输入的用于实现通信连接建立的令牌;
网络平台判断连接请求携带的令牌是否为预设的令牌,如果是,则建立与相应租户节点之间的websocket连接,否则,确定无法建立与相应租户节点之间的websocket连接;其中,预设的令牌为向网络平台注册租户节点时,网络平台生成的与注册的租户节点对应的令牌。
本申请中网络平台与租户节点之间建立的通信连接具体为websocket连接;具体来说,相应的实现步骤可以包括:用户登录管理平台,在管理平台上注册要纳入管理的租户节点的节点信息,节点信息可以为租户节点的元数据,如节点名称、操作系统、所属用户等;在注册完成后管理平台自动生成一个token,作为相应的租户节点连接管理平台的标识;agent启动后根据用户填写的管理平台的地址,尝试建立到管理平台的websocket连接,同时携带用户填写的令牌token,也即agent基于管理平台的地址向管理平台发送携带有token的连接请求;管理平台接收agent发来的连接请求,并校验请求中携带的token,如果可以与上述步骤中注册的租户节点的token匹配上,则验证通过,向租户节点返回连接成功,同时将租户节点的连接状态变为已连接;租户节点的agent收到连接成功的信息,完成租户节点的注册及连接建立流程。其中,websocket是一种在单个TCP连接上进行全双工通讯的协议,本申请采用WebSocket实现租户节点及管理平台之间的通信连接,使得租户端(租户端即为租户节点)和服务端(服务端即为管理平台)之间的数据交换变得更加简单,允许服务端主动向租户端推送数据,能更好的节省服务端资源和带宽,并且能够更实时地进行通讯。
另外,在运行agent时可以指定管理平台的地址(或者管理平台中用于实现与租户节点之间的通信的装置的地址),以使得agent可以基于该地址实现与管理平台之间的通信。可见,本申请整体使用https/websocket协议,可以跨越三层网络,方便实现边缘节点的远程连接。
本发明实施例提供的一种节点管控方法,每个租户节点与网络平台间建立通信连接之后,还可以包括:
每个租户节点实时监控自身与管理平台之间的连接状态,如果监控到连接状态为断开状态,则执行向管理平台发送连接请求的步骤,以重新建立与管理平台间的通信连接。
需要说明的是,为了保证租户节点与管理平台之间的顺利通信,本申请中每个租户节点还可以实时监控自身与管理平台之间的连接状态,连接状态包括已连接状态和断开状态;从而在监控到自身与监控平台之间的连接状态为断开状态时,则重新通过相应步骤实现与管理平台之间的通信连接,以在连接异常断开后重试连接,保证网络恢复后自动恢复连接状态。
本发明实施例提供的一种节点管控方法,每个租户节点与网络平台间建立通信连接之后,还可以包括:
管理平台定时或者实时确定与每个租户节点之间的连接状态,并记录与每个租户节点之间的连接状态。
需要说明的是,管理平台还会实现websocket连接的维护,而维护的具体方式则可以是记录各个websocket连接对应的租户节点的节点信息,进而基于连接状态更新租户节点与管理平台之间的连接状态,使得管理员可以基于记录的信息确定各租户节点与管理平台之间是否能够正常实现连接,进而在无法正常实现连接时进行相应的网络修复等操作。
本发明实施例提供的一种节点管控方法,管理网络及每个租户网络之间均通过相应路由器的snat(源地址转换)实现连接。
需要说明的是,本申请实施例中用户还可以配置要纳入管理的租户节点所使用的租户网络的路由器,进而使得租户网络可以通过snat实现与管理网络的连接;可见,本申请根据自身需求通过snat方式打通租户网络到管理网络的路由,简单有效的实现租户网络及管理网络之间的连接。
另外,本申请也可以根据特殊需要在anget内增加软件包或脚本,为特殊节点增加更多运维功能。
在一种具体实现方式中,本申请提供的一种节点管控方法所应用于的节点管控系统可以包括服务端连接管理装置、服务端指令处理装置、服务端镜像管理装置、服务端认证鉴权装置、租户端代理镜像以及网关路由规则,具体如下:
1、服务端连接管理装置运行在云数据中心的管理平台中,其实现一个websocket的服务器,主要负责租户端租户节点的注册,租户端token的生成,websocket连接的维护,记录各个websocket连接对应的租户端租户节点的节点信息,根据连接状态更新租户端租户节点的连接状态,根据租户端租户节点的节点信息寻找对应的websocket连接,以及接收租户端代理程序发来的结果并匹配相应的租户节点等功能。
2、服务端指令处理装置运行在云数据中心的管理平台中,用于提供面向云数据中心管理员的操作接口,接收云数据中心管理员基于该操作接口输入的要执行的操作命令和目标节点,调用服务端连接管理装置获取对应的websocket连接,下发操作命令,并异步获取执行所得结果后返回给服务端连接管理装置。
3、服务端镜像管理装置运行在云数据中心的管理平台中,用于统一维护租户端代理程序的代理镜像,提供代理镜像的多安装包版本维护、镜像上传、镜像存储等功能。
4、服务端认证鉴权装置运行在云数据中心的管理平台中,用于在websocket连接建立时进行token验证,以保证连接的安全性。
5、租户端代理镜像可以使用docker命令拉取到租户端租户节点内,在租户端租户节点的内部以container的形式运行一个agent的代理程序,由docker daemon保证该container的持续运行;该agent启动需要配置服务端服务端连接管理装置的地址、服务端为该agent分配的token,agent启动后主动向管理平台侧的服务端建立websocket长连接,并在连接异常断开后重试连接,以保证网络恢复后自动恢复连接状态;同时该agent内部实现Unix socket监听功能,监听本地的docker服务的docker.sock文件,实现对本地docker服务的api调用(也即为实现操作命令执行的过程);该agent在后台持续运行,实时接收服务端通过websocket连接发送过来的请求报文,并在本地使用agent镜像启动一个临时container,指定操作命令、绑定的目录,以实现在远程租户端租户节点上执行带内操作的目的。
6、网关路由规则配置在租户网络和管理网络之间的路由器上,以保证租户网络内的各个租户节点可以访问到部署在管理网络上的服务端连接管理装置;因为这属于路由器的snat规则配置,一个路由器只需要使用一个管理网络ip资源即可;而一个租户网络只需要有一个路由器连接到管理网络即可通信,因此一个租户网络只需要消耗一个管理网络ip资源,即可实现该租户网络下的所有租户节点主动访问管理网络,而使用websocket连接可以建立一个基于tcp的长链接,管理平台即可通过websocket连接对该租户网络下所有agent进行实时通信。
本申请公开的节点管控系统的示例图可以如图2所示,其中,统一运维平台即为管理平台,管理网即为管理网络,租户的网络即为租户网络,node即为节点;管理三个租户网络中的九个租户节点,消耗的管理网络ip数只有三个;可知,假设一个云数据中心中租户网络的数量为x,每个租户网络中的租户节点数为m,需要消耗的管理网络ip总数为sum,则在本申请中,sum=x,即如果有3个租户网络,每个租户网络里有3个租户节点需要纳入管理,则只需要消耗3个管理网络ip,即可实现对这九个租户节点的统一管理,管理网络ip消耗量大大减少。
而基于本申请公开的上述节点管控系统实现节点管控方法可以分为租户节点纳入统一管理、管理员下发操作命令两个流程描述,如图3所示(指令与命令含义相同),具体实施过程如下:
1)租户节点纳入统一管理包括以下步骤:
a、用户配置要纳入管理的租户节点所使用的租户网络的路由器,使租户网络可以通过snat连接管理网络;
b、用户登录管理平台,注册要纳入管理的租户节点的元数据,如节点名称、操作系统、所属用户等信息,注册完成后管理平台自动生成一个token,作为这个租户节点连接管理平台的标识;
c、对于新建的租户节点,可以通过cloud-int自动注入开机启动指令,完成自动配置,运行agent;对于已存在的节点,可以由用户自行登录操作系统,配置服务端镜像管理装置的地址用于下载agent镜像,执行docker run命令,运行agent;其中,运行agent时指定服务端连接管理装置的地址、连接使用的token、restart策略为always;
此时如果租户节点本地没有agent镜像,docker会自动下载agent镜像到本地使用。
d、agent启动后,根据用户填写服务端连接管理装置的地址,尝试建立到服务端连接管理装置的websocket连接,同时携带用户填写的token;
e、服务端连接管理装置接收到agent发来的连接请求,并校验请求中携带的token,如果可以与步骤a中注册的租户节点的token匹配上,则验证通过,返回连接成功,同时将节点状态变为已连接;
f、agent收到连接成功的信息,完成节点注册流程;
2)管理员下发操作命令包括以下步骤;
a、管理员选择要操作的租户节点的节点信息,发送操作命令和对应的节点目录;
b、服务端指令处理装置根据节点信息,通过服务端连接管理装置查找这个节点信息的租户节点对应的websocket连接;
c、服务端指令处理装置向这个websocket连接写入请求报文;
d、租户节点内的agent收到请求报文,调用本地docker socket接口,使用agent镜像启动一个临时container,绑定请求报文中指定的节点目录,执行请求报文中指定的操作命令;
e、租户节点内的agent调用docker logs接口,获取临时container的输出信息,作为执行操作命令的结果通过websocket连接返回给服务端连接管理装置;
f、租户节点内的agent删除临时container;
g、服务端连接管理装置根据websocket连接的信息匹配租户节点的节点信息,将命令执行后的结果返回给服务端命令处理装置;管理员可在服务端命令处理装置异步查看操作命令在租户节点上的执行结果。
本申请在云边协同环境中实现租户节点的统一带内运维,客户端的代理程序以容器的形式运行在租户端的租户节点中,可以灵活进行安装包版本更新、启动、停止操作;容器形式屏蔽依赖包和操作系统的差异,可以做到一次构建,处处运行;常驻agent维护到服务端的websocket长链接,本身可以设置restart=always参数,由docker daemon负责保证agent的持续运行;当收到操作命令时,调用本地docker daemon接口,启动一个临时container执行收到的操作命令,执行后删除临时container,不占用系统资源;整体只有租户端到服务端的主动网络连接,服务端无需为租户端主机分配ip,减少ip消耗;整体使用https/websocket协议,可以跨越三层网络,方便实现边缘节点的远程连接。因此,本申请使用websocket技术和snat技术,可以在大大减少管理网络ip资源占用的情况下,实现在大规模云数据中心nat网络环境、云边协同网络环境中统一管理运维大量节点的效果,可以在无需浮动ip的网络方案下实现实时在远程节点内执行命令,并且无需获知租户节点的ssh账号密码,租户节点无需开放ssh端口和任何防火墙进入规则;使用docker容器化技术,实现屏蔽操作系统差异和安装包版本差异,实现带内agent镜像的安装包版本统一维护、镜像统一下发,使之具有很强的系统适配性,具有很高的实用价值。
本申请还提供了一种节点管控系统,可以包括管理平台、租户节点及路由器,管理平台与管理网络连接,路由器与至少一个租户网络一一对应,每个租户网络中包含多个租户节点,每个租户节点通过所在租户网络、所在租户网络对应的路由器及管理网络建立与网络平台间的通信连接;其中:
管理平台,用于:获取操作命令,确定操作命令对应的租户节点为目标节点;查找与目标节点对应的通信连接,将操作命令写入至与目标节点对应的通信连接中;
租户节点,用于:在作为目标节点时,由所对应的通信连接获取操作命令,执行操作命令,并将执行操作命令所得结果返回给管理平台。
需要说明的是,本发明实施例提供的一种节点管控系统中相关部分的说明请参见本发明实施例提供的一种节点管控方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种节点管控方法,其特征在于,应用于节点管控系统,所述节点管控系统包括管理平台、租户节点及路由器,所述管理平台与管理网络连接,所述路由器与至少一个租户网络一一对应,每个所述租户网络中包含多个所述租户节点,每个所述租户节点通过所在租户网络、所在租户网络对应的路由器及所述管理网络建立与所述网络平台间的通信连接;所述方法包括:
管理平台获取操作命令,确定所述操作命令对应的租户节点为目标节点;
所述管理平台查找与所述目标节点对应的通信连接,将所述操作命令写入至与所述目标节点对应的通信连接中;
所述目标节点由所对应的通信连接获取所述操作命令,执行所述操作命令,并将执行所述操作命令所得结果返回给所述管理平台。
2.根据权利要求1所述的方法,其特征在于,还包括:
每个所述租户节点从所述管理平台中拉取自身所需的代理镜像,基于拉取的代理镜像以docker容器的形式运行代理程序,并授权运行的代理程序实现所在租户节点需实现的功能。
3.根据权利要求2所述的方法,其特征在于,所述目标节点执行所述操作命令,包括:
所述目标节点的代理程序生成一个临时容器,利用所述临时容器执行所述操作命令,并在获取执行所述操作命令所得结果后,删除所述临时容器。
4.根据权利要求2所述的方法,其特征在于,每个所述租户节点从所述管理平台中拉取自身所需的代理镜像,包括:
每个所述租户节点确定自身包含的操作系统及所需的安装包版本,从所述管理平台中拉取与自身包含的操作系统及所需的安装包版本相匹配的代理镜像。
5.根据权利要求4所述的方法,其特征在于,每个所述租户节点从所述管理平台中拉取自身所需的代理镜像,包括:
每个所述租户节点均基于https协议从所述管理平台中拉取自身所需的代理镜像。
6.根据权利要求1所述的方法,其特征在于,每个所述租户节点与所述网络平台间建立通信连接,包括:
每个所述租户节点向所述网络平台发送连接请求;其中,所述连接请求中携带有外界向所述租户节点输入的用于实现通信连接建立的令牌;
所述网络平台判断所述连接请求携带的令牌是否为预设的令牌,如果是,则建立与相应租户节点之间的websocket连接,否则,确定无法建立与相应租户节点之间的websocket连接;其中,预设的令牌为向所述网络平台注册租户节点时,所述网络平台生成的与注册的租户节点对应的令牌。
7.根据权利要求6所述的方法,其特征在于,每个所述租户节点与所述网络平台间建立通信连接之后,还包括:
每个所述租户节点实时监控自身与所述管理平台之间的连接状态,如果监控到连接状态为断开状态,则执行向所述管理平台发送连接请求的步骤,以重新建立与所述管理平台间的通信连接。
8.根据权利要求7所述的方法,其特征在于,每个所述租户节点与所述网络平台间建立通信连接之后,还包括:
所述管理平台定时或者实时确定与每个所述租户节点之间的连接状态,并记录与每个所述租户节点之间的连接状态。
9.根据权利要求8所述的方法,其特征在于,所述管理网络及每个所述租户网络之间均通过相应路由器的snat实现连接。
10.一种节点管控系统,其特征在于,包括管理平台、租户节点及路由器,所述管理平台与管理网络连接,所述路由器与至少一个租户网络一一对应,每个所述租户网络中包含多个所述租户节点,每个所述租户节点通过所在租户网络、所在租户网络对应的路由器及所述管理网络建立与所述网络平台间的通信连接;其中:
所述管理平台,用于:获取操作命令,确定所述操作命令对应的租户节点为目标节点;查找与所述目标节点对应的通信连接,将所述操作命令写入至与所述目标节点对应的通信连接中;
所述租户节点,用于:在作为所述目标节点时,由所对应的通信连接获取所述操作命令,执行所述操作命令,并将执行所述操作命令所得结果返回给所述管理平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010989172.1A CN112187532A (zh) | 2020-09-18 | 2020-09-18 | 一种节点管控方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010989172.1A CN112187532A (zh) | 2020-09-18 | 2020-09-18 | 一种节点管控方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112187532A true CN112187532A (zh) | 2021-01-05 |
Family
ID=73956459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010989172.1A Withdrawn CN112187532A (zh) | 2020-09-18 | 2020-09-18 | 一种节点管控方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112187532A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268312A (zh) * | 2021-05-14 | 2021-08-17 | 济南浪潮数据技术有限公司 | 一种应用迁移方法及系统 |
CN113342478A (zh) * | 2021-08-04 | 2021-09-03 | 阿里云计算有限公司 | 资源管理方法、设备、网络系统及存储介质 |
US20220244976A1 (en) * | 2021-02-03 | 2022-08-04 | Red Hat, Inc. | Containers on demand |
WO2023185136A1 (zh) * | 2022-03-31 | 2023-10-05 | 苏州浪潮智能科技有限公司 | 一种边缘节点的处理方法、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017198035A1 (zh) * | 2016-05-20 | 2017-11-23 | 北京奇虎科技有限公司 | Docker容器上传/下载特性的控制方法及装置 |
CN111629059A (zh) * | 2020-05-27 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种集群通信方法、系统、设备及计算机可读存储介质 |
-
2020
- 2020-09-18 CN CN202010989172.1A patent/CN112187532A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017198035A1 (zh) * | 2016-05-20 | 2017-11-23 | 北京奇虎科技有限公司 | Docker容器上传/下载特性的控制方法及装置 |
CN111629059A (zh) * | 2020-05-27 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种集群通信方法、系统、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
FLGB: "docker镜像拉取、运行、删除", 《HTTPS://WWW.CNBLOGS.COM/FLGB/P/12142894.HTML》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220244976A1 (en) * | 2021-02-03 | 2022-08-04 | Red Hat, Inc. | Containers on demand |
CN113268312A (zh) * | 2021-05-14 | 2021-08-17 | 济南浪潮数据技术有限公司 | 一种应用迁移方法及系统 |
CN113342478A (zh) * | 2021-08-04 | 2021-09-03 | 阿里云计算有限公司 | 资源管理方法、设备、网络系统及存储介质 |
WO2023185136A1 (zh) * | 2022-03-31 | 2023-10-05 | 苏州浪潮智能科技有限公司 | 一种边缘节点的处理方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713177B2 (en) | Remote management of networked systems using secure modular platform | |
CN110191007B (zh) | 节点管理方法、系统及计算机可读存储介质 | |
CN112187532A (zh) | 一种节点管控方法及系统 | |
US10545750B2 (en) | Distributed upgrade in virtualized computing environments | |
RU2533063C2 (ru) | Способ установления соединения (варианты), способ передачи пакета данных и система удаленного доступа | |
US11856065B2 (en) | Data transmission for service integration between a virtual private cloud and an intranet | |
US8166538B2 (en) | Unified architecture for remote network access | |
US10645172B1 (en) | Socket tunneling connections in a service provider environment | |
JP2014157617A (ja) | コンピュータネットワークの動的な移行 | |
RU2533638C2 (ru) | Способ и устройство для конфигурирования данных | |
US11226883B2 (en) | Secure method for managing a virtual test platform | |
US11997015B2 (en) | Route updating method and user cluster | |
WO2023056722A1 (zh) | 一种分布式防火墙定义方法及系统 | |
WO2024088217A1 (zh) | 私有网络的访问方法和系统 | |
CN112291298A (zh) | 异构系统的数据传输方法、装置、计算机设备和存储介质 | |
CN112667293B (zh) | 一种部署操作系统的方法、装置及存储介质 | |
CN114268938A (zh) | 用户前置设备的纳管方法、装置、设备以及存储介质 | |
CN114785761B (zh) | 物联网操作系统中一种先进的k8s集群互相通信方法 | |
US7805733B2 (en) | Software implementation of hardware platform interface | |
CN114884771B (zh) | 基于零信任理念的身份化网络构建方法、装置和系统 | |
CN115334018A (zh) | 基于Openstack的IaaS云架构的容器控制方法、装置及容器 | |
US11563721B2 (en) | Methods and systems for network address translation (NAT) traversal using a meet-in-the-middle proxy | |
CN114025005A (zh) | 一种数据通讯方法、系统、电子设备及存储介质 | |
CN110650125B (zh) | 一种主机设备及基于Pexpect进行互信操作的方法 | |
CN113612813B (zh) | 分布式跨网络访问方法、装置、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210105 |