Ansible:基于deploymen更改模板中的值

2024-06-02 10:33:14 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以使用ansible在部署的基础上更改值?我在两台机器上配置keepalive,我想为优先级添加一个循环。你知道吗

我不能循环或使用range()函数,因为它只会在同一个部署中循环。你知道吗

我正试着设置优先级:

  • 磅1=100
  • 磅2=101

到目前为止,我的vrrp实例如下所示:

vrrp_instance VI_1 {
    state MASTER
    interface {{ int }}
    virtual_router_id 51
    priority 100 <------------------- I'd like to iterate this value
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
      # supports up to 20 by default
        {% for ip in vips %}
           {{ ip.addr }}
        {% endfor %}
    }
}

Tags: to实例instance函数ip机器auth部署
1条回答
网友
1楼 · 发布于 2024-06-02 10:33:14

您可以像这样在模板中使用主机索引(如果您不关心谁将获得更高的优先级):

priority {{ play_hosts.index(inventory_hostname) }}

或者,您可以预先在清单文件中指定优先级作为主机变量,如下所示:

server1 vrrp_priority=100
server2 vrrp_priority=150

。。。然后在模板中使用它:

priority {{ vrrp_priority }}

相关问题 更多 >