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 | 生产 |
注意选择执行ansible配置文件 优先级
#加上export是全局生效,文件得先存在
[root@server ~]# export ANSIBLE_CONFIG=/ansible.cfg
#打印变量
[root@server home]# echo $ANSIBLE_CONFIG
/ansible.cfg
[root@server home]# vim /ansible.cfg
[defaults]
inventory=/home/inventory
[root@server home]# vim inventory
看结果
2. ansible案例
1)安装和配置ansible以及ansible控制节点server.example.com如下:
2)创建一个名为/home/student/ansible/inventory的静态库存文件如下所示:
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的配置文件,如下所示:
3.1主机库存文件/home/student/ansible/inventory
3.2剧本中角色的位置被定义为/home/student/ansible/roles
4)控制主机中登录student用户,remote_user = devops,开启特权升级
[root@server home]# useradd student #创建用户
[root@server home]# cd /home/student/
[root@server student]# mkdir ansible #创建清单目录
[root@server student]# vim ansible/inventory #编辑配置文件
#取消变量
[root@server student]# unset ANSIBLE_CONFIG
[student@server ~]$ vim ansible/ansible.cfg
[defaults]
inventory=/home/student/ansible/inventory #主机列表配置文件
roles_path=/home/student/ansible/roles #剧本中角色的位置被定义为/home/student/ansible/roles
remote_user=devops #要在受管主机上登录的用户名称
host_key_checking=False ##检查对应服务器的host_key
[privilege_escalation]
become_method=sodo #如何切换用户
become_user=root #受管主机切换到的用户
become_ask_pass=false #是否为become_method提示输入密码
受控主机
[root@node1 ~]# useradd devops
[root@node1 ~]# vim /etc/sudoers