ansible dmpwebservers -a "free -g"
搜自动化部署/自动化运维时搜到的, 被拿来和puppet之类的工具对比, 也可以和jenkins对比:
Ansible更纯粹: 登录远程服务器搞一些事情
当然我也没用过其他的自动部署/配管工具, 所以可能说的有些偏颇
刚才那条命令:
静态清单文件 inventory.yml Hosts and Groups and Variables
动态inventory: 配合AWS/OpenStack/自己的CMDB
就是说临时的一个命令, 刚才我们执行的就是一个ad-hoc命令.
用法 ansible targethosts -m module -a arguments
内建好的各种功能的库.
默认是使用command模块, 即去远程服务器执行命令
一些常见的模块:
与刚才临时命令比, Playbook就是把要做的事情写到yaml语法的文件里. 这就强大多了.
playbook结构:
ansible 3230 -m setup
, 常用:jinja2语法:
简略一看
因为ansible的设计哲学是: 去描述服务器应该处于的状态, 而不是写你要进行的操作.
所以大多内置模块的功能都已经做到了这种幂等性, 多次执行也没关系, ansible检查达到了想要的状态就不会重复操作.
而一些类型command的模块, ansible无法判断目标机上的状态是否ok, 是否执行过, 就需要我们注意了.
Ansible小工具分享 | 1 |
---|---|
介绍 | 2 |
inventory 服务器清单 | 3 |
Ad-Hoc Command | 4 |
module 模块 | 5 |
Playbook (test0,1) | 6 |
变量 facts and variables (test2) | 7 |
变量的使用 | 8 |
条件和循环 | 9 |
Reusable 复用 | 10 |
WARNING | 11 |
参考资料 | 12 |
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |