文章目录
1.配置主机清单
下表列出了有关四个受管主机的信息。您将根据主机的用途、所在的城市以及它所属的部署环境,将每个主机分配给多个组以进行管理。此外,美国城市组(罗利和山景城)必须设为组****us****的子项(children),这样美国的主机就可以作为一 个组进行管理。
| 主机名称 | 用途 | 位置 | 运行环境 |
| ———————- – | ——— | —————— | ————— |
| servera.lab.example.com | Web服务器 | 罗利raleigh | 开发development |
| serverb.lab.example.com | Web服务器 | 罗利 | 测试testing |
| serverc.lab.example.com | Web服务器 | 山景城mountainview | 生产production |
| serverd.lab.example.com | Web服务器 | 伦敦london | 生产 |
[root@server ~]# cd /home
[root@server home]# vim /ansible.cfg
[defaults]
inventory=/home/inventory
[root@server home]# vim inventory
[raleigh]
servera.lab.example.com
serverb.lab.example.com
[mountainview]
serverc.lab.example.com
[london]
serverd.lab.example.com
[development]
servera.lab.example.com
[testing]
serverb.lab.example.com
[production]
serverc.lab.example.com
serverd.lab.example.com
[us:children]
raleigh
mountainview
[root@server home]# ansible us --list-hosts
hosts (3):
servera.lab.example.com
serverb.lab.example.com
serverc.lab.example.com
[root@server home]# ansible raleigh --list-hosts
hosts (2):
servera.lab.example.com
serverb.lab.example.com
[root@server home]#
2.实现ansible配置的四个案例
案例一:ansible使用ssh连接受管主机,一般不建议用管理用户,要求通过普通用户student进行链接
[root@server ~]# cat ansible.cfg
[defaults]
inventory=/etc/ansible/hosts
remote_user=student
ask_pass=True
host_key_checking=False
在客户端主机建立student用户
[root@server ~]# ansible all -a 'whoami'
SSH password:
node1.example.com | CHANGED | rc=0 >>
student
192.168.229.137 | CHANGED | rc=0 >>
student
node1 | CHANGED | rc=0 >>
student
案例二: 关闭主机秘钥验证
[root@server ~]# cat ansible.cfg
[defaults]
inventory=/etc/ansible/hosts
remote_user=student
ask_pass=False
host_key_checking=False
[root@server ~]# ansible all -ka 'whoami'
SSH password:
node1 | CHANGED | rc=0 >>
student
node1.example.com | CHANGED | rc=0 >>
student
192.168.229.137 | CHANGED | rc=0 >>
student
案例三:主机免密登陆
[root@server ~]# cat ansible.cfg
[defaults]
inventory=/etc/ansible/hosts
remote_user=student
ask_pass=False
;host_key_checking=False
[root@server ~]# ssh-copy-id -i student@node1
[root@server ~]# ansible all -a 'whoami'
node1.example.com | CHANGED | rc=0 >>
student
node1 | CHANGED | rc=0 >>
student
192.168.229.137 | CHANGED | rc=0 >>
student
案例四:远程用户sudo提权
受控主机
[root@node1 ~]# vim /etc/sudoers
root ALL=(ALL) ALL
student ALL=(ALL) NOPASSWD: ALL
[root@server ~]# ansible node1 -a 'sudo useradd user1 '
node1 | CHANGED | rc=0 >>
版权声明:本文为kouacbb原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。