ansible的安装与配置
准备环境
需要三台以上虚拟机
控制节点:master :192.168.21.144
受控节点:node12:192.168.21.150
受控节点:node13:192.168.21.138
1、先配置yum源,三台都要配置
[root@node12 yum.repos.d]# cat Centos8.repo [base] name=base
baseurl=http://mirrors.163.com/centos-vault/8.5.2111/BaseOS/x86_64/os/
gpgcheck=0[AppStream] name=AppStream
baseurl=http://mirrors.163.com/centos-vault/8.5.2111/AppStream/x86_64/os/
gpgcheck=0
配置epel配置文件
[root@node12 yum.repos.d]# cat Centos8.repo [base] name=base
baseurl=http://mirrors.163.com/centos-vault/8.5.2111/BaseOS/x86_64/os/
gpgcheck=0[AppStream] name=AppStream
baseurl=http://mirrors.163.com/centos-vault/8.5.2111/AppStream/x86_64/os/
gpgcheck=0 [root@node12 yum.repos.d]# cat epel-Centod8.repo [epel]
name=epel
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/8/Everything/x86_64/
gpgcheck=0 [root@node12 yum.repos.d]#
2、安装需要的软件包:ansible,python3(python3.5+)或者python2(python2.7+)
[root@centos8-5 yum.repos.d]# yum install -y ansible
[root@node12 yum.repos.d]# yum install -y python3
3、写好当前局域网内主机的hosts文件,控制节点和受控节点都要写:
[class@master test1]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain
localhost6 localhost6.localdomain6
192.168.21.144 master
192.168.21.150 node12
192.168.21.138 node13
ansible的基础环境配置
(1)控制节点:添加一个普通用户去使用ansible
[root@master ~]# useradd class
[root@master ~]# useradd student
注意:此时对/etc/sudoers 文件只有读的权限,所以我们要先给他添加权限,然后在进入编辑。
[root@master ~]# chmod o+w /etc/sudoers
[root@master ~]# vim /etc/sudoers
添加红色方框里面的内容
(2)受控节点:选取一个被控制节点远程连接的普通用户,配置该用户可以使用sudo
[root@node12 ~]# useradd student
[root@node12 ~]# chmod o+w /etc/sudoers
[root@node12 ~]# vim /etc/sudoers
(3)配置控制节点的class可以通过秘钥登录受控节点的student用户
注意:要先给受控节点的用户添加密码,然后登录,再退出。最后在控制节点上生成密钥,将公钥分别传给两个受控节点。
先给受控节点添加密码:
控制节点生成密钥:
将公钥传给两个受控节点:
ansible的清单和配置文件
(1)清单
默认生效的是/etc/ansible/hosts,文件内容使用INI样式书写;
也可以使用ansible命令行选项 -i 指定使用的清单文件;
配置文件: