自动化运维工具:ansible介绍

ansible是一款自动化运维工具(Ansible is Simple IT Automation),基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
Ansible是一个部署一群远程主机的工具;Ansible通过SSH协议实现远程节点和管理节点之间的通信。理论上说,只要管理员通过ssh登录到一台远程主机上能做的操作,Ansible都可以做到。Ansible是python开发的,故依赖一些python库和组件,如:paramiko,PyYaml和jinja三个关键组件;

(一)ansbile组成

1、主机清单(host inventory)
用于定义客户机。即你需要去控制的客户机,可以对客户机进行分类:web组、db组、redis组、flask组、django组等

2、配置文档(playbooks 剧本)
写明了ansible需要客户机操作的事情

3.模块( module)每个模块实现相应的功能
安装软件、复制文件、服务管理(启动、停止、重启)、执行linux命令等,有2000多个模块

4.插件(plugins)
依附于ansible的一个小软件,实现某个小功能。

(二)ansible配置文件

/etc/ansible/ansible.cfg

ansible的主配置文件
这个文件主要定义了roles_path路径,主机清单路径,连接清单中的主机方式等配置,这些大部的默认配置已经足够我们平时使用,如需要特别配置可以自行去修改;

/etc/ansible/hosts

这个配置文件就是默认主机清单配置文件,可通过ansible.cfg重新定义的;
如定义一组主机:

[root@ansible ansible]# vim hosts   添加服务器ip到webservers组里
[webservers]
192.168.111.130:2233
# 2233 是ssh服务的端口号,不接端口,就是使用默认的22号端口号
192.168.1.126
192.168.1.163

除了以上两个重要的配置文件还有三个重要的可执行文件分别是:

ansible 主执行程序,一般用于命令行下执行
ansible-playbook 执行playbook中的任务
ansible-doc 获取各模块的帮助信息

猜你喜欢

转载自blog.csdn.net/weixin_44321163/article/details/107897780