Ansible, 批量脚本执行神器
2015-08-20
就像产品和运营一样,开发和运维的界限现在也越来越模糊。运维工具还是有很多好东西的, Ansible就是个这样一个。
选择Ansbile理由:
- python
- 无须在远程机器上安装agent,直接ssh权限就够了
- 宿主机上没有什么依赖,pip安装Ansible就够了
效果如下:
[bopjiang@localhost adhoc]$ ansible kafka-broker -i ./ansible_host -a "df -h" --sudo --sudo-user bopjiang
10.10.82.180 | success | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 49G 18G 29G 38% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/sda1 194M 31M 153M 17% /boot
/dev/sda5 1.1T 729G 255G 75% /data
10.10.30.207 | success | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 97G 46G 46G 51% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda1 194M 54M 131M 30% /boot
/dev/sda5 1.6T 1.1T 335G 78% /data
当然你要配置SSH密钥自动登录远程机器,可以参考这个自动化脚本ssh-no-password。
Adhoc的方式批量执行命令只是Ansible的一个小功能。
Ansible的主要用途是做自动化部署,使用好需要理解playbook,roles,template的概念,并不复杂,下次再说了。