Hen*_*rik 18 .net rake puppet chef-infra
我想询问你何时以及在什么情况下使用木偶以及何时使用厨师.我还发现了rump这是一种木偶独奏类型的东西,你可以将单个服务器迭代到它的配置,然后将其推送到一系列服务器,让你直接看到变化.
我的问题:我应该使用以上哪种方式以及以何种方式使用?有人能帮助我吗?
我的目标是持续集成,在单/ .Net环境中使用rake和git进行持续部署.我想轻松地打包,版本和部署Web应用程序,并希望将Recepies用于多个Web服务器的负载均衡器.能够快速降低这些并且在升级之间没有任何停机时间.
Ric*_*rdo 27
使用过两者之后,我会说这取决于你所寻找的东西.在我看来:
Chef更注重开发人员.如果你是一个Ruby大师,你会喜欢它.
Puppet更加面向系统管理员.它有一个非ruby DSL,因此将错误传播到你的机器(imho)更加困难.
Puppet创建了更具可读性和稳定性的代码,但部署新功能的速度也很慢.这可能是您在一个强烈相信您的DevOps工作的大型企业结构中所需要的.
使用Chef,您可以用更少的代码和更少的时间来完成复杂的任务.您可以使用所有ruby魔法,而无需创建Puppet构造.这很好,例如,当你的公司不真正相信DevOps价值并且你经常在时间上努力证明你的经理是错的:-)我个人发现Puppet在开发新功能时执行起来有点慢,可能有点痛苦.
我的建议是:如果你是具有一些开发技能的系统管理员,请选择Puppet.如果你对Ruby(或Python)很好,那就选择Chef.
我也试过臀部,我正在玩它.它很有帮助,很酷,但我仍然没有看到一个巨大的价值,除了懒惰的输入rump而不是puppet apply -vd --modulepath =.模块/舱单/ init.pp.:)
小智 15
我会使用Puppet,但是当我写一本关于它的书并在那里工作时,我有点偏颇.:)除了Rump之外,您还可以在其应用模式中使用Puppet - 这与chef-solo相同.虽然Rump在这个值得尝试的过程中包含了一些好处.
我使用Rump作为回合给Puppet一个镜头 - 你可以使用Puppet DSL或Ruby DSL(Chef只有一个Ruby DSL).使用Puppet创建"环境"并将git/CI工作流与您的部署集成非常容易.它也很容易与Rake任务等集成.
Hen*_*rik 10
最后,我最终得到了puppet + vagrant,它允许我运行/重新运行/测试木偶清单:
首先安装VirtualBox,然后:
gem install puppet
gem install vagrant
Run Code Online (Sandbox Code Playgroud)
然后:
vagrant box add base http://files.vagrantup.com/lucid32.box
vagrant init
Run Code Online (Sandbox Code Playgroud)
然后编辑./Vagrantfile说:
Vagrant::Config.run do |config|
config.vm.box = "base"
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.module_path = "modules"
end
# rest here
end
Run Code Online (Sandbox Code Playgroud)
然后添加一个节点定义manifests/default.pp
,如:
group { "puppet":
ensure => "present",
}
file { '/etc/motd':
content => "Welcome to your Vagrant-built virtual machine!\n"
}
Run Code Online (Sandbox Code Playgroud)
然后运行:
vagrant up
Run Code Online (Sandbox Code Playgroud)
现在您已经拥有了一个可以玩的木偶管理虚拟机,并且您更改的任何清单都会进入源代码管理.你可以快速迭代而不必诉诸臀部.
Puppet和Chef之间没有提到的另一个重要区别是Puppet将在服务器上执行所有清单编译,而Chef(和cfengine)将在客户端上完成部分或全部工作.
这意味着*通过运行puppet减少客户端上的CPU占用空间,并且只在服务器上运行用Puppet编写的加载项模块.
第二部分很重要,因为它使Puppet与您的其他架构更加容易.例如,如果您想通过API从另一个应用程序提取数据,则在Puppet下只需要在Puppetmaster上安装必要的API模块,并且只需要授予该服务器访问API的权限.任何必要的证书也留在木偶大师身上 - 更加安全.
我们集成了Puppet和SecretServer(使用puppet自动旋转root密码并将它们存储到SecretServer中).正如我理解模型一样,这在Chef下是不可能或不安全的.
归档时间: |
|
查看次数: |
6948 次 |
最近记录: |