[问题已处理]-ansible不同组中相同变量被覆盖的问题

ansible的hosts文件里添加部分的children和vars如下

[card-prod1:vars]
dubbo_port="20904"
tomcat_port="8804"

[card-prod2:vars]
dubbo_port="20904"
tomcat_port="8804"

[card:children]
card-prod1
card-prod2


[video:children]
video-prod1
video-prod2

[video:vars]
dubbo_port=20920
tomcat_port=8820


[wx:children]
wx-prod1
wx-prod2

[wx:vars]
dubbo_port=20918
tomcat_port=8818

dubbo_port会被最后一个参数的值覆盖掉。

查了下资料 似乎没法解决。不想每个主机写一个参数,采用直接使用-e 参数传入 方便一点。至少只要每个组传一次 方便一些。

变量优先级
1 extra vars (在命令行中使用 -e)优先级最高
2 然后是在inventory中定义的连接变量(比如ansible_ssh_user)
3 接着是大多数的其它变量(命令行转换,play中的变量,included的变量,role中的变量等)
4 然后是在inventory定义的其它变量
5 然后是由系统发现的facts
6 然后是 "role默认变量", 这个是最默认的值,很容易丧失优先权

可参考

https://www.it1352.com/1930098.html

https://linux.xiao5tech.com/devops/ansible/1.5.4_var_same_host_different_group.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值