简介:

引用官方介绍,ansible 是IT自动化工具。它可以配置系统,部署软件和编排高级IT任务,例如连续部署或零停机更新。


ansible 主要目标是简单易用,同时还强调安全性和可靠性。


ansible 适用于所有类型人员使用:开发人员、系统管理员、发布人员、IT经理中的任何人。ansible适用于管理所有环境,少量实例到上千实例设置。


ansible 通过openssh 以无代理方式管理机器。永远不会有如何升级远程守护程序或无法管理系统的问题。


ansible 公司大约每两个月发布一个新的稳定版本。


ansible 分为剧本(playbooks),配置管理(configuration management),部署(deployment)和编排(orchestration)


版本选择:

ansible 项目https://github.com/ansible/ansible.git
ansible 默认通过SSH协议管理计算机。只需要在一台机器上安装,就可以从该中心点管理整个远程主机。

ansible 发布周期通常为四个月。

许多用户实际会跟踪开发版本。如要运行最新稳定版,建议使用系统软件包管理器安装。

或通过 pip 安装


控制机要求:

目前可以从任何安装了python2.6或2.7的机器运行ansible(控制机不支持windows)

注:ansible 2.2引入了python3 预览


管理节点要求:

在被管理节点上,需要支持ssh。默认使用sftp,如不可用,可修改ansp.cfg 变更为scp。同时还需要python2.5+

注:如被管理节点启用了SELinux,还需安装libselinux-python


安装:

从源码:

$git clone git://github.com/ansible/ansible.git --recursive
$cd ./ansible


使用bash:

$source ./hacking/env-setup

将ansible执行文件添加到环境变量,若要使用还需安装如下python模块

$sudo pip install paramiko PyYAML Jinja2 httplib2 six


或通过setup.py安装到系统下

$sudo python setup.py install

使用setup.py安装,可将ansible安装到系统全局变量,同时会自动安装相关python模块。


主机配置:

ansible 主机配置默认使用/etc/ansible/hosts 文件的配置信息

192.168.199.141 
aserver.example.org
 bserver.example.org

ansible 默认使用ssh协议通信,这就要求控制机能够使用密钥登录到被管理节点,有关密钥登录配置,不在此说明。


ping 所有节点

ansible all -m ping


成功的返回信息

192.168.199.141 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

有关ansible 安装到此结束。后面如涉及ansible 的使用,会直接写到实际应用中。



注:在安装ansible过程中遇到如下问题


error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

此问题是因为没有安装python-dev包


“SSLError: The read operation timed out” when using pip

此问题很明显,超时。这个可能和国内网络环境有关。解决方式有两种

一种是到python官方pip库直接下载超时的模块源码安装

一种是在pip install时指定超时时间,如 pip --timeout=100 install pakge


ansible pkg_resources.DistributionNotFound: cryptographyian

确认是否安装cryptographyian,是否缺少相关依赖

pip list
pip check

如果确认已安装且无依赖问题,可下载源码包通过pip 方式安装

wget https://codeload.github.com/ansible/ansible/tar.gz/v2.5.0
pip install v2.5.0