前言
请提前使用分发脚本对要管理的主机进行配置免密,否则可能会导致无法按照教程一步步使用ansible管理主机
准备步骤
安装
centos7的简单安装方式如下
yum install -y epel-release
yum install -y ansible
配置主机清单
默认的主机清单位置在/etc/ansible/hosts
如无使用-i 指定文件名
进行指定主机清单,将会默认使用这个主机清单
vim /etc/ansible/hosts
# 分组名自定义[分组名]下面几行是分组的主机ip
[oldboy]
192.168.26.101
192.168.26.102
192.168.26.103
192.168.26.104
使用方法
[oldboy]是分组名 ping是模块名
ansible oldboy -m ping
ansible 基础说明
ansible 命令格式
ansible 主机分组 -m 指定模块
ansible 主机分组 -m 指定模块 -a 指定模块中的选项
注意!批量执行与管理时不要执行交互式命令
ansible 配置文件
/etc/ansible/ansible.cfg # ansible的配置文件
host_key_checking = False #取消这行注释,是用来避免连接新机器时出现yes/no的确认
/etc/ansible/hosts # ansible的默认主机清单
ansible 主机清单
基本格式
[oldboy] #[分组名]
192.168.26.101
192.168.26.102
192.168.26.103
192.168.26.104
指定用户名,密码,端口
不推荐 建议使用上面的基本格式,并且做免密登录分发
主机清单中指定的信息 | |
---|---|
连接的ssh端口 | ansible_ssh_port=22 |
连接的ssh用户 | ansible_ssh_user=root |
连接的ssh密码 | ansible_ssh_pass=’Aa142536’ |
写法如下:
[oldboy] #[分组名]
192.168.26.101 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='Aa142536'
子组
[web]
192.168.26.101
[db]
192.168.26.104
[nfs]
192.168.26.103
[backup]
192.168.26.102
[data:children] #data:children表示data是创建的子组,组里包含db,nfs,backup3个组
db
nfs
backup
注:使用ansible命令时如果需要调用所有,则在分组名写all,如果需要调用单台则使用ip