
Ansible学习笔记1
因为ansible不用在被管理机器端安装任何agent或插件,所以更容易被客户接受,所以花些时间研究研究。
Ansible的安装:
因为安全考虑,使用yum等工具通过internet安装不太可能,所以必须学习源码安装。
其实源码安装也很简单,只是要确保ansible依赖的其他组件已经安装并配置好了。
以在Oracle Enterprise Linux 6.5 上安装ansible 2.2.0.0 为例:
安装GMPLIB 6.1.2
首先要安装GMPLIB的最新版本,然后安装pycrypto,确保pycrypto安装时引用的是最新的libgmp,否则最终完成ansible的安装后,执行任何命令都会报错:’module’ object has no attribute ‘HAVE_DECL_MPZ_POWM_SEC’。
GMPLIB的下载地址:https://gmplib.org/#DOWNLOAD
我使用的是下载bzip2格式的压缩包,其他格式的压缩包还得单独安装压缩工具,为啥不能弄个最简单的zip包?
解压缩后,执行:
# ./configure
# make
# make check
# make install
安装pycrypto 2.6.1
解压缩安装包,进入软件解压缩后的目录,执行:# python setup.py install
安装PyYAML-3.12
解压缩安装包,进入软件解压缩后的目录,执行:# python setup.py install
安装Jinja2-2.9.3
解压缩安装包,进入软件解压缩后的目录,执行:# python setup.py install
安装MarkupSafe-0.23
解压缩安装包,进入软件解压缩后的目录,执行:# python setup.py install
安装Ansible 2.2.0
下载地址:http://releases.ansible.com/ansible/ansible-latest.tar.gz
解压缩安装包,进入软件解压缩后的目录,执行:# python setup.py install
测试
在/etc目录下创建ansible目录,将ansible软件包中examples目录下的2个文件都复制到/etc/ansible目录。
这两个文件一个是hosts,也就是所谓的inventory文件,一个是配置文件ansible.cfg,做简单测试我们只要修改hosts文件,把要管理的主机添加进去就可以了,我这里就是在hosts文件尾部添加了以下行:
[mygroup] (组名,可以在命令中引用)
192.168.0.40
192.168.0.41
然后,为了让ansible执行命令时,不需要输入口令,还需要ssh key
# ssh-keygen (空passphrase)
# ssh-copy-id root@192.168.0.40
# ssh-copy-id root@192.168.0.41
执行命令测试:
# ansible mygroup -a “uptime”
192.168.0.41 | SUCCESS | rc=0 >>
18:38:44 up 4 days, 14 min, 3 users, load average: 0.00, 0.01, 0.05
192.168.0.40 | SUCCESS | rc=0 >>
18:38:44 up 3:46, 2 users, load average: 0.00, 0.01, 0.05