1.ansible简介
ansible是一种基于python开发的自动化运维工具,它只需要在服务端安装ansible,无需在每个客户端安装客户端程序,通过ssh的方式来进行客户端服务器的管理,基于模块来实现批量数据配置、批量设备部署以及批量命令执行。
2.ansible工作原理
大致的工作原理就是ansible程序调用读取/etc/ansible/ansible.cfg(这个是取决于读取配置文件顺序)配置文件,获取主机列表清单hosts文件,获取所要处理的主机列表,然后查看playbooks,根据playbooks生成一个临时的脚本文件,然后将该脚本文件发送给所管理的主机,脚本文件在远程主机上执行完成后返回结果,然后删除本地临时文件。
3.ansible工作模式
ansible分为两种工作模式:
一是adhoc(点对点模式):此模式相当于对管理主机执行单个shell命令
二是playbook(剧本模式):该模式应用较多,该模式是指将一系列任务整合形成一个剧本,以此来达成某种功能(比如部署某个服务,数据备份等)的目的。
上述两种模式可类比于一个是用于执行单个shell命令,一个是shell脚本。
4.ansible安装
ansible安装很简单,当配置了阿里镜像源之后,可以直接执行: yum -y install ansible 进行安装,然后也会自动安装ansible所需依赖包等。
用yum安装之后,会在/etc/ansible/ 下面生成ansible配置文件:
[root@db04 ansible]# cd /etc/ansible [root@db04 ansible]# ls ansible.cfg hosts roles
这里可以看到生成了ansible.cfg配置文件(这个可以看做是配置模版)以及hosts 还有一个roles目录。
通常配置ansible的话,我们一般会配置ansible机器到其它主机节点免密登录。
1.首先配置一下/etc/hosts文件 这里要配置一下远程节点ip和域名
2.然后执行如下命令
ssh-keygen -f /root/.ssh/id_rsa -N '' for i in db01 db02 do ssh-copy-id $i done
5.ansible配置文件读取顺序
- 首先检测ansible_config变量定义的配置文件
- 其次检查当前目录下的./ansible.cfg文件
- 再次检查当前用户家目录下~/ansible.cfg文件
- 最后检查/etc/ansible/ansible.cfg文件
6.ansible配置文件关键配置介绍
6.1 ansible.cfg配置文件
nventory :管理的主机清单文件路径 library:ansible的模块存放的目录 remote_tmp:上述工作原理中提到的将脚本发送至对端的临时目录 local_tmp:上述工作原理中提到本地生成脚本存放的临时目录 forks:并发连接数,默认为5 sudo_user :命令执行用户 remote_port :访问管理主机的端口 host_key_checking:设置是否检查SSH主机的密钥,默认为false timeout :ssh连接被管理主机的超时时间 log_path:ansilbe日志文件路径
6.2 hosts配置文件
hosts配置文件是ansible管理的主机列表文件,里面记载着管理主机的ip、端口等信息 其有两种方式: 一是单个主机名或主机ip记录 二是将某一类主机分组记录,譬如数据库主句: [dbserver] 192.168.1.1 192.168.1.2 192.168.1.3 ........ 当需要对该类主机进行操作时,只要调用dbserver即可调用该分组内所有主机,且此处可支持通配符
7.ansible常用的参数
ansible-doc -l :列出所有模块 ansible-doc -s <模块名> :查看模块的参数信息 ansible --version :查看ansible版本 ansible -v :输出详细详细;-vv:输出更详细的信息 ansible -m :指定调用的模块名称 ansible -a :调用模块的参数 ansilbe -c :测试命令执行结果,不实际执行 ansible -k :提示输入ssh的秘密,而不是基于ssh认证 ansible -u :指定执行命令的用户 ansilbe -i :指定访问的主机列表文件 ansilbe -f :指定并发进程数
标签:Ansiable,配置文件,文件,主机,ansible,ssh,简介,cfg From: https://www.cnblogs.com/zmc60/p/17379804.html