2016-03-15 34 views
0

我们有一个场景,我们可能有100多个Linux系统在现场,我们希望远程管理部署到这些系统上的软件。这些系统是移动的,只能通过WiFi连接到网络,并且处于相当粗糙的环境中。他们偶尔需要更换,需要将相同的软件和配置部署到新系统上,以取代现有的系统。SaltStack U盘部署

随着系统移入或移出网络覆盖范围,系统的任何更新都可以远程部署到该系统,但是当系统正在安装/更换时,在没有任何WiFi的情况下固定在一个位置并不罕见覆盖。因此,无论我们选择做什么,我们都需要选择使用USB棒来部署新的/替换系统。

更为复杂的是,每个系统都由2台或更多台本地有线网络中的计算机组成。我们希望能够让其中一台电脑成为'主',这样我们只需要更新计算机与USB棒和本地网络('奴隶')上的任何其他计算机将由主人自动更新。我们还希望支持其中一个从站被替换的情况(已经加载了一些最低限度功能的系统),并且当它连接到“主站”时,它将被自动更新。我一直在(简单地)看着SaltStack,当网络连接可用时(在这种情况下,'奴隶'可以直接连接到服务器并从那里获取它们的更新),它看起来是一个不错的选择。但是我不确定它在USB棒部署方案中对我们有多好。理想情况下,我希望能够访问SaltStack服务器,在某处输入“主”计算机的minion ID并将部署映像下载到USB存储棒上,这不仅可以让我们配置“主”,还可以让“主”自动配置任何连接的“从属”计算机。

  • 这是SaltStack可以处理的东西吗?
  • 让每个主人成为一个SaltStack服务器是有意义的,这样我们就有了一个根SaltStack服务器,它依次部署'主'SaltStack计算机,然后部署本地“从”计算机?在某些情况下,带有256MB内存的低功耗PowerPC需要充当其他一台机器的'主'...因此这可能不可行。
  • 在这种情况下,'独立小人'会有什么用处吗?
  • 是否还有其他类似的工具可以处理我应该看到的这种情况?

我们目前正在使用我们自己开发的adhoc系统,但它迫切需要更换。我们并不反对在SaltStack的基础上进行一些开发以支持这种情况,但是我想知道这是否是一个明智的途径,或者如果我们最好保留一些自定义。

可能相关的一些其他信息随机位: *系统本身涉及几种不同的CPU体系结构:ARM,PowerPC和x86。 *系统不是服务器,它们是资源有限的现场设备。从具有256MB RAM的200MHz PowerPC到具有2GB RAM的Intel Atom Bay Trail。存储范围从512MB到几GB。 *他们都运行基于Yocto的Linux发行版。

回答

0

有四种以及公认的开源工具,配置管理的区域(所谓的CAPS工具):

对于你的用例,我会画哟我注意到Ansible,因为它主要是通过SSH以无代理方式运行,将其配置存储在通常在Git存储库中掌握的文件中。

我很肯定你可以适应这些工具中的任何一种,但是你可能会发现在笔记本电脑上安装ansible并将它用作启动配置运行的移动工作站很方便。