华子目录
管理`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.com
node2.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.100
192.168 .80.101
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
192.168 .80.110
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
[ 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.com
node2.example.com
[ root@server ~]
hosts ( 2 ) :
node1.example.com
node2.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.254
192.168 .48.130
192.168 .48.131
192.168 .48.132
192.168 .48.133
192.168 .48.134
192.168 .48.135
192.168 .48.136
192.168 .48.137
192.168 .48.138
192.168 .48.139
192.168 .48.140
192.168 .48.141
192.168 .48.142
192.168 .48.143
192.168 .48.144
192.168 .48.145
192.168 .48.146
[ root@server ~]
hosts ( 6 ) :
192.168 .48.140
192.168 .48.141
192.168 .48.142
192.168 .48.143
192.168 .48.144
192.168 .48.145
[ root@server ~]
hosts ( 3 ) :
192.168 .48.143
192.168 .48.144
192.168 .48.145
[ root@server ~]
hosts ( 3 ) :
192.168 .48.140
192.168 .48.141
192.168 .48.142
[ root@server ~]
hosts ( 1 ) :
192.168 .48.146
[ root@server ~]
hosts ( 7 ) :
192.168 .48.140
192.168 .48.141
192.168 .48.142
192.168 .48.143
192.168 .48.144
192.168 .48.145
192.168 .48.146
[ root@server ~]
hosts ( 11 ) :
192.168 .48.140
192.168 .48.141
192.168 .48.142
192.168 .48.143
192.168 .48.144
192.168 .48.145
192.168 .48.146
192.168 .48.136
192.168 .48.137
192.168 .48.138
192.168 .48.139