简介
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
以下为Ansible的核心内容:
安装
安装ansible很简单,执行yum install ansible即可
配置
Ansible 可同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置。默认的文件路径为 /etc/ansible/hosts
/etc/ansible/hosts 文件的格式与windows的ini配置文件类似:
密钥
Ansible底层是通过ssh协议进行通信,因此在我们操作远程主机之前,需要先确保ansible主机的公钥已复制到远程主机。
首先在Ansible主机生成密钥对:
|
将公钥copy到远程主机:
|
所有写在/etc/ansible/hosts文件中的IP都需要copy公钥,有时甚至包含Ansible节点本身。
执行
Ansible执行分为两种模式:Ad-Hoc和Playbook,Ad-Hoc常用于比较简单命令执行,即时就可以查看到执行结果。
以下为Ad-Hoc模式简单示例:
Playbook
Playbooks 与 adhoc 相比,是一种完全不同的运用 ansible 的方式,是非常之强大的。
简单来说,Playbooks 是一种简单的配置管理系统与多机器部署系统的基础。与现有的其他系统有不同之处,且非常适合于复杂应用的部署。
Playbooks 可用于声明配置,更强大的地方在于,在 Playbooks 中可以编排有序的执行过程,甚至于做到在多组机器间,来回有序的执行特别指定的步骤,并且可以同步或异步的发起任务.