我使用过诸如puppet之类的工具来管理单个系统,通常取得了很高的成功。木偶失败的地方在于它不善于管理单个服务器外部的依赖关系。
例如,在MySQL服务器上,我将puppet配置为执行以下操作:
- 在计算机上配置身份验证以访问我的LDAP服务器
- 配置apt以使用我的本地存储库镜像
- 安装MySQL包
- 写my.cnf
- 启动MySQL
- 在数据库中创建用户
在这组步骤中,解决了许多依赖关系-例如,除非安装了软件包,否则我无法启动数据库服务;除非正确配置了apt repo,否则我将无法启动数据库服务。
该MySQL服务器是master-> master复制设置中的一个框。在理想的情况下,p(或其他类似工具)将让我代表一个事实,即服务器B需要等到服务器A可用后再尝试与之建立复制关系。
这里有很多文字-基本上我要问的是:是否有像puppet这样的工具可以管理这样的机器间依赖关系?