正确的方式分发二进制文件到Linux群集

我最近和我的老板就在Linux集群中的计算节点上分发可执行二进制文件的正确方式存在分歧。 所有的计算节点都运行发行版和相同的版本(特别是Ubuntu 14.04)。

目前的方法是在主节点的所有计算节点上安装nfs共享,并将所有可执行文件(和依赖关系)安装到所述目录中。 通常有10-20个不同的可执行文件,每六个月升级一次。

我相信我们应该把deb软件包部署到计算节点上,但是由于我是集群新手,我觉得我只是在夸夸其谈。

所以我要求提供有关“正确”的方式来部署和升级二进制文件到计算节点的反馈和build议。

谢谢!

没有一个“正确”的方式来做到这一点。 如果NFS共享正在为您工作,并且您不会被SPOF拖延,那么可能会引入,然后继续使用它。

但我通常更喜欢使用适当的configurationpipe理系统(在我的情况下)来分发和安装软件包。 如果软件包可以通过发行版的仓库获得,那么您可以使用Ansible来安装您需要的任何特定版本。 如果是自定义软件包,则可以让Ansible将该软件包从您自己的分发点复制到每个服务器,然后进行安装。

然而,这里的关键是要保持对过程的严格控制 ,并且能够以自动化,可testing,可重复的方式进行。 这并不难,但是您需要了解一下您select的任何CM系统。

您希望群集中的所有计算机始终具有相同的完全二进制存储库。 用于部署这些二进制文件的方法与群集无关。

使用NFS手动部署二进制文件是完全有效的。 根据您的操作范围,构build您自己的软件包并运行您自己的debian存储库可能有点矫枉过正。 话虽如此,使用包pipe理器将使依赖pipe理和回滚更容易。

正如EEAA指出的那样,configurationpipe理系统(厨师,傀儡,安全,盐)是两种方式,因为它可以更容易地确保所有服务器处于完全相同的状态。