在我们公司中,我们使用ansible来针对不同的环境,在开发和集成方面大约10个,在生产方面大约3个。这些环境在专用资源数量方面存在一些差异。例如,在生产中,我们有一个独立的服务器或虚拟机专用于运行jvm,另一台服务器用于运行dB ...在某些其他环境中,这些应用程序共享同一服务器或vm。问题在于,需要针对某些环境调整一些剧本,以便如何使它尽可能通用和透明?
感谢您的建议
答案 0 :(得分:0)
您想要实现的目标是将好主人归为好团体。 如果您熟悉ansible-inventory --graph,那么您要实现以下目标:
@all:
|--@dev:
| |--devel1.domain.org
| |--devel2.domain.org
|--@db:
| |--db1.domain.org
| |--db2.domain.org
| |--dbprod1.domain.org
| |--appprod2.domain.org
|--@app:
| |--app1.domain.org
| |--app2.domain.org
| |--appprod1.domain.org
| |--appprod2.domain.org
|--@dev1:
| |--devel1.domain.org
| |--db1.domain.org
| |--app1.domain.org
|--@dev2:
| |--devel2.domain.org
| |--db2.domain.org
| |--app2.domain.org
|--@prod:
| |--@prod1:
| | |--dbprod1.domain.org
| | |--appprod1.domain.org
| |--@prod2:
| | |--appprod2.domain.org
此处主机appprod2.domain.org
将继承自app,db,prod,prod2的group_vars