Ansible的安装
Ansible
Ansible简介
Ansible是一个IT自动化工具,可以配置系统,部署软件及更复杂的IT任务,Ansible用python编写。
其特点是简洁,相比其他工具优势是无代理架构!Linux————ansible;Windows————PowerShell
安装Asible
镜像地址:https://mirrors.aliyun.com/epel/8/Everything/x86_64/Packages/a/
添加DVD设备
mkdir /mnt/ansible #创建挂载点
vim /etc/yum.repo.d/rhel8.repo #配置yum仓库
[BaseOS]
name=BaseOS
baseurl=file:///mnt/dvd/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/dvd/AppStream
enabled=1
gpgcheck=0
[ansible]
name=ansible
baseurl=file:///mnt/ansible/ansible
enbaled=1
gpgcheck=0
挂载
mount /dev/sr0 /mnt/dvd #挂载到挂载点下
mount /dev/sr1 /mnt/ansible #挂载到挂载点下
yum clean all #清理缓存
yum repolist或yum makecache
yum -y install ansible #安装
ansible --version #查看版本信息
配置免密登陆用户(实验机器三台,分别为node1,node2,node3)
node1:
配置域名 vim /etc/hosts
192.168.10.1 node1
192.168.10.2 node2
192.168.10.3 node3
三台分别创建用户
useradd ansible
echo 1|passwd --stdin ansible
(三台都配置)
开始配置
vim /etc/sudoers.d/ansible
写入:ansible ALL=(ALL) NOPASSWD:ALL #ansible在任意的主机上可以使用所有的身份执行所有的命令并且不需要验证密码。
(三台都配置)
生成密钥传给三台机器
node1:
ssh-keygen (三台都执行)
直接回车默认
ssh-copy-id ansible@node1 #传给对方ansible而不是root
回车yes
输入密码:1 #以上实例amsible设置的密码为1
ssh-copy-id ansible@node2
回车yes
输入密码:1 #以上实例amsible设置的密码为1
ssh-copy-id ansible@node3
回车yes
输入密码:1 #以上实例amsible设置的密码为1
###现在即可随意登陆ansible
ssh ansible@node2或su - ansible
sudo -i
配置ansible
cd /etc/ansible
vim ansible.cfg
修改主机清单:inventory=./hosts
修改连接的用户:去掉#号 remote_user=ansible
把密码验证改为False:去掉#号 ask_pass=False
打开提权选项:[privilege_escalation]里 去掉所有become#号;
#提权选项也需根据情况进行修改,当提权别人虚拟机时只能提权用户则需修改become_user=用户名
保存退出
把主机写入主机清单
vim /etc/ansible/hosts
写入:
node1
node2
node3
测试:ansible all -m shell -a "touch /opt/ansible.txt"
三台机器cd /opt/ ls即有