Ansible快速入门
在每个公司刚起步的时候,都是先有程序员,当程序写好以后,上线部署都是程序员兼职,于是手动登录机器,敲各种命令,将服务部署起来,只要服务能跑起来就行了。
经过一段时间的运营以后,单机已经无法承载,需要多机部署,线上运行的机器的数量超过3台,手动作业就会带来极大的操作风险,如果长期如此,运营事故一定会接踵而至。
好一点的运维就会把常用的操作固化成脚本来作业,在ansible出现以前,都是 ssh + expect 的组合,ansible的出现给了运维更多发挥的空间。
什么是anisble?
Ansible是一个IT自动化工具。它可以配置系统,开发软件,或者编排高级的IT任务,例如持续开发或者零宕机滚动更新。
ansible的体系结构?
1 | +---------------------+ |
ansible的运行模式
ansible有模式
- 纯命令行
- playbook
- python api模式
ansible命令行模式
1 | > ansible -h |
即可掌握大致的用法。
常见的参数如下:
- -i hosts # 指定操作的主机文件
- -m raw/copy # raw表示执行命令 copy表示传文件
- -a “hostname” # 后面接具体的命令
- -b –become-user=user00 #改变执行的用户
playbook模式
playbook通俗的来讲,就是把命令行操作的内容按照一定的规范编排起来。
- Playbooks contain plays
- Plays contain tasks
- Tasks call modules
- at last, we have handlers which can be triggered to be executed after some actions.
执行playbook1
2# -f 表示同时在几台目标机器上执行
$ ansible-playbook playbook.yml -f 10
python api模式
关于api的话题,后面专门起一个话题来讲