ansible基础介绍

一、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

ansible-ping

2、分组添加主机清单

ansible-分组清单

ansible websrvs -m ping

3、本机非root用户登录

ansible websrvs -m ping -u admin -k
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容