ansible介绍:
Ansible默认通过 SSH 协议管理机器.
ssh协议介绍:https://www.cnblogs.com/yaozhiqiang/p/9944894.html
安装ansible之后,不需要启动或运行一个后台进程,或是添加一个数据库,只要在任意一台系统服务器上安装好就可以通过这个系统管理一组远程的机器在远程被管理的机器上,不需要安装任何软件,因此升级ansible版本不会有太多问题
选择ansible版本:
因为Ansible可以很简单的从源码运行,且不必在远程被管理机器上安装任何软件,很多Ansible用户会跟进使用开发版本.
若你希望使用Ansible的最新版本,并且你使用的操作系统是 Red Hat Enterprise Linux (TM), CentOS, Fedora, Debian, Ubuntu,建议使用系统的软件包管理器.
可以通过“yum”命令进行安装。
另有一种选择是通过”pip”工具安装,”pip”是一个安装和管理Python包的工具.
从源码运行Ansible的方法.从源码运行程序不需要进行软件安装.
安装需求:
需要安装python:支持Python2版本不支持python3版本
自2.0版本开始,ansible使用了更多句柄来管理它的子进程,对于OS X系统,你需要增加ulimit值才能使用15个以上子进程,方法 sudo launchctl limit maxfiles 1024 2048,否则你可能会看见”Too many open file”的错误提示.
通常我们使用 ssh 与托管节点通信,默认使用 sftp.如果 sftp 不可用,可在 ansible.cfg 配置文件中配置成 scp 的方式. 在托管节点上也需要安装 Python 2.4 或以上的版本.如果版本低于 Python 2.5 ,还需要额外安装一个模块:
python-simplejson
没安装python-simplejson,也可以使用Ansible的”raw”模块和script模块,因此从技术上讲,你可以通过Ansible的”raw”模块安装python-simplejson,之后就可以使用Ansible的所有功能了.
如果托管节点上开启了SElinux,你需要安装libselinux-python,这样才可使用Ansible中与copy/file/template相关的函数.你可以通过Ansible的yum模块在需要的托管节点上安装libselinux-python.
- Python 3 与 Python 2 是稍有不同的语言,大多数Python程序还不能在 Python 3 中正确运行.一些Linux发行版(Gentoo, Arch)没有默认安装 Python 2.X 解释器.在这些系统上,你需要安装一个 Python 2.X 解释器,并在 inventory (详见 Inventory文件) 中设置 ‘ansible_python_interpreter’ 变量指向你的 2.X Python.你可以使用 ‘raw’ 模块在托管节点上远程安装Python 2.X.
- 例如:
ansible myhost --sudo -m raw -a "yum install -y python2 python-simplejson"
这条命令可以通过远程方式在托管节点上安装 Python 2.X 和 simplejson 模块.
Red Hat Enterprise Linux, CentOS, Fedora, and Ubuntu 等发行版都默认安装了 2.X 的解释器,包括几乎所有的Unix系统也是如此.
通过YUM安装最新版本:
通过Yum安装RPMs适用于 EPEL 6, 7, 以及仍在支持中的Fedora发行版.
托管节点的操作系统版本可以是更早的版本(如 EL5), 但必须安装 Python 2.4 或更高版本的Python.
Fedora 用户可直接安装Ansible, 但RHEL或CentOS用户,需要 配置 EPEL
yum install ansible
update安装可以通过APT安装
apt-get install software-properties-common apt-add-repository ppa:ansible/ansible apt-get update apt-get install ansible
通过pip安装最新版本:
Ansible可通过 “pip” 安装(安装和管理Python包的工具),若你还没有安装 pip,可执行如下命令安装:
pip install ansible