SaltStack USB-stick部署

时间:2016-03-15 01:16:52

标签: linux deployment salt-stack

我们有一个场景,我们可能有100个Linux系统在现场,我们想远程管理部署在这些系统上的软件。这些系统是移动的,仅通过WiFi连接到网络,并且处于相当恶劣的环境中。它们偶尔需要更换,需要将相同的软件和配置部署到新系统上以替换现有系统。

当系统进出网络覆盖范围时,系统的任何更新都可以远程部署到它,但是当系统安装/更换时,它在没有任何WiFi覆盖的位置静止不常见。因此,无论我们选择做什么,我们都需要选择使用USB棒来部署新的/替换系统。

为了使事情变得更复杂,每个系统由本地有线网络上的两台或更多台计算机组成。我们希望能够让其中一台计算机成为“主计算机”,这样我们只需要使用USB记忆棒和本地网络上的任何其他计算机更新计算机<(em)计算机('奴隶')将由主人自动更新。我们还想支持其中一个从站被替换(已经加载了一些最低功能系统)的场景,当它连接到'master'时它会自动更新。

我(简要地)看过SaltStack,当网络连接可用时,它看起来是个不错的选择(在这种情况下,'奴隶'可以直接连接到服务器并从那里获取更新)。但是我不确定它在USB记忆棒部署方案中对我们有多好。理想情况下,我希望能够访问SaltStack服务器,在某处输入'master'计算机的minion ID并将部署映像下载到USB记忆棒上,这样不仅可以让我们配置'master'而且还可以让'master'自动配置任何连接的“从属”计算机。

  • 这是SaltStack可以处理的东西吗?
  • 让每个主服务器成为SaltStack服务器是否有意义,以便我们有一个根SaltStack服务器,然后部署“主”SaltStack计算机,然后再部署本地“从属”计算机?在某些情况下,具有256MB RAM的低功率PC需要充当另一台机器的“主机”......所以这可能不太可行。
  • 在这种情况下,“独立的小兵”会有用吗?
  • 是否还有其他类似的工具可以解决我应该关注的这种情况?

我们目前正在使用我们自己开发的adhoc系统,但它迫切需要更换。我们并不反对在SaltStack之上自己做一些开发以支持这种情况,但是我想知道这是否是一条明智的选择路径,或者我们是否最好选择定制的东西

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

1 个答案:

答案 0 :(得分:0)

配置管理领域有四个公认的开源工具(所谓的CAPS工具):

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

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