当前位置: 首页 > 专利查询>红帽公司专利>正文

在远程位置处控制节点的自动部署制造技术

技术编号:38278553 阅读:13 留言:0更新日期:2023-07-27 10:28
根据本文描述的一些示例,可以在远程位置处自动部署控制节点。在一个示例中,系统可以通过执行各种操作在远程位置处自动设置控制节点。操作可以包括与远程位置交互以在远程位置处部署控制节点的实例。操作可以包括向远程位置提供配置脚本以供实例在配置一个或多个受管节点时使用。操作可以包括向远程位置提供连接信息,以供实例在建立到一个或多个受管节点的网络连接时使用。然后,系统可以发起配置处理,其中控制节点建立到一个或多个受管节点的网络连接,随后根据配置脚本配置一个或多个受管节点。受管节点。受管节点。

【技术实现步骤摘要】
在远程位置处控制节点的自动部署


[0001]本公开一般涉及可在计算环境中使用的控制节点。更具体地,但不作为限制,本公开涉及在远程位置处控制节点的自动部署。

技术介绍

[0002]诸如云计算环境和计算集群之类的分布式计算环境最近越来越受欢迎。这些计算环境可以包括用于执行各种计算任务的大量节点(例如,物理机或虚拟机)。考虑到一些分布式计算环境的复杂性,已经开发了帮助更有效地管理它们的自动化框架。这些自动化框架可以帮助自动化分布式计算环境的各个方面的部署、配置和管理。
[0003]一个流行的自动化框架是的Ansible。Ansible是可以帮助部署应用、更新工作站和服务器、云供应、配置管理以及针对系统管理员的许多其他功能的软件工具。在Ansible,存在两类计算机:控制节点和受管节点(managed node)。控制节点通常运行Ansible并管理受管节点。受管节点可以是由控制节点管理的任何计算设备。控制节点可以将称为“模块”的小软件程序发送到可以运行模块的受管节点。当被执行时,模块可以配置受管节点以符合目标状态。一旦它们完成执行,就可以从受管节点中移除模块。以这种方式,模块可以在它们执行并且然后被移除的持续时间内临时存储在受管节点上。
[0004]在Ansible中,模块提供了完成期望的自动化任务的手段,但是使用模块的方式由“脚本簿(playbook)”管理。脚本簿是以人类可读语言草拟的配置文件,其提供了用于将受管节点转换为目标状态所需做出的指令。脚本簿通常以YAML非标记语言(YAML)格式编写,尽管其他格式也是可能的。
附图说明
[0005]图1是根据本公开的一些方面的用于将控制节点自动部署到远程位置的系统的示例的框图。
[0006]图2是根据本公开的一些方面的用于将控制节点自动部署到远程位置的系统的示例的框图,其中各个项目存储在除用户设备之外的源位置处。
[0007]图3是根据本公开的一些方面的控制节点被部署在虚拟机或容器内的远程位置处的系统的示例的框图。
[0008]图4是根据本公开的一些方面的其中控制节点经由用户设备与受管节点通信的系统的示例的框图。
[0009]图5是根据本公开的一些方面的其中控制节点部署在多个远程位置处的系统的示例的框图。
[0010]图6是根据本公开的一些方面的用于将控制节点自动部署到远程位置的计算设备的示例的框图。
[0011]图7是根据本公开的一些方面的用于将控制节点自动部署到远程位置的处理的示例的流程图。
[0012]图8是根据本公开的一些方面的与远程位置处的控制节点相对应的计算设备的示例的框图。
[0013]图9是根据本公开的一些方面的用于将控制节点自动部署到远程位置的处理的另一示例的流程图。
具体实施方式
[0014]一些自动化框架(例如,Ansible)涉及控制节点和一个或多个受管节点。控制节点可以是被配置为管理受管节点的任何物理机或虚拟机。受管节点可以是由控制节点管理的任何物理机或虚拟机。在一些情况下,控制节点可以通过配置受管节点使得它们符合目标状态来管理受管节点。该配置处理可以涉及控制节点向受管节点发送命令或模块,以用于在受管节点上安装操作系统、应用和其他软件并配置其设置。
[0015]通常,系统管理员使用他们自己的计算机作为控制节点。为此,系统管理员在他们的计算机上手动下载并安装控制节点软件(例如,Ansible),提供用于配置控制节点软件本身的配置文件,提供由控制节点在连接到受管节点时使用的连接信息,以及提供由控制节点在管理受管节点时使用的配置脚本(例如,playbook)。系统管理员还可能需要提供其他数据来实现控制节点。该手动处理可能是耗时且乏味的。并且一旦部署了控制节点,它就在系统管理员自己的计算机上执行,消耗该计算机的资源(例如,CPU、RAM、存储器和网络资源)。这可能阻止该计算机用于其他处理,或者可能负面地影响在计算机上执行的其他处理。如果系统管理员决定替换使用不同的计算机作为控制节点,则系统管理员可能需要再次手动执行全部这些操作。
[0016]本公开的一些示例可以通过在由用户(诸如系统管理员)选择的远程位置处自动部署控制节点来克服上述问题中的一个或多个。例如,用户可以具有用户设备,诸如膝上型计算机、台式计算机或平板电脑。用户设备可以包括控制节点部署模块(CNDM)。用户可以向CNDM输入远程位置,其中远程位置可以是与用户设备分离的任何位置。远程位置的一个示例可以是与用户设备分离的分布式计算环境。基于该输入,CNDM然后可以使控制节点软件被下载并安装在远程位置。CNDM还可以向远程位置提供由控制节点在连接到一个或多个受管节点时使用的连接信息、用于配置控制节点的配置文件、以及由控制节点在管理受管节点时使用的配置脚本。远程位置可以使用控制节点软件来部署具有根据配置文件配置的设置的控制节点的实例。一旦部署在远程位置处,控制节点然后就可以使用连接信息连接到受管节点,并且执行配置脚本以管理受管节点的一个或多个方面。以这种方式,可以使用CNDM在远程位置处快速且容易地部署控制节点。
[0017]在一些示例中,远程位置处的控制节点可以基于其对一个或者多个受管节点的管理来生成日志数据。例如,当控制节点执行配置脚本以配置受管节点时,控制节点可以记录发生的一个或多个事件。控制节点可以(例如,实时地)将日志数据发送回用户设备,使得用户可以容易地监视控制节点的管理活动。通过将日志数据发送回用户设备,用户仍然可以监视控制节点的管理活动,即使它们已经被卸载到远程位置。
[0018]在一些示例中,用户可以决定将控制节点从第一远程位置移动到第二远程位置。为此,用户可以使用CNDM。例如,用户可以输入要执行控制节点的第二远程位置。基于该输入,CNDM可以将控制节点软件、连接信息、配置文件和配置脚本发送到第二远程位置,并在
第二远程位置处发起控制节点的新实例的部署。一旦控制节点部署在第二远程位置处,CNDM就可以向第一远程位置发送命令,以使得第一远程位置关闭控制节点的当前运行实例并移除与其相关联的任何文件。移除所述文件可以节省在第一远程位置处的存储器和存储空间。通过等到在第二远程位置处部署控制节点之后再在第一远程位置处关闭控制节点,可避免执行间隙。这可以允许以相对连续的方式管理受管节点。
[0019]在一些示例中,CNDM可以基于在第一远程位置处的一个或多个事件将控制节点从第一远程位置自动移动到第二远程位置。例如,CNDM可以接收第一远程位置的存储器、处理能力或其他计算资源低的指示。响应于接收到该指示,CNDM可以发起控制节点从第一远程位置到第二远程位置的转移。这可以帮助释放在第一远程位置处的计算资源以用于其他任务。可以以上面描述的方式实现转移。
[0020]在一些示例中,用户设备可以用作控制节点和受管节点之间的媒介(例如,而不是用作控制节点更直接地管理受管节点)。例如,控制节点可以基于配置脚本将控制数据发送到用户设备。用户设备可以接收控制数据并将其转发到受本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种包括程序代码的非暂时性计算机可读介质,所述程序代码可由处理器执行以使所述处理器:接收指示要部署控制节点的远程位置的输入;基于接收到所述输入,通过以下方式在所述远程位置处自动设置所述控制节点:与所述远程位置交互以在所述远程位置处部署所述控制节点的实例;向所述远程位置提供配置脚本以供所述实例在配置一个或多个受管节点时使用;以及向所述远程位置提供连接信息,以供所述实例在建立到所述一个或者多个受管节点的网络连接时使用;以及发起配置处理,在所述配置处理中,所述控制节点建立到所述一个或多个受管节点的所述网络连接,并且随后根据所述配置脚本来配置所述一个或多个受管节点。2.根据权利要求1所述的非暂时性计算机可读介质,还包括可由所述处理器执行以使所述处理器通过以下方式在所述远程位置处自动设置所述控制节点的程序代码:向所述远程位置提供配置文件,用于在所述远程位置处配置所述控制节点的所述实例,所述配置文件不同于所述配置脚本并且专门用于配置所述控制节点。3.根据权利要求1所述的非暂时性计算机可读介质,其中,所述连接信息包括在所述一个或多个受管节点中的每个受管节点的相应标识符。4.根据权利要求3所述的非暂时性计算机可读介质,其中,所述连接信息包括供所述控制节点的所述实例在与所述一个或多个受管节点的认证处理中使用的认证数据,所述一个或多个受管节点要求所述认证处理在允许所述控制节点配置所述一个或多个受管节点之前被完成。5.根据权利要求1所述的非暂时性计算机可读介质,还包括可由所述处理器执行以使所述处理器通过以下方式与所述远程位置交互以在所述远程位置处部署所述控制节点的所述实例的程序代码:与所述远程位置交互以在所述远程位置处供应虚拟机或容器;向远程位置提供用于控制节点的二进制文件;以及与所述远程位置交互以使所述二进制文件在所述虚拟机或所述容器内执行,使得所述控制节点的所述实例被部署在所述虚拟机或所述容器内。6.根据权利要求1所述的非暂时性计算机可读介质,其中,所述控制节点被包括在与所述一个或多个受管节点相同的计算环境中。7.根据权利要求1所述的非暂时性计算机可读介质,还包括可由所述处理器执行以使所述处理器执行以下操作的程序代码:在发起所述配置处理之后,从所述控制节点的所述实例接收日志数据,所述日志数据描述由所述控制节点记录的与所述配置处理相关的事件。8.根据权利要求1所述的非暂时性计算机可读介质,还包括可由所述处理器执行以使所述处理器执行以下操作的程序代码:确定所述控制节点将被移动到新的远程位置;以及基于确定所述控制节点将被移动到所述新的远程位置:通过以下方式在所述新的远程位置处生成所述控制节点的另一实例:与所述新的远程位置交互以在所述新的远程位置处部署所述控制节点的新实例;
将所述配置脚本提供给所述新的远程位置以供所述新实例使用;以及将所述连接信息提供给所述新的远程位置以供所述新实例使用;以及与所述远程位置交互以关闭所述控制节点的所述实例。9.根据权利要求8所述的非暂时性计算机可读介质,还包括可由所述处理器执行以使所述处理器基于所述远程位置的特性或所述远程位置中的事件来确定所述控制节点将被移动到所述新的远程位置的程序代码。10.根据权利要求1所述的非暂时性计算机可读介质,还包括可由所述处理器执行以使所述处理器执行以下操作的程序代码:确定所述控制节点的至少两个实例将被部署在至少两个远程位置中;基于确定所述控制节点的所述至少两个实例将被部署在所述至少两个远程位置中:在所述远程位置处自动部署所述控制节点的所述实例,所述实例是所述控制节点的第一实例,并且所述远程位置是所述至少两个远程位置中的第一远程位置;以及在所述至少两个远程位置中的第二远程位置处自动部署所述控制节点的第二实例;以及与所述至少两个远程位置交互,以使所述至少两个实例彼此并行地执行所述配置处理的方面。11.根据权利要求10所述的非暂时性计算机可读介质,其中所述第一远程位置比所述第二远程位置在地理上更靠近所述一个或多个受管节点中的第一受管节点,并且其中所述第二远程位置比所述第一远程位置在地理上更...

【专利技术属性】
技术研发人员:A布雷格曼S马塔
申请(专利权)人:红帽公司
类型:发明
国别省市:

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

1