有没有人用Puppetpipe理过几个分布在不同地理位置的系统?
我有几个几乎完全相似的部署(除了服务器的IP),我期待转换为Puppet的pipe理。
我有2个选项:
让每个部署主持它自己的PuppetMaster提供本地configuration,然后同步PuppetMasters(也许再次与木偶)
在AWS EC2上托pipePuppetMaster以实现高可用性,并从单点为所有部署提供configuration
有没有人尝试过第二个选项,它是如何工作的? 我对这种环境下的高可用性性能特别感兴趣。
谢谢。
你提出的任何一种方法都没有错。 我们有三个傀儡老师,都位于一个站点,并在世界各地服务节点 – 我们根据连接的puppet节点是否在dev / test / prod中分开它们。 其他人更喜欢在每个地理区域运行木偶大师。 其他人有很多傀儡,有的只pipe一个节点!
关键在于,在版本控制系统中存储和pipe理puppetmaster manifest tree是非常重要的 – 像对待公司所维护的任何其他代码一样对待它。 我会推荐Git,但是如果你更习惯于这个,Subversion也可以做到这一点。 傀儡大师只是一个服务,它提供了你的VCS的特殊视图,而不是一个中央数据库本身。
通过VCS中的内容,您可以将所需的清单/模块部署到各自的puppetmasters,并轻松实现同步。 大会似乎是为民间有一个git / svn回购/模块每puppet模块,虽然没有什么阻止你把整个树下一个回购/模块。
我对你的问题是:
您也可以使用一个使用分布式VCS(如Git)的Puppetmaster-less系统,使用此处描述的scheme:
http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control
我们也有一些木偶大师,我们同步的不同环境。 要做到这一点,我们pipe理我们所有的傀儡模块和在颠覆中的清单,然后使用普通的木偶清单和一个名为vcsdeploy的模块将puppet模块部署到puppet masters上,
http://www.practicalclouds.com/content/guide/pclouds-vcsdeploy-deploy-stuff
当我们想同步我们标记一个版本,然后更新puppet master的nodes.pp。
问候
戴夫