安装
配置yum仓库: vim /etc/yun.repo.d/aliyun.repo
[AppStream]
name=App
baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os
gpgcheck=0
[BaseOS]
name=base
baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os
gpgcheck=0
配置扩展源
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
以上步骤完成后:执行以下步骤
yum clean all
yum repolist
yum makecache
此时我们就可以使用yum 安装ansible了
yum install ansible -y
安装完成后 使用以下命令检查: 显示版本信息 就欧克了
ansible --version
部署
在这里我们用到三台虚拟机
主机名 | ip | 角色 |
ansible | 192.168.100.10 | 控制节点 |
ansible1 | 192.168.100.11 | 被控节点 |
ansible2 | 192.168.100.12 | 被控节点 |
首先使用在控制节点的主机上生成密钥对 将公钥发送给被控节点 实现免密登录
ssh-keygen //在控制节点上生成密钥对
ssh-copy-id -i ansible1 //将控制节点的共钥发送给 被控节点
ssh-copy-id -i ansible2
//在被控节点上查看控制节点的公钥是否发送过来
vim /root/.ssh/authorized_keys //查看文件
ssh ansible1 //尝试登录 域名解析可以在 /etc/hosts 文件下编辑
ssh ansible2 //也可以使用ip登录 ssh 192.168.100.12
当上述步骤完成后 我们就可以在控制主机上编辑ansible 主机的清单文件了
vim /etc/ansible/hosts
ansible1
ansible2
测试显示结果
[root@ansible ~]# ansible all -m ping -o
ansible1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"},"changed": false,"ping": "pong"}
ansible2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"},"changed": false,"ping": "pong"}
当我们使用普通用户时 执行yml文件没有一定的权限 这时我我们就需要提权
第一种方法 将ansible用户提权和root用户一样 编辑 /etc/sudoers 文件
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
ansible ALL=(ALL) NOPASSWD: ALL
第二种方法: 将wheel组不需要密码验证 并且将用户ansible 加入wheel组
第一步:编辑/etc/sudoers文件
%wheel ALL=(ALL) NOPASSWD:ALL
第二部:将用户加入wheel组
[root@ansible2 ~]# gpasswd -a ansible wheel