系统环境:
> [[email protected] ansible_home]$ python --version
> Python 2.7.5
> [[email protected] ansible_home]$ cat /etc/redhat-release
> CentOS Linux release 7.1.1503 (Core)
> [[email protected] ansible_home]$ uname -a
> Linux outman.ip66.com 3.10.0-123.20.1.el7.x86_64 #1 SMP Thu Jan 29 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
>[[email protected] ansible_home]$
安装:
yum -y install ansible
或者
pip install ansible
ansible基本操作:
定义主机组vi /etc/ansible/hosts
[groupname] 172.16.1.5 172.16.1.6 172.16.1.7
hosts文件由两部分组成:
“[]”方括号括起来的部分是主机组名。
下面的部分是主机组包含的主机相关信息。主机信息可以只有Ip地址,也可以是一个域名或者主机名。官方自带的hosts里面已经有示例文件了。
ansible有两种运行模式,ad-hoc和playbook
ad-hoc就是相当于批量临时bash执行命令。优点是简单快捷(懒惰?)。
playbook就相当于批量执行shell脚本。
在主机组groupname执行shell命令w
ansible groupname -u op -k -m command -a ‘w‘
其中-m后面接要使用的command模块,-a是运行在ad-hoc模式。
-u指的是用哪个用户执行.
-k表示询问密码。会让你输入密码。
到这一步,就基本上可以当做批量执行命令机了。
探索有哪些模块可用,-m 能使用的模块可以在/usr/lib/python2.7/site-packages/ansible/modules/core/packaging/os/yum.py这样的文件中找到,源码里面有使用方法举例等。
ansible是使用了ssh作为客户端,所以,ssh免密码输入的方法都可以对ansible生效。自行设置吧。
至于playbook的使用,有空再书。