需要根据目标环境进行调整的剧本

时间:2019-06-20 19:23:20

标签: ansible

在我们公司中,我们使用ansible来针对不同的环境,在开发和集成方面大约10个,在生产方面大约3个。这些环境在专用资源数量方面存在一些差异。例如,在生产中,我们有一个独立的服务器或虚拟机专用于运行jvm,另一台服务器用于运行dB ...在某些其他环境中,这些应用程序共享同一服务器或vm。问题在于,需要针对某些环境调整一些剧本,以便如何使它尽可能通用和透明?

感谢您的建议

1 个答案:

答案 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