1)安装和配置ansible以及ansible控制节点server.example.com如下:
2)创建一个名为/home/student/ansible/inventory的静态库存文件如下所示:
[student@server ~]$ mkdir ansible
[student@server ~]$ vim ansible/inventory
[dev]
node1
[test]
node2
[prod]
node1
node2
[balancers]
node1
[webserver:children]
prod
2.1)node1 是dev主机组的成员
2.2)node2是test主机组的成员
2.3)node1和node2是prod主机组的成员
2.4)node1是balancers主机组的一员
2.5)prod组是webservers主机组的成员
3).创建一个名为/home/student/ansible/ansible.cfg的配置文件,如下所示:
[student@server ansible]$ vim ansible.cfg
[defaults]
inventory = ./inventory
remote_user=devops
ask_pass=False
host_key_checking=False
sudo_user=root
roles_path=/home/student/ansible/roles
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
[student@server ansible]$ ansible --version
ansible 2.9.27
config file = /home/student/ansible/ansible.cfg
3.1主机库存文件/home/student/ansible/inventory
3.2剧本中角色的位置被定义为/home/student/ansible/roles
4)控制主机中登录student用户,remote_user = devops,开启特权升级
[root@node1 ~]# vim /etc/sudoers
devops ALL=(ALL) NOPASSWD: ALL
[root@node2 ~]# vim /etc/sudoers
devops ALL=(ALL) NOPASSWD: ALL
测试:
[student@server ansible]$ ansible prod -a 'hostname'
node1 | CHANGED | rc=0 >>
node1.example.com
node2 | CHANGED | rc=0 >>
node2.example.com
[student@server ansible]$ ansible prod -a 'useradd m1'
node1 | CHANGED | rc=0 >>
node2 | CHANGED | rc=0 >>