要求: 安装并且配置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 ~]# hostnamectl set-hostname server.example.com
[root@server ~]# bash
受管主机:node1
[root@localhost ~]# hostnamectl set-hostname node1.example.com
[root@localhost ~]# bash
受管主机:node2
[root@localhost ~]# hostnamectl set-hostname node2.example.com
[root@localhost ~]# bash
需要编辑三台主机的信息:
# vim /etc/hosts
当然想要使用Xshell连接,可以编辑C:\Windows\System32\drivers\etc\hosts文件编辑,将上面的三条信息写在上面;
[root@server ~]# useradd student
[root@server ~]# su - student
[student@server ~]$ mkdir ansible
[student@server ~]$ vim ansible/inventory
[student@server ~]$ cd ansible/ [student@server ansible]$ vim ansible.cfg 最后要想实现受控,受控主机上要有devops的信息
[root@node1 ~]# useradd devops
[root@node1 ~]# passwd devops
[root@node2 ~]# useradd devops
[root@node2 ~]# passwd devops
控制主机要和受控主机实现免密登录
[student@server ansible]$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -P "" -q
将公钥发给受控主机:
[student@server ansible]$ ssh-copy-id -i ~/.ssh/id_rsa.pub devops@node1
[student@server ansible]$ ssh-copy-id -i ~/.ssh/id_rsa.pub devops@node2
可以实现远程登录
[student@server ansible]$ ssh devops@node1 实现免密登录
[devops@node1 ~]$ 成功登录
通过ansible的一个命令实施远程任务
[student@server ansible]$ ansible dev -a 'hostname'
node1 | FAILED | rc=-1 >>
Missing sudo password
特权授权不成功 node1: [root@node1 ~]# vim /etc/sudoers node2: [root@node2 ~]# vim /etc/sudoers 允许devops进行提权,并且不需要密码登录
|