设为首页 收藏本站
查看: 1303|回复: 0

[经验分享] Ansible匹配主机或组的Patterns

[复制链接]

尚未签到

发表于 2018-7-30 12:40:04 | 显示全部楼层 |阅读模式
Patterns
  patterns意味着在ansible中管理哪些主机,也可以理解为,要与哪台主机进行通信,不过在playbooks中,它将以为着哪些主机需要应用特定的配置或者过程。SaltStack中的targeting
  在命令行中,通常这样来使用
ansible <pattern_goes_here> -m <module_name> -a <arguments>  例如
ansible webservers -m service -a "name=httpd state=restarted"  一个模式通常会用一个组来表示,这样可以在较少的文字中表示较多的主机(例如上面的例子),主机都是“webserver”组中
  不管怎样,使用ansible,首先要知道如何告诉ansible,在你的inventory中有哪些主机。通过主机名或者组名都可以。
  下面的通配模式用来表示inventory中的所有主机
all  
*
  利用通配符还可以指定一组具有规则特征的主机或主机名
one.lightcloud.com  
one.lightcloud.com:two.lightcloud.com
  
192.168.1.50
  
192.168.1.*
  下面的模式,用来知道一个地址或多个组。组名之间通过冒号隔开,表示“OR”的意思,意思是这两个组中的所有主机。
webservers  
webservers:dbservers
  当然你可以做出非的表达式,例如,目标主机必须在组webservers但不在phoenix组中
webserver:!phoenix  你还可以做出交集的表达式,例如,目标主机必须即在组webservers中又在组staging中
webservers:&staging  你还还可以把它们全部组合到一块
webserver:dbservers:&staging:!phoenix  上面这个复杂的表达式最后表示的目标主机必须满足:在webservers或者dbservers组中,必须还存在于staging组中,但是不在phoenix组中。
  这些可以看作是SaltStack中Compound matchers
  注意:在shell中,记得把 & ! 这些特殊符号进行转义。
  在ansible-palybook命令中,你也可以使用变量来组成这样的表达式,但是你必须使用“-e”的选项来指定这个表达式。通常我们不这样用:
ansible-palybook -e webservers:!`excluded`:&`required`  你完全不需要使用这些严格的模式去定义组来管理你的机器。无论通过主机名,IP,组都可以使用通配符去匹配
*.lightcloud.com  
*.com
  他们也可以通过混合模式组合在一起
*.lightcloud.com:*.com  你还可以在开头的地方使用”~”,用来表示这是一个正则表达式
~(web|db).*\.example\.com  最后,在ansible和ansible-playbook中,还可以通过一个参数”–limit”来明确指定排除某些主机或组
ansible-playbook site.yml --limit datacenter2

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-543595-1-1.html 上篇帖子: ansible实战--批量创建运维账户 下篇帖子: Ansible配置管理play-book
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表