简介:
引用官方介绍,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