1.1Ansible概述
- 自动化运维:批量管理,批量分发,批量执行,维护。。
- 是python写的
批量管理工具:
Ansible(无客户端):无客户端,基于ssh进行管理与维护
Saltstack (python写的) : 需要安装客户端,基于ssh进行管理,与ansible
terraform (公有云-管理系统,比如创建100台阿里服务器/多少个磁盘,多少个系统) :批量管理基础设施(tf批量创建有100台公有云)github去下载软件
1.2环境架构准备
- Inventory 主机清单:被管理主机的ip列表,分类
- ad-hoc模式:命令行批量管理(使用ans模块),临时任务
- playbook剧本模式:类似于把操作写出脚本,可以重复运行这个脚本
部署及配置
yum install -y ansible
修改配置文件关闭主机Host_key_checking .
修改配置文件开启日志功能
.[root@m01 ~]# egrep -vn '^$|#'
/etc/ansible/ansible.cfg
10:[defaults]
71:host_key_checking = False
111:log_path = /var/log/ansible.log
327:[inventory]340:[privilege_escalation]
346:[paramiko_connection]370:[ssh_connection]
431:[persistent_connection]
445:[accelerate]
460:[selinux]
469:[colors]
485:[diff]
ansible必会模块
-
ansible模块概述:ansible中模块类似于linux中的命令,我们通过Linux命令管理系统,通过ansible模块实现批量管理
-
ansible中模块一般相当于Linux中一些命令,yum模块,file模块,user模块
-
ansible中的模块拥有不同的选项这些选项一般是一些单词,拥有自己记得格式与要求
模块分类
命令和脚本模块
-
command模块 ansible默认的模块 执行简单的命令,不支持特殊符号
-
shell模块 执行命令 支持特殊符号
-
script模块 分发脚本并执行
文件
- file 创建目录,文件,软链接
- copy 远程分发文件,修改权限,所有者,备份