2012-07-09 150 views
0

是否有可能在您使用JClouds实例化您的云中的新虚拟机时创建Puppet设置,然后通过Puppet定义并实施其配置(软件堆栈)?云中的木偶?

或者Puppet的本质固有的东西可以阻止它在像AWS,RackSpace或Heroku这样的云提供商上使用吗?

回答

5

Puppet是配置云基础架构的绝佳选择,大多数云提供程序允许您在第一次启动时调用脚本(Ec2具有用户数据),您可以使此脚本插入一些节点类型数据,然后克隆puppet回购并应用它,如果你不想运行木偶主服务(这可能是一个麻烦设置和维护),你也可以使用git推动更新到配置,甚至在配置更改时生成一个新的图像,以允许快速节点将与您最新的设置一起启动。看看这blog

+0

Thanks @Mark(+1) - 真快:为了确认,我会用JClouds产生一个新的虚拟机,然后使用Puppet来配置它的软件堆栈,是的?再次感谢! – IAmYourFaja 2012-07-11 18:57:17

+0

是的,它是如何工作的。 – Mark 2012-07-15 17:58:42

+0

博客链接已死:'( – 2014-04-19 21:13:45

0

我知道,直接宣布puppet + jclouds集成的唯一的开源工具是Apache Whirr,但这主要是通过puppet apply与服务器。

由于傀儡现在有restful interface,应该可以在jcloud中创建本地木偶支持,就像我们为chef所做的那样。你会受到欢迎,以帮助define that :)

在此同时,您可以使用类似的呼呼声,或工艺说明和节点创建过程中通过jclouds TemplateOptions.runScript提供它们作为一个shell脚本,或者在以后使用submitScriptOnNode命令(目前都通过ssh运行)。

6

这里涉及两个独立的问题:在云节点上引导puppet并在它们之间进行编排(例如,使用数据库的ip地址配置应用程序服务器)。

对于自举,有许多工具可用; AWS CloudFormation可以使用用户数据,CloudInit(Ubuntu上的默认设置,ec2-linux AMI和许多EL图像)进行集成,支持开箱即用的木偶。 Puppetlabs提供cloud provisioner,最后是Cloudify。 除CloudFormation和Cloudify之外,大多数工具在引导后不管理堆栈,也不提供编排。 CloudFormation本身只提供启动时间协调,而且非常蹩脚。木偶本身在编排方面缺乏(与厨师的卓越搜索功能相比)

Cloudify通过Puppet集成模块提供持续的堆栈管理和花哨编排。这使您能够在节点之间传递信息(用于服务发现,凭证分发等)并使用一个命令引导整个系统。另外它支持大多数云存在。