Ansible基础环境配置
一、Ansible安装及环境准备
1.1.1安装Ansible
yum -y install epel-rele #安装yum源
yum -y install ansible #安装ansible
Ansible --version #查看ansible安装版本
1.1.2ansible环境准备
方法一:通过IP进行分组
cd /etc/ansible #进入Ansible目录
vi hosts #添加主机清单
[test1] #定义主机组名
192.168.70.130 #主机IP
192.168.70.131
[test2]
192.168.70.132
[test3]
192.168.70.133
[test4]
192.168.70.134
[test:children] #当机器较多可定义子组
test1 #子组名
test2
方法二·:通过主机名进行分组
vim/etc/hosts #进入到ansible控制主机,将需要部署的客户机地址解析加入进去
192.168.70.130 host1
192.168.70.131 host2
192.168.70.132 host3
192.168.70.133 host4
192.168.70.134 host5
添加分组
cd /etc/ansible #进入Ansible目录
vi hosts #添加主机清单
[test1] #定义主机组名
host1 #主机IP
host2
[test2]
host3
[test3]
host4
[test4]
host5
[test:children] #当机器较多可定义子组
test1 #子组名
test2
1.1.3ansible实现控制主机与被控制主机之间免密登录
方法一:IP+用户名,端口,密码
在/etc/ansible/hosts文件中主机清单中添加指定用户名,端口,密码
vi hosts #添加主机清单
[test1] #定义主机组名
192.168.70.130 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='12345678' #指定远程登录的端口,用户名,密码
192.168.70.131 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='12345678'
[test2]
192.168.70.132 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='12345678'
[test3]
192.168.70.133 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='12345678'
[test4]
192.168.70.134 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='12345678'
[test:children] #当机器较多可定义子组
test1 #子组名
test2
方法二:主机名+SSH秘钥配对
生成秘钥
ssh-keygen -f /root/.ssh/id_rsa -N '' #生成秘钥
将秘钥拷贝到其他主机上
for i in host1 host2 host3 host4 host5
do
ssh-copy-id $i
done
1.1.4测试
ansible -i hosts all -m ping # hosts是主机清单,all是所有主机也可用主机清单中的组名 -m 是指定ansible中所需要的模块