目录
Ansible 自动化运维工具
Ansible是什么?
Ansible是一个“配置管理工具”也是一个“自动化运维工具”
Ansible 作用:
Ansible是新出现的自动化运维工具,基于Python开发,实现批量系统配置,批量程序部署,批量运行命令
Ansible 简介:
Ansible 是一个能实现批量部署的自动化运维工具,基于python开发,能实现批量系统配置,批量部署程序,批量运行命令。Ansible是基于模块来运行,它本身没有任何批量部署的能力,ansible主要是提供一种批量部署的框架。
Ansible的框架:
- 连接的插件connection plugins: 负责和被监控端的通信
- Host inventory : 指定服务器上配置文件定义监控的客户端
- 核心模块: command、shell、yum、copy、ping、rm、自定义模块(第三方模块)等
- Playbook: 剧本任务,在非必要的情况下可以在一个节点执行多个任务
Ansible 特性:
- No agent 不需要在被管控主机上安装任何软件
- No server 不用单独启用服务,能使用直接运行,使用时直接运行命令
- 对硬件资源占用小
- 不需要在被管控的主机上安装任何软件
- 基于模块工作
- 基于ssh工作
- 使用yaml语言
- 可实现多级指挥
Asible的优势:
1) 轻量级易操作
2) 分布式,无agent客户端
3) 配置语法是YAML语言
4) 轻量级,无需在客户端安装agent,更新时在操作机更新一次即可
5) 批量任务执行可以写成脚本,不用发送给客户机就可执行
6) 使用python编写,维护简单
7) 支持sudo
Ansible的架构:
连接其他主机默认使用的ssh协议,也支持local、zeromq的方式连接
核心:ansible
核心模块(core modules):ansible自带的模块
扩展模块(custom modules):核心模块不能满足需求,添加扩展模块。
插件(plugins):完成模块的补充
剧本(playbook):在ansible配置文件中,可以将多个任务定义在一个剧本中,在ansibel执行剧本。
连接插件(connectior plugins):ansible默认使用ssh连接的,但是ansible也支持其他的连接方式,其他的连接方式是需要插件的支持,才可以实现通信。
主机群(host inventory): 定义ansible管理的主机的
Ansible生成的主要文件
1 |