使用Chef Server部署AWS Auto Scaling组

例如,您可以使用AWS CloudFormation(与Chef服务器)部署由Web服务器,ELB和数据库组成的Auto Scaling组: http : //aws.amazon.com/cloudformation/aws-cloudformation-templates/

但是,您最初需要创build一个CF模板,是否可以只使用Chef Server和Knife? 我们不希望太依赖CloudFormation,似乎( http://www.opscode.com/ )上的主办Chef服务器能够这样做。

任何开源的替代?

谢谢。

    您可以自动缩放您的EC2实例。 检查这个post ,但在做之前已经读过这个讨论 。 我目前正在使用厨师来configuration我的ec2 instaces和cloudformation设置的亚马逊资源。 接收CloudFormation已经整合了厨师 。 我正在使用云形成和厨师两个,它适合我。

    您可以使用刀ec2插件创build和删除ec2实例,但不会创build可以使用云arrays支持的全部资源(ELB,Route 53 RecordSet,安全组等)。 因此,您可能需要手动创build这些代码,或者构build自己的基于策略的扩展代码,这些扩展代码将响应监视基础结构的警报,从而导致ec2实例使用厨师进行configuration和取消configuration。

    还有一个刀cfn插件,允许您创build和删除使用刀的云形成堆栈。

    如果您依赖于AWS​​,我认为云形成模板将帮助您精心安排厨师部署。 除此之外,这些模板非常适合“基础架构作为代码”的口头禅。 使用Chef您的基础设施将在代码中指定。 保留所有可以转换成源代码控制系统的代码/ CFN模板的扩展策略将是一个耻辱。 模板格式也被Cloudsidekick等第三方所采用,因此可能与部署到AWS以外的其他云提供商有关。

    从我收集到的,你应该能够做到这一点:

    创build一个安装了chef-client的自定义AMI,并且拥有你的组织的validation证书,但不是一个客户端证书,它将在首次调用chef-client时自动注册,并注册新节点。

    将此自定义AMI与新的Auto Scaling启动configuration一起使用 ,然后继续常规Auto Scaling步骤的其余部分。

    我认为,挑战在于,你如何拥有一个新创build和注册的实例通知Chef Server:“ 我想成为一种新型的XXXX服务器 ”。 它看起来并不像厨师 – 客户端将旗帜发送给厨师服务器,并自动将其与angular色等联系起来。

    所以看起来Auto Scaling的确可以在没有使用CloudFormation模板的情况下完成,我只是不明白Auto Scaling如何与Chef一起工作。