1.2 Ansible 安装

Ansible 基于 SSH 协议来管理机器。

Ansible 不需要添加数据库,也不需要守护进程或者长期运行。只要在一台机器上安装就可以管理所有的机器,因为没有客户端,所以升级比较简便,升级本地 Ansible 服务,即可在整个集群上使用。

选择哪个版本

因为它可以很容易地从源代码运行,并且不需要在远程机器上安装任何软件,所以许多用户实际上会跟踪开发版本。

Ansible 的发布周期通常为4个月左右。由于这个较短的发布周期,相对于在稳定分支上维护备份端口,较小的bug通常会在下一个版本中修复。在需要的时候,主要的bug仍然会有维护版本,尽管这种情况并不常见。

如果您希望运行最新发布的 Ansible 版本,并且正在运行 RHEL (TM)、CentOS、Fedora、Debian或Ubuntu,建议使用操作系统自己的包管理器。 对于其他安装选项,建议通过“pip”安装,它是Python包管理器,不过也可以使用其他选项。

Ansible 控制机的要求

目前,Ansible可以在安装了python2(版本2.7)或python3(版本3.5或更高)的任何机器上运行。控制计算机不支持Windows。 这包括Red Hat、Debian、CentOS、macOS、任何BSDs等等。

macOS 如果您想使用15个或更多fork,需要使用 sudo launchctl limit maxfiles unlimited 来提高 ulimit。此命令还可以修复任何“打开的文件太多”错误。

被管理节点的要求

在被管理节点上,通常使用 SSH 来作为通信方式。传输文件默认情况下使用sftp,如果不支持,可以修改 ansible.cfg 配置文件,切换为使用 scp。系统需要python2(版本2.6或更高)或python3(版本3.5或更高)。

在管理机器上安装 Ansible

DNF or Yum

On Fedora

$ sudo dnf install ansible

On RHEL and CentOS

$ sudo yum install ansible

Apt (Ububtu)

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository --yes --update ppa:ansible/ansible
$ sudo apt-get install ansible

Apt (Debian)

Debian 使用了和 Ubuntu 一样的源代码。

添加下来行到 /etc/apt/source.list 中

deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main

然后执行如下命令

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
$ sudo apt-get update
$ sudo apt-get install ansible

Pip

Ansible 可以通过 pip 来安装,请先确认系统内有该包管理工具。如果没有请先安装pip 。 安装好以后使用如下命令来安装 Ansible。

$ sudo pip install ansible

Running From Source

首先 clone 代码仓库

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

设置环境变量

$ source ./hacking/env-setup

If you want to suppress spurious warnings/errors,

$ source ./hacking/env-setup -q

确保系统内安装了 pip ,使用 pip 安装 ansible 需要的 Python module 。

$ sudo pip install -r ./requirements.txt

一旦运行了env-setup脚本,默认的主机列表文件将是/etc/ansible/hosts.您可以选择指定/etc/ansible/hosts之外的目录文件

现在已经可以使用了,可以使用如下命令来进行测试。

$ ansible all -m ping --ask-pass

在 Ansible download 页面上可以找到已经发布的压缩包 https://releases.ansible.com/ansible/

results matching ""

    No results matching ""