Patterns
在Ansible中Patterns是我们决定哪些主机进行管理。Patterns表示哪些主机进行通讯,而Playbooks则表示是主机应用配置或处理过程。
基本的使用方法类似
ansible <pattern_goes_here> -m <module_name> -a <arguments>例如
ansible webservers -m service -a "name=httpd state=restarted"pattern通常指一组服务器,例如上述的webservers服务器组。
可以使用
all或*表示所有主机。
可以使用:来分隔多个组,表示OR,意味着主机或者是一个组或者是另外一组
webservers
webservers:dbservers也可以指代所有主机必须是webservers组,但是不能是phoenix组
webservers:!phoenix也可以指定主机必须在webservers组并且主机必须在staging组
webservers:&staging更为复杂:所有在webservers和dbservers组中同时必须在staging组,但不能是phoenix组
webservers:dbservers:&staging:!phoenix可以使用通配符*
*.example.com
*.com
one*.com:dbservers如果要使用 正则表达式 ,只需要在开头使用 ~
~(web|db).*\.example\.com可以使用排除方式
ansible-playbook site.yml --limit datacenter2可以从一个文件中读取主机列表,只需要在文件名前面加上@
ansible-playbook site.yml --limit @retry_hosts.txtLast updated
Was this helpful?