Ansible 从入门到实战(1)-Ansible 安装(离线)

本贴最后更新于 1624 天前,其中的信息可能已经时移世易

Ansible 从入门到实战(1)-Ansible 安装(离线)

虽然是离线安装,但是必须有一台相同操作系统的机器可以连网,比如建了一台可以连网的虚拟机。

本次教程基于 Centos7,机器可以连网。

一、安装 pip

如果系统已经有了 pip 命令,直接到第二步。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

用上面的方法安装 pip 时,会自动安装包 setuptools 和 wheel。因为离线,所以服务器无法自动安装,
不过我们可以在连网的机器先下载好对应的包:

pip download setuptools
pip download wheel

把下载好的包上传到/local/copies,总共三个包,如下
get-pip.py
setuptools-41.4.0-py2.py3-none-any.whl
wheel-0.33.6-py2.py3-none-any.whl

然后离线安装:python get-pip.py --no-index --find-links=/local/copies

如果不行,按照下面的步骤安装:
python --no-setuptools --no-setuptools get-pip.py
pip install setuptools-41.4.0-py2.py3-none-any.whl
pip install wheel-0.33.6-py2.py3-none-any.whl

二、用 git 拉取最新的 ansible 稳定版

pip download -r ansible/requirements.txt

参考命令:
pip download jinja2 ./pkg
pip download PyYAML ./pkg
pip download cryptography -d ~/pkg

三、用 git 进行离线安装

ansible 包和依赖包上传到内网服务器 /local/copies

然后安装:
python get-pip.py --no-index --find-links=/tmp/ansible-offline-20191010
pip install --no-index --find-links=/local/copies -r requirements.txt

  • 安装 ansible

$ cd ./ansible
$ source ./hacking/env-setup

结果如下:
export PATH=$PATH:/data/solution/ansible/ansible-2.8.5/bin
export PYTHONPATH=/data/solution/ansible/ansible-2.8.5/lib
export MANPATH=$MANPATH:/data/solution/ansible/ansible-2.8.5/docs/man

  • 配置 root 的.bashrc 文件,在文件最后添加以下内容:
export PATH=$PATH:/data/solution/ansible/ansible-2.8.5/bin
export PYTHONPATH=/data/solution/ansible/ansible-2.8.5/lib
export MANPATH=$MANPATH:/data/solution/ansible/ansible-2.8.5/docs/man

source ~/.bashrc
ansible --version

[root@host-172-16-102-29 ansible-2.8.5]# ansible --version
ansible 2.8.5
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /data/solution/ansible/ansible-2.8.5/lib/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Jun 20 2019, 20:27:34) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

四、用 tarball 安装 ansible

export PATH=$PATH:/data/solution/ansible/ansible-2.8.5/bin
export PYTHONPATH=/data/solution/ansible/ansible-2.8.5/lib
export MANPATH=$MANPATH:/data/solution/ansible/ansible-2.8.5/docs/man

source ~/.bashrc
ansible --version

  • 如果运行报错,请参考第一,第二小节安装好 ansible 需要的 python 包

五、参考命令

安装指定的离线包,参考命令:
pip list
pip show pkg_name
pip install --user -r ./requirements.txt
pip install --no-index --find-links=/root/pippkg jinja2 或
pip install --no-index --find-links=/tmp/ansible-offline-20191010 -r requirements.txt
pip install --download d:/python27/packages -r requirements.txt
pip freeze >requirements.txt 把已安装的包列表输出到文件里

Installation - pip documentation v21.1.2 Contents Menu Expand

https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#tarballs-of-tagged-releases

自己制作 rpm 包:
$ git clone https://github.com/ansible/ansible.git
$ cd ./ansible
$ make rpm
$ sudo rpm -Uvh ./rpm-build/ansible-*.noarch.rpm

自己制作 deb 包:
$ git clone https://github.com/ansible/ansible.git
$ cd ./ansible
$ make deb

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...