我的项目是使用Ansible来pipe理三个服务器集群,每个集群都生活在波士顿,芝加哥和洛杉矶的不同城市和州。 所以在每个数据中心我有两个httpd服务器,三个tomcat服务器和两个数据库服务器。
在我的/ etc / ansible / hosts文件中,我已经根据机器的angular色http,tomcat和db设置了组。
我的问题是,我现在在/ etc / ansible / hosts中创build第二组(地理)组,其中相同的机器在数据中心的名称下面列出,还是应该在group_vars文件中完成? 还是应该在/ etc / ansible / hosts中设置一个父项:子项组?
我的猜测是你将需要一种方法来限制播放到特定的数据中心。 因此,必须为清单文件中的数据中心创build组。
如果你有“angular色”组(http,tomcat和db)以及位置(波士顿,芝加哥和la),你可以在你的剧本中定位这些机器的任何组合,例如hosts: boston&db将限制播放到所有主机在波士顿和分组。