关闭防火墙和安全子系统
systemctl stop firewalld.service
setenforce 0
网卡设置
网卡设置为桥接网络,然后开启系统DHCP服务
#enp0s8是我虚拟机内部的桥接网卡的网卡名称,每个人使用自己虚机内部的网卡名称进行命令执行
nmcli connection up enp0s8
修改yum仓库配置文件
vim /etc/yum.repos.d/Centos-8.repo
#在yum仓库配置文件末尾添加以下内容
[ansible]
name=ansible - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/8/configmanagement/x86_64/ansible-29/
gpgcheck=0
下载ansible
dnf install -y ansible
查看ansible版本
ansible --version
修改主机清单文件(注释信息直接全部删除)
vim /etc/ansible/hosts
#加入的是两台测试机(test),最后加入的那三行是执行任务时便会自动对账户密码进行匹配,而不用每次重复输入
[test]
192.168.10.21
192.168.10.22
[all:vars]
ansible_user=root
ansible_password=123456
结构化显示受管主机信息
ansible-inventory --graph
修改ansible主配置文件
第71行设置成默认不需要ssh指纹验证,以及将107行设置成默认执行剧本时所使用的管理员名称为root
vim /etc/ansible/ansible.cfg
查看网卡ip
ifconfig
验证ansible
ping测试
ansible all -m ping
command命令测试
ansible all -m command -a "ls"
文件复制测试
#content后面加文件内容,dest后面是文件位置
ansible all -m copy -a 'content="jiaoyihang\n" dest=/root/test1.txt'
在另外两台虚拟机上查看文件
软件下载测试
#注意这里执行安装命令时需要在管理机再开启一张网络地址转换的网卡,保证能上网
ansible all -m yum -a "name=dhcp-server state=latest"
shell脚本
#!/bin/bash
#关闭防火墙和安全子系统
systemctl stop firewalld.service
setenforce 0
#连接桥接网卡
nmcli connection up enp0s8
#修改yum仓库配置文件
cat <<EOF >> /etc/yum.repos.d/Centos-8.repo
[ansible]
name=ansible - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/8/configmanagement/x86_64/ansible-29/
gpgcheck=0
EOF
#下载ansible
dnf install -y ansible
#修改主机清单文件
echo -n >>/etc/ansible/hosts
cat <<EOF >>/etc/ansible/hosts
[test]
192.168.10.21
192.168.10.22
[all:vars]
ansible_user=root
ansible_password=123456
EOF
ansible-inventory --graph
sed -i '71 s/^.//' "/etc/ansible/ansible.cfg"
sed -i '107 s/^.//' "/etc/ansible/ansible.cfg"
ansible all -m ping
ansible all -m command -a "ls"
ansible all -m copy -a 'content="jiaoyihang\n" dest=/root/test1.txt'
ansible all -m yum -a "name=dhcp-server state=latest"