0
点赞
收藏
分享

微信扫一扫

自动化运维工具Ansible(2)静态资产

静态资产

顾名思义它本身是一个文本文件,一个格式类似INI的文件。

默认情况下,Ansible的资产文件位于 `/ect/ansible/hosts`。pip 安装的可能没有这个文件,创建一个即可。


自定义资产

这个文件可以自定义,之后使用相应的参数指定。

下面给出一个自定义的静态资产实例,然后再具体解释其含义。

1.1.1.1
2.2.2.2
3.3.3.[1:15]
test01.abc.com
test03.abc.com
test[05:09].abc.com

[web_servers]
192.168.1.2
192.168.1.3
192.168.1.5

[db_servers]
192.168.2.2
192.168.2.3
192.168.1.5

[alldb_servers]
[alldb_servers:children]
db_servers
web_servers
  • Ansible 的资产文件中,可以以IP地址的形式或者主机名的形式存在。
  • Ansible 的资产若连续,可以使用[stat:end] 的形式去表达。
  • 可以将服务器按照业务场景定义成组,比如`db_servers` 和 `web_servers`
  • 组和组之间可以存在继承关系,比如`db_servers` 和 `web_servers` 同时继承 `alldb_servers` 组


使用自定义资产

通过 `-i` 参数指定自定义资产的位置即可(可以是全路径,也可以是相对路径)

ansible all -i inventory.ini ... // 伪指令,不可执行


验证自定义资产

[root@localhost home]# ansible all -i /home/inventory.ini --list-host

自动化运维工具Ansible(2)静态资产_linux

列举出选定资产

ansible web_servers -i inventory.ini --list-hosts

自动化运维工具Ansible(2)静态资产_centos7_02


资产选择器

有时操作者希望只对资产中的一部分服务器进行操作,而不是资产中所有服务器。此时可以使用 Ansible 的资产选择器 PATTERN。

基本语法格式

ansible PATTERN -i inventory -m module -a argument

选择一台或者几台服务器

[root@localhost home]# ansible 1.1.1.1 -i inventory.ini --list-host
hosts (1):
1.1.1.1
[root@localhost home]# ansible test01.abc.com -i inventory.ini  --list-host
hosts (1):
test01.abc.com
[root@localhost home]# ansible 1.1.1.1,2.2.2.2 -i inventory.ini --list-host
hosts (2):
1.1.1.1
2.2.2.2

选择一组服务器

[root@localhost home]# ansible web_servers -i inventory.ini  --list-host
hosts (3):
192.168.1.2
192.168.1.3
192.168.1.5
[root@localhost home]# ansible 3.3.3.* -i inventory.ini --list-host

自动化运维工具Ansible(2)静态资产_静态资产_03

[root@localhost home]# ansible 'web_servers,db_servers' -i inventory.ini --list-host
hosts (5):
192.168.1.2
192.168.1.3
192.168.1.5
192.168.2.2
192.168.2.3

排除选择

ansible 'web_servers:!db_servers' -i inventory.ini --list-hosts
hosts (2):
192.168.1.2
192.168.1.3

排除共有的,只选择前者独有的

举报

相关推荐

0 条评论