文章目录

  • 简介
  • 方法1:YUM安装
  • 方法2:安装tar包


简介

    对于控制节点(运行Ansible的机器),可以使用安装了python2(版本2.7)或python3(版本3.5及更高版本)的任何机器。
    从版本2.10开始,Ansible发布了两个构件:一个名为Ansible的社区包和一个名为Ansible core的极简包(在版本2.10中称为Ansible base)。
    您可以选择以下任一方式来安装Ansible社区软件包:

  • 使用OS包管理器安装最新版本(适用于Red Hat Enterprise Linux(TM)、CentOS、Fedora、Debian或Ubuntu)。
  • 使用pip(Python包管理器)安装。

    假设我们需要安装的是社区软件包。
    以centos7为例,假设是内网环境,没办法联网,所以没办法使用以下方法了:

$ sudo yum install epel-release
$ sudo yum install ansible

    借鉴yum的思路,将各软件包分别下载安装即可。

方法1:YUM安装

    该方法需要按顺序安装以下软件包:

sshpass-1.06-2.el7.x86_64
python2-httplib2-0.18.1-3.el7.noarch
python-babel-0.9.6-8.el7.noarch
python-jinja2-2.7.2-4.el7.noarch
python2-jmespath-0.9.4-2.el7.noarch
python-paramiko-2.1.1-9.el7.noarch
ansible-2.9.23-1.el7.noarch

    sshpass包一般是系统默认自带的。其他几个包怎么下载呢?从bing.com搜索包名,点击链接

在内网写python程序 内网安装python包_tar


    找到下载链接,然后下载

在内网写python程序 内网安装python包_tar.gz_02


    依次将其他几个包下载并上传到内网主机上。个别包需要安装依赖,所以内网主机需要挂载一下ISO镜像,作为yum源。然后按照顺序依次安装即可:

yum install sshpass-1.06-2.el7.x86_64
yum install python2-httplib2-0.18.1-3.el7.noarch
yum install python-babel-0.9.6-8.el7.noarch
yum install python-jinja2-2.7.2-4.el7.noarch
yum install python2-jmespath-0.9.4-2.el7.noarch
yum install python-paramiko-2.1.1-9.el7.noarch
yum install ansible-2.9.23-1.el7.noarch
方法2:安装tar包

    从PyPI的ansible包页面下载需要的稳定版本。低版本的tar包需要python2,安装高版本的tar包需要python3。安装一系列依赖包,之后解压缩tar包,使用make && make install安装即可。
    高版本tar包由于涉及依赖包及python环境,配置环境会稍微复杂,不太适合初学者。
    以ansible-2.2.3.0.tar.gz在centos7的安装为例,系统环境为python2,整个过程较为简单:
    提前确认好系统已安装

python2-crypto-2.6.1-15.el7.x86_64
python-jinja2-2.7.2-4.el7.noarch
python-paramiko-2.1.1-9.el7.noarch
sshpass-1.06-2.el7.x86_64

    如果缺少某个包,后面安装时会有提示。下面解压缩ansible-2.2.3.0.tar.gz,并进入目录,依次执行

$ make
$ make install
...
Using /usr/lib/python2.7/site-packages
Finished processing dependencies for ansible==2.2.3.0

    安装完成,接下来可以新建目录/etc/ansible,并将安装包中的配置文件拷贝到/etc/ansible中

$ ls examples/
ansible.cfg  hosts
$ cp examples/* /etc/ansible/

    我了解到的其他方法都需要连接外网,如果有好方法再更新。