Chef infra Chef:节点可以有不同的数据库内容吗

Chef infra Chef:节点可以有不同的数据库内容吗,chef-infra,nodes,Chef Infra,Nodes,为了了解Chef nodes能为我做些什么,我(到目前为止)还没有找到以下问题的答案: 比如说,我想建立一个用户可以注册并“创建一个新网站/CMS/博客”的服务。 比如说,我希望每个服务器有10个站点来确保高性能。 这意味着每个节点都应该根据Apache、Linux等进行正确配置,但是数据库内容和一些文件不应该跨节点同步。所以我要找的不是复制或奴隶。我正在寻找一个工具,以确保所有服务器都有相同的配置和最新版本的源代码,没有太多的迷惑 厨师能帮我做这个吗? Chef能否确保数据库结构也同步?因此,

为了了解Chef nodes能为我做些什么,我(到目前为止)还没有找到以下问题的答案:

比如说,我想建立一个用户可以注册并“创建一个新网站/CMS/博客”的服务。 比如说,我希望每个服务器有10个站点来确保高性能。 这意味着每个节点都应该根据Apache、Linux等进行正确配置,但是数据库内容和一些文件不应该跨节点同步。所以我要找的不是复制或奴隶。我正在寻找一个工具,以确保所有服务器都有相同的配置和最新版本的源代码,没有太多的迷惑

厨师能帮我做这个吗? Chef能否确保数据库结构也同步?因此,如果我添加一个新列或更改给定列的数据类型或其他内容,它也会自动同步


提前谢谢

Chef可以轻松地处理配置同步,但它(本身)不进行数据库迁移。如果您编写一个脚本来执行迁移,那么您可以从Chef运行它。大多数web框架都有自己的迁移系统,因此我建议您阅读您正在使用的任何工具。

您可以创建sql本机脚本或从命令行执行的sql脚本,使用github控制其内容,并让chef将脚本拉到要运行脚本的节点,因此,如果您有10个不同的节点,每个节点都有独立的sql Server,并且希望所有节点都能独立运行,那么您可以在每个节点上运行相同的脚本,并让脚本从节点属性中获取值,以自定义脚本执行,例如更改表内使用的url或类似的内容。或者,您甚至可以备份数据库中的起始点,然后使用chef从命令行恢复它