对ansible的认识还不深入。不过打算投入时间再研究研究
Advantages
好处1. 直接使用ssh协议(可以选择用openssh或者python封装的paramiko)
client不需要安装软件或者开启端口。client需要安装一个python-simplejson包(提供json格式返回结果)就可以直接使用
好处2. 适合从ad-hoc的紧急工作到有序部署的大型架构, 因为ansible将系统的配置作为数据使用yaml格式保存, 而不是python code,所以系统配置/架构可以非常清晰。 对于复杂度高的多server和复杂度低的幂等架构都可以快速部署
好处3. ansible源于开发了cobble的Michael DeHaan, 他也是puppet团队成员, 对于配置管理/部署等工作非常熟悉,很靠谱。
需要考虑的: 对于ssh keybased验证和sudo权限需要预先了解和部署
需要纪录的: 即使使用 openssh连接,ansible也会忽略 ~/.ssh/config中的Port配置,必须在inventory文件定义中显示标注
特征
特征1. 使用类似于chef的push发放配置
特征2. ansible的配置管理叫做playbook
特征3. 可以使用普通用户,加入 -s 参数或者相应配置在playbook文件中启用sudo授权
试用(假设 ~/.ssh/config 中已经有remote_webserver_01 配置ssh keybased连接)
☀ ansible中文名字叫做安塞波
☀ 文档:
http://ansible.cc/docs/☀ FAQ:
http://ansible.cc/faq.html☀ playbooks sample:
https://github.com/mpdehaan/ansible-examples