自动化运维工具Ansible使用(一)

简介

Ansible是一个使用Python语言的自动化运维工具。集合了众多运维工具,例如fabric, saltstack等的优点,实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。

Ansible可以以两种方式运行:ad-hoc,playbooks。

  • ad-hoc(命令)模式和fabric非常类似,批量远程执行SSH命令。一些简单的命令可以用这个方式进行分发。例如:

这条命令将在所有配置了的服务器上执行date命令并返回命令的返回值。

ad-hoc命令的典型格式是:

  • playbooks(剧本)模式则可以执行复杂的工作。将需要的任务用yaml格式写在文件中,然后执行。例如:

然后执行:

即在所有服务器上执行ping这个操作。(“-f 10”表示并发10)

请注意,Ansible的命令分发基于SSH链接,所以虽然是C/S架构,但并不需要安装客户端。另外Ansible的分发可以并行执行。

安装

在Ubuntu上可以使用两种方式安装:

  • pip(不建议安装在virtualenv虚拟环境中):

  • apt

准备工作

为了使Ansible能够更加安全方便的执行,将Server的SSH Public Key添加到Clients的Authorized-Keys文件中。使得从Server端使用SSH登录到Client端时无需使用明文密码。这属于运维的基础知识,这里就不仔细说明了。

参考资料:Ansible Documentation

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注