一、ansible安装
1、yum安装
yum install epel-release.noarch
yum install ansible -y
2、查看ansible版本
ansible --version
3、ansible组成介绍
tree /etc/ansible/
/etc/ansible/
├── ansible.cfg # ansible的配置文件
├── hosts # ansible的主仓库 用来存储需要管理的远程主机的相关信息
└── roles
二、配置文件
1、配置文件目录含义
/etc/ansible/ansible.cfg主配置文件,配置ansible,工作特性
/etc/ansible/hosts主机清单
/etc/ansible/roles/存放角色的目录
程序
/usr/bin/ansible主程序,临时命令执行工具
/usr/bin/ansible-doc查看配置文档,模块功能查看工具
/usr/bin/ansible-galaxy下载/. 上传优秀代码或Roles模块的官网平台
/usr/bin/ansible-playbook定制自动化任务,编排剧本工具/usr/bin/ansible- pull远
程执行命令的工具
/usr/bin/ansible-vault文件加密工具
/usr/bin/ansible-console基于Console界面与用户交互的执行工具
在ansible中所有的操作都是基于模块,类似于ssh下的命令操
2、ansible配置文件
◆Ansible配置文件/etc/ansible/ansible.cfg ( -般保持默认)
◆[defaults]
#inventory = /etc/ansible/hosts #主机列表配置文件
#library = /usr/share/my_ _modules/ #库文件存放目录
#remote_ tmp = $HOME/.ansible/tmp #临时py命令文件存放在远程主机目录 #B
#local_ _tmp = $HOME/.ansible/tmp #本机的临时命令执行目录 #A
注:此处便是ansible运行原理,在运行模块后会在本机生成脚本文件A,并发送到主机清单的被控机生成脚本文件B,再次执行脚本文件B A与B皆是临时文件,会随后删除的
#forks=5#默认并发数
#sudo_ _user= root #默认sudo用户
#ask_ sudo_ _pass = True #每次执行ansible命令是否询问ssh密码
#ask_ pass= True
#remote_ port= 22
#host_ key_ .checking = False
#检查对应服务器的host. key,建议取消注释 (意思是从来没有与对方有连接过,会识别不到连接不上 可通过ssh 192.168.32.129 连接一次)
#log_ path=/var/log/ansible.log #日志文件(建议启动)
3、ansible系列命令
◆Ansible系列命令
ansible ansible-doc ansible-playbook
ansible-vault ansible-console ansible-galaxy ansible-pull
◆ansible-doc: 显示模块帮助
ansible-doc [options] [module..]
-a 显示所有模块的文档
-|, --list 列出可用模块
-S, --snippet 显示指定模块的playbook片段
示例:
ansible-doc -I 列出所有模块
ansible-doc ping 查看指定模块帮助用法
ansible-doc -S ping 查看指定模块帮助用法
三、ansible自动化
1、ansible自动化前期准备
主机
proxy 192.168.32.134 #主节点
slave 192.168.32.129 #被控端
1)建立ssh信任基础
ssh-keygen -t dsa #一路回车
ssh-copy-id root@192.168.32.129 #目标主机ip
2)ssh免密登录
ssh 'root@192.168.32.129' #免密登录
3)在末尾加入被控主机清单
vim /etc/ansible/hosts
192.168.32.129
注:在控制前需要把对方主机加入自己的清单中
4)检查通信
ansible 192.168.32.129 -m ping
2、分组添加主机清单
ansible websrvs -m ping
3、本机非root用户登录
ansible websrvs -m ping -u admin -k
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容