ansible-playbook使用limit限制执行范围

使用ansible-playbook时要限制只在某些主机上执行

常用的方式是增加-l 参数,但这样一个个写ip非常费劲,如下

ansible-playbook -i iplist a.yml -l '192.168.164.20,192.168.164.30,192.168.164.40,'

如果我们要限制的ip范围有几十个,那写着不累吗?有没有从一个文本里读取被限制的ip?

答案是有

写一个ip列表,让playbook只执行这个文件里的ip(文件中一行一个ip或主机名)如:

[root@m10 test_ansible]# cat limit_ip 
#192.168.164.20
192.168.164.30
192.168.164.40

注意,如果前面有#说明这个ip被注释掉了。

然后再用特定方式去加载这个ip列表,即在文件名前加@符号。如下完整示例命令

ansible-playbook -i iplist a.yml -l @limit_ip

这样就实现了ansible-playbook -l limit的限制列表来自文件了。

猜你喜欢

转载自blog.csdn.net/xoofly/article/details/132162341