Ansible 六(通配模式patterns)

简介:

 Ansible 六(通配模式patterns)


在ansible中 patterns是指确定ansible管理主机和如何运行命令管理ansible客户机。


命令用法:

1
2
ansible <pattern_goes_here>  - m <module_name>  - a <arguments>
ansible <执行的客户机列表>   - m <调用的模块>   - a <执行的参数>


示例如下:

1
ansible webservers  - m service  - a  "name=httpd state=restarted"

pattern_goes_here :这里通常用主机/主机组来表示,

就是告诉ansible要在哪些客户机上执行管理命令;

例如:上边的示例webservers组


命令用法还可以写成:

1.表示通配inventory中的所以主机:all *

1
2
ansible  all  - m ping    
#所以客户机执行ping

2.指定具有规则特征的主机IP或者主机名

1
2
3
4
ansible www.example.com  - m ping 
ansible  001.example .com: 002.example .com  - m ping
ansible  1.1 . 1.2  - m ping
ansible  1.1 . 1. *  - m ping #所有1.1.1.网段的执行ping

3.patterns可以分表表示一个或多个组,多组之间用冒号分开,意味着一个主机可以属于多个组

1
2
ansible webservers  - m ping
ansible webservers:dbservers  - m ping  #所有webservers和dbservers组执行ping

4.排除特定主机

1
2
ansible webservers:!dbservers -m ping
#执行命令客户机必须属于webservers组,但不属于dbservers组。

5.执行交集主机

1
2
ansible webservers:&dbservers  - m ping
#执行命令客户机同时隶属于webservers组和dbservers组。

6.更复杂的条件

1
2
ansible webservers:database_server:&java_servers:!php_servers  - m ping
#执行命令客户机在webservers和database_server组中,也在java_servers卒中,但是不在php_servers组中。

7.也可以不严格定义groups、当个host names、ips、都支持通配符:

1
2
ansible  * .example.com  - m ping
ansible  * .com  - m ping

8.也同时支持通配和groups的混合使用

1
ansible one * .com:dbservers

9.也可以匹配一个组的特定编号的主机

1
2
ansible webservers[ 0 ]  - m ping     #表示匹配webservers组的第一个主机
ansible webservers[ - : 25 ]  - m ping  #表示匹配webservers组的第一个到25个主机

10.在开头的地方使用“~”,代表这是一个正则表达式方式表示

1
2
~(web|db). * \.example\.com 
ansible ~(web|db). * \.example.com  - m ping

11.在ansible和ansible-playbook中,还可以通过一个参数“--limit”来明确指定排除主机或组

1
ansible - playbook site.yml  - - limit database_server

12.从ansible1.2开始,如果想排除一个文件中的主机可以用“@“

1
ansible - playbook site.yml  - - limit @retry_hosts.txt


     本文转自506554897 51CTO博客,原文链接:http://blog.51cto.com/506554897/1955206 ,如需转载请自行联系原作者





相关文章
|
网络协议 Shell
Ansible 学习笔记 - 定位主机和组的模式
Ansible 学习笔记 - 定位主机和组的模式
|
Web App开发 Shell 应用服务中间件
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
运维 应用服务中间件 Linux
自动化运维的利器:Ansible在配置管理中的应用
【10月更文挑战第39天】本文旨在通过深入浅出的方式,向读者展示如何利用Ansible这一强大的自动化工具来优化日常的运维工作。我们将从基础概念讲起,逐步深入到实战操作,不仅涵盖Ansible的核心功能,还会分享一些高级技巧和最佳实践。无论你是初学者还是有经验的运维人员,这篇文章都会为你提供有价值的信息,帮助你提升工作效率。
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
459 11
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。
|
运维 安全 Ubuntu
自动化运维:使用Ansible进行服务器配置管理
在现代IT基础设施中,自动化运维是确保高效、稳定和安全服务的关键。本文将深入介绍如何使用Ansible这一开源工具来简化服务器配置管理工作,从基础安装到高级应用,我们将一步步展示如何通过Ansible Playbooks实现自动化部署和维护,旨在帮助读者构建更加灵活和可扩展的运维体系。
432 7
|
运维 Ubuntu Linux
自动化运维:使用Ansible简化日常任务
在快节奏的IT世界中,时间就是一切。本文将揭示如何通过Ansible这一强大的自动化工具来节省宝贵的时间,从而提高效率和减少人为错误。我们将深入探讨Ansible的核心概念、安装过程以及如何编写简单的playbook来自动执行常见运维任务。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供实用的知识和技能,让你能够更好地控制你的服务器环境。
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。