最新消息:

Ansible给特定机器设置特殊变量

Linux ipcpu 3210浏览

Ansible给特定机器设置特殊变量.md

经常会遇到这样的情况,4台服务器,3台高配置,1台低配置,运行同样的程序,其参数是不一致的,需要单独给这个低配置的机器设定变量。

以nginx_procs为例,表示nginx中进程数需要和服务器CPU数量对应。

方法一、变量放入group_vars,使用if判断服务器

  1. nginx_procs: |
  2. {% if inventory_hostname == '10.1.1.13' %}
  3. 4
  4. {% elif inventory_hostname == '10.1.1.14' %}
  5. 4
  6. {% else %}
  7. 12
  8. {% endif %}

方法二、变量放入host_vars中

放入host_vars

  1. # cat 10.1.1.13.yaml
  2. ---
  3. nginx_procs: 4

那么问题来了,同时存在group_vars和host_vars哪个会生效呢?

当然是host_vars,因为它的控制力度更精确。

全文完。

转载请注明:IPCPU-网络之路 » Ansible给特定机器设置特殊变量