2016-03-21 279 views
1

我已经开始使用ansible,我想知道在剧本中使用多个角色或指定多个角色依赖关系的最佳做法。例如:考虑角色名称common。这个角色的存在是为了在该网站的所有内容中共享通用配置。然后有web,dbmail等角色。在实践中这些需要common角色。所以问题是:这样的事情应该在为不同角色创建机器或指定为角色依赖性的剧本中表达出来?是否存在任何一种方法或其他方法的权衡。我倾向于将它们指定为角色依赖关系。Playbook依赖关系与角色依赖关系

你以前是怎么做到的?

回答

2

如果某个角色真的取决于其他角色,比如先安装某些需求,然后才能使用,则角色依赖关系是合适的。因此,如果common确实安装了需求,则它符合角色依赖关系。如果它完全不相关的东西,它不应该是一个角色依赖。

名称common表明它可能实际上正在做多件事情,恰好在所有主机上执行。相反,我建议你真的在角色。所有主机都可能安装了Apache,MySQL和PHP。这并不意味着它必须被塞进一个角色。使它成为3个角色,小包装。然后它应该明白哪个角色是另一个角色的依赖关系,或者是否应该添加到剧本级别。