Ansible给特定机器设置特殊变量.md
经常会遇到这样的情况,4台服务器,3台高配置,1台低配置,运行同样的程序,其参数是不一致的,需要单独给这个低配置的机器设定变量。
以nginx_procs为例,表示nginx中进程数需要和服务器CPU数量对应。
方法一、变量放入group_vars,使用if判断服务器
nginx_procs: |
{% if inventory_hostname == '10.1.1.13' %}
4
{% elif inventory_hostname == '10.1.1.14' %}
4
{% else %}
12
{% endif %}
方法二、变量放入host_vars中
放入host_vars
# cat 10.1.1.13.yaml
---
nginx_procs: 4
那么问题来了,同时存在group_vars和host_vars哪个会生效呢?
当然是host_vars,因为它的控制力度更精确。
全文完。
转载请注明:IPCPU-网络之路 » Ansible给特定机器设置特殊变量