华子目录 管理`Ansible静态清单` 1.定义主机清单 2.两种方式定义`主机清单` 3.使用`静态主机`清单指定受管主机(默认) 3.1产生原因 3.2`静态主机清单`文件本质 3.3清单内容分析(不分组) 3.4清单内容分析(分组) 3.5通过范围简化主机清单写法 3.6嵌套分组 4.自定义主机清单 5.有选择地查看主机和组
管理Ansible静态清单
1.定义主机清单
作用:主机清单用于定义ansible
将要管理的一批主机
,这些主机也可以分配到组中
,以进行集中管理
,组中
也可以包含子组
,一台主机
也可以是多个组中的成员。
2.两种方式定义主机清单
静态主机
清单可以通过文本文件
定义动态主机
清单可以根据需要通过脚本
或其他程序
生成
3.使用静态主机
清单指定受管主机(默认)
3.1产生原因
Ansible服务
是用于实现主机批量自动化控制
的管理工具,受管的主机一定不是一两台,而是数十台甚至成百上千台
,那么主机清单
(inventory
)在生产环境中可以起到重要作用。
3.2静态主机清单
文件本质
Ansible目标受管主机的文本文件
路径:/etc/ansible/hosts
3.3清单内容分析(不分组)
[ root@server ~]
node1.example.com
node2.example.com
[ root@server ~] hosts ( 2 ) : node1.example.comnode2.example.com
[ root@server ~]
node2.example.com | SUCCESS = > { "ansible_facts" : { "discovered_interpreter_python" : "/usr/bin/python3" } ,"changed" : false,"ping" : "pong"
}
node1.example.com | SUCCESS = > { "ansible_facts" : { "discovered_interpreter_python" : "/usr/bin/python3" } ,"changed" : false,"ping" : "pong"
}
3.4清单内容分析(分组)
作用:按照主机的地理位置
或工作性质
进行分组
,如:开发机(dev)
、测试机(test)
、产品(prod)
等 分组格式:
[ 组名]
一行一个IP或主机名
[ root@server ~]
[ dev]
node1.example.com
[ test]
node2.example.com
[ root@server ~]
@all:| --@ungrouped: | --@dev:| | --node1.example.com| --@test:| | --node2.example.com
[ root@server ~]
[ WARNING] : No hosts matched, nothing to do hosts ( 0 ) :
[ root@server ~] hosts ( 1 ) :node1.example.com
[ root@server ~] hosts ( 1 ) :node2.example.com
[ root@server ~]
node1.example.com | SUCCESS = > { "ansible_facts" : { "discovered_interpreter_python" : "/usr/bin/python3" } ,"changed" : false,"ping" : "pong"
} [ root@server ~]
node2.example.com | SUCCESS = > { "ansible_facts" : { "discovered_interpreter_python" : "/usr/bin/python3" } ,"changed" : false,"ping" : "pong"
}
3.5通过范围简化主机清单写法
[ root@server ~]
[ root@server ~]
192.168 .80.[ 100 :120] [ root@server ~] hosts ( 21 ) :192.168 .80.100192.168 .80.101192.168 .80.102192.168 .80.103192.168 .80.104192.168 .80.105192.168 .80.106192.168 .80.107192.168 .80.108192.168 .80.109192.168 .80.110192.168 .80.111192.168 .80.112192.168 .80.113192.168 .80.114192.168 .80.115192.168 .80.116192.168 .80.117192.168 .80.118192.168 .80.119192.168 .80.120
[ root@server ~]
[ root@server ~]
192.168 .80.100
192.168 .80.101[ dev]
192.168 .80.[ 102 :109] [ test]
1092.168 .80.[ 110 :120] [ prod]
192.168 .80.[ 111 :130]
[ root@server ~]
@all:| --@ungrouped: | | --192.168.80.100| | --192.168.80.101| --@dev: | | --192.168.80.102| | --192.168.80.103| | --192.168.80.104| | --192.168.80.105| | --192.168.80.106| | --192.168.80.107| | --192.168.80.108| | --192.168.80.109| --@test: | | --1092.168.80.110| | --1092.168.80.111| | --1092.168.80.112| | --1092.168.80.113| | --1092.168.80.114| | --1092.168.80.115| | --1092.168.80.116| | --1092.168.80.117| | --1092.168.80.118| | --1092.168.80.119| | --1092.168.80.120| --@prod: | | --192.168.80.111| | --192.168.80.112| | --192.168.80.113| | --192.168.80.114| | --192.168.80.115| | --192.168.80.116| | --192.168.80.117| | --192.168.80.118| | --192.168.80.119| | --192.168.80.120| | --192.168.80.121| | --192.168.80.122| | --192.168.80.123| | --192.168.80.124| | --192.168.80.125| | --192.168.80.126| | --192.168.80.127| | --192.168.80.128| | --192.168.80.129| | --192.168.80.130
3.6嵌套分组
[ 子组1名]
主机列表[ 子组2名]
主机列表[ 子组3名]
主机列表[ 父组名:children]
子组1名
子组2名
子组3名
[ root@server ~]
[ root@server ~]
192.168 .80.100
192.168 .80.101[ dev]
192.168 .80.[ 102 :109] [ test]
1092.168 .80.[ 110 :120] [ prod]
192.168 .80.[ 111 :130] [ Father:children]
dev
test
prod
[ root@server ~]
@all:| --@ungrouped:| | --192.168.80.100| | --192.168.80.101| --@Father:| | --@dev:| | | --192.168.80.102| | | --192.168.80.103| | | --192.168.80.104| | | --192.168.80.105| | | --192.168.80.106| | | --192.168.80.107| | | --192.168.80.108| | | --192.168.80.109| | --@test:| | | --1092.168.80.110| | | --1092.168.80.111| | | --1092.168.80.112| | | --1092.168.80.113| | | --1092.168.80.114| | | --1092.168.80.115| | | --1092.168.80.116| | | --1092.168.80.117| | | --1092.168.80.118| | | --1092.168.80.119| | | --1092.168.80.120| | --@prod:| | | --192.168.80.111| | | --192.168.80.112| | | --192.168.80.113| | | --192.168.80.114| | | --192.168.80.115| | | --192.168.80.116| | | --192.168.80.117| | | --192.168.80.118| | | --192.168.80.119| | | --192.168.80.120| | | --192.168.80.121| | | --192.168.80.122| | | --192.168.80.123| | | --192.168.80.124| | | --192.168.80.125| | | --192.168.80.126| | | --192.168.80.127| | | --192.168.80.128| | | --192.168.80.129| | | --192.168.80.130
4.自定义主机清单
在/root
目录下创建一个名称为inv
的自定义主机清单
[ root@server ~] [ web]
node1.example.com
node2.example.com
[ root@server ~] hosts ( 2 ) :node1.example.comnode2.example.com
[ root@server ~] hosts ( 2 ) :node1.example.comnode2.example.com
5.有选择地查看主机和组
[ root@server ~] 192.168 .48.254[ web]
192.168 .48.[ 130 :133] [ http]
192.168 .48.[ 134 :135] [ ftp]
192.168 .48.[ 136 :139] [ dns]
192.168 .48.[ 140 :145] [ mail]
192.168 .48.[ 143 :146]
[ root@server ~] hosts ( 18 ) :192.168 .48.254192.168 .48.130192.168 .48.131192.168 .48.132192.168 .48.133192.168 .48.134192.168 .48.135192.168 .48.136192.168 .48.137192.168 .48.138192.168 .48.139192.168 .48.140192.168 .48.141192.168 .48.142192.168 .48.143192.168 .48.144192.168 .48.145192.168 .48.146
[ root@server ~] hosts ( 6 ) :192.168 .48.140192.168 .48.141192.168 .48.142192.168 .48.143192.168 .48.144192.168 .48.145
[ root@server ~] hosts ( 3 ) :192.168 .48.143192.168 .48.144192.168 .48.145
[ root@server ~] hosts ( 3 ) :192.168 .48.140192.168 .48.141192.168 .48.142
[ root@server ~] hosts ( 1 ) :192.168 .48.146
[ root@server ~] hosts ( 7 ) :192.168 .48.140192.168 .48.141192.168 .48.142192.168 .48.143192.168 .48.144192.168 .48.145192.168 .48.146[ root@server ~] hosts ( 11 ) :192.168 .48.140192.168 .48.141192.168 .48.142192.168 .48.143192.168 .48.144192.168 .48.145192.168 .48.146192.168 .48.136192.168 .48.137192.168 .48.138192.168 .48.139