非联网环境中存在哪些configurationpipe理解决scheme?

我的服务器存在于没有外部networking连接的环境中(这是必需的),所以当我部署更新时,所有包,二进制文件,configuration文件等都必须包含在交付的介质上。 当然,我想要一些configurationpipe理,所以我可以告诉什么已经和没有安装。

所以我想知道,如果人们有厨师傀儡或其他configurationpipe理types的工具来处理这种types的环境的经验。 最糟糕的情况是我将我的更新部署为RPM。

编辑:

我的设置有Linux服务器和Windows服务器。

我个人使用Puppet和cfEngine已经发现这两个任务都是很好的工具,我相信他们目前是这个领域的主要参与者。 当你开始尝试缩放它时,puppet需要更多的关注,但是它有一个更好的语法,cfEngine可以很好的扩展,但是学习巫术还需要一些时间。 如果没有外部networking连接包括可以控制的任何其他服务器,则两者都能够caching目录/configuration,以防无法访问主服务器,作为自己的主服务器,或只能按需运行,所以它们应该都处理无networking的要求。 如果他们可以访问内部pipe理的服务器,这绝对不是问题。

一个我用bcfg2发誓的人,但是我没有做任何工作。 我们目前在我的工作地点使用Puppet,无论值多less钱。

每个人都有自己的优势和弱点,你的select主要取决于你可能有的其他任何要求。 你可以在这里看一下你所拥有的更常见和更隐蔽的选项的基本破解。

我假设你出于安全原因已经有一大批在离线环境下运行的服务器(这些原因变得越来越普遍)。 自己遇到了非常类似的情况。 这个问题的真正答案依赖于你的架构是什么样的。

所有常见的玩家(Chef,Puppet,CF-Engine,Salt,Annsible)都将在离线环境下工作,但是某些正常工作的东西不会,并且会阻碍你的工作(例如伪造的木偶自动下载模块需求没有工作)。 但是,根据您使用的软件的版本,有解决方法。 对于木偶(如果你使用v3),我会build议使用r10k来帮助缓解这个问题(我相信v4包括它)。

@David对傀儡说什么也是很好的build议。 现在,重要的是你正在使用我会build议下面,我已经发现将使你的生活变得如此简单: –

  • 尽量避免硬编码数据到configuration(即如果您使用木偶使用hiera)。
  • 尽你所能在networking环境中尽可能多的开发(这样你就不需要担心开发时的依赖性问题
  • 如果大多数系统都可以使用客户端 – 服务器模式,那么本地运行模式确实会产生一些额外的复杂性,如果无法避免,那么这是非常痛苦的。
  • (Chef / Puppet)如果你有一个本地仓库服务器,看看你是否可以设置它来为互联网连接提供食谱/模块(就像使用Maven一样)

从Windows的angular度来看(假设您使用的是最新版本),可以使用Windows DSC + Powershell,至lessChef和Puppet有可以与之交互的食谱/模块来configurationWindows组件(以及其他您可以使用Powershell )。

如果这有助于我在这里看到我自己的问题的答案,因为这是“其他”决定因素之一。

一般来说,你会根据自己的需要来评估每个工具,但是大多数情况下,我发现似乎有一些解决任何问题的社区解决scheme可以缓解您可能遇到的任何问题。

我一直在玩断断续续的Puppet最近的远程环境,我不能有一个主服务器。 特别是, 这篇文章对我有帮助,如果你决定去Puppet路线,那么可能值得一看。

你可以在/ etc / puppet下build立一个普通的Puppet结构,然后手动运行puppet。 到目前为止,我还没有想出如果没有主人,logging和报告会有多好。

这是我在开发/testing过程中最好的朋友:

puppet -d -v --modulepath=/etc/puppet/modules /etc/puppet/manifests/site.pp 

Salt允许您为包裹提供替代位置。

 mypkgs: pkg.installed: - sources: - foo: salt://rpms/foo.rpm - bar: http://somesite.org/bar.rpm - baz: ftp://someothersite.org/baz.rpm - qux: /minion/path/to/qux.rpm 

在这个例子中,这些包将从指定位置安装:

  • foo将从Salt文件服务器上的rpm安装
  • 栏会从http位置安装
  • 巴兹将从一个FTP位置安装
  • qux将从本地文件系统安装