Capistrano 或 Puppet 能做到这一点吗?

Capistrano 或 Puppet 能做到这一点吗?

我发现自己花了很多时间来设置新服务器。我总是使用完全相同的软件堆栈:

nginx mysql php + php-fpm + xcache memcached munin

我从我的 github repo 中提取了所有配置和 init.d 脚本。

我的所有服务器都运行 Debian。我的第一步通常是 apt-get update 和 apt-get install vim(以及其他基本软件包)。

Capistrano 或 Puppet 能否实现此过程的自动化?如果两者都能,哪一个更适合这项工作?

PS:我更喜欢 Capistrano,因为我对 Ruby 比较熟悉。

答案1

据我所知,他们可以。请注意,puppet 也是 ruby​​。厨师

我猜这是一个个人品味的问题,看看定义“食谱”的方式,然后决定哪种更适合你。

您还可以查看这些其他 问题

这个答案说明了一切 :)。如果您已经有 git 存储库,也许 capistrano 是更好的选择。

查看这些 文章关于 puppet 和 capistrano 在目标和功能上的差异以及如何在两者之间做出选择。

答案2

Puppet 非常适合这种情况。Puppet 为您提供了一种声明性语言来描述每个服务器的配置,包括包、服务和配置文件。Puppet 提供了一个强大的框架来描述每个组件之间的依赖关系,这允许您构建模块化配置文件来描述如何获取基础图像并将其转变为可处理特定角色的服务器。

答案3

这听起来确实像是 Puppet 的完美应用。如果有帮助的话,我为完全初学者写了一系列关于 Puppet 的简短教程文章,涵盖了安装、启动和运行以及管理您的第一个 Puppet 资源:

Puppet 教程

相关内容