環境說明
因為公司需要實現自動化部署應用服務,所以選擇了Ansible,yum安裝Ansible固然簡單,但是生產環境服務器通網還是不太現實,所以這里主要介紹離線安裝Ansible.
yum安裝Ansible(服務器網絡正常是前提)
# 安裝epel-release擴展源
yum install epel-release -y
# 安裝ansible
yum install ansible -y
# 查看ansible版本
ansible --version
離線安裝Ansible
詳細介紹CentOS7 Linux系統離線安裝Ansible的過程
Python版本說明
如果是python2.版本,setuptools的版本必須低於45,如果python3.版本,則可以安裝,否則編譯Ansible的時候會提示警告!(建議使用Python3+版本)
控制服務器:需要安裝 Python2.6/2.7
被控服務器:需要安裝 Python2.4 以上版本,若低於 Python2.5 需要安裝 pythonsimplejson; 若啟用了 selinux,則需要安裝 libselinux-python。
Linux系統版本以及Python版本
[root@vm-CentOS75-1-63 ansible-2.9.7]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@vm-CentOS75-1-63 ansible-2.9.7]# python --version
Python 2.7.5
# 安裝python-devel和openssl-devel(前提需要配置本地yum源,可參考https://www.cnblogs.com/fusheng11711/p/10863845.html)
yum -y install python-devel openssl-devel libffi-devel
我們去Ansible的官網下載到最新的源代碼包,下載地址:https://releases.ansible.com/ansible/ 在源代碼包中有一個requirements.txt文件,里面記錄了安裝Ansible需要依賴的包,在實際安裝這些依賴包中,我們會發現這些依賴包又會依賴一些其它的包,所以我在這兒給大家詳細列出,其他依賴包下載地址為https://pypi.org/

所有的包如下,如果不想下載多個,可關注本博客后,私信獲取所有安裝包的鏈接
下載完畢后開始依次解壓並安裝
# 安裝 setuptools
unzip setuptools-41.0.1.zip
cd setuptools-41.0.1
python setup.py install
# 安裝pycrypto
tar -xzf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
python setup.py install
# 安裝 PyYAML
tar -xzf PyYAML-5.1.tar.gz
cd PyYAML-5.1
python setup.py install
# 安裝MarkupSafe
tar -xzf MarkupSafe-1.1.1.tar.gz
cd MarkupSafe-1.1.1
python setup.py install
# 安裝Jinja2
tar -xzf Jinja2-2.10.1.tar.gz
cd Jinja2-2.10.1
python setup.py install
# 安裝ecdsa
tar -xzf ecdsa-0.13.2.tar.gz
cd ecdsa-0.13.2
python setup.py install
# 安裝simplejson
tar -xzf simplejson-3.16.0.tar.gz
cd simplejson-3.16.0
python setup.py install
# 安裝libffi-devel
yum -y install libffi-devel-3.0.5-3.2.el6.x86_64.rpm
# 安裝pycparser
tar -xzf pycparser-2.19.tar.gz
cd pycparser-2.19
python setup.py install
# 安裝cffi
tar -xzf cffi-1.12.3.tar.gz
cd cffi-1.12.3
python setup.py install
# 安裝ipaddress
tar -xzf ipaddress-1.0.22.tar.gz
cd ipaddress-1.0.22
python setup.py install
# 安裝six
tar -xzf six-1.12.0.tar.gz
cd six-1.12.0
python setup.py install
# 安裝asn1crypto
tar -xzf asn1crypto-0.24.0.tar.gz
cd asn1crypto-0.24.0
python setup.py install
# 安裝idna
tar -xzf idna-2.8.tar.gz
cd idna-2.8
python setup.py install
# 安裝pyasn1
tar -xzf pyasn1-0.4.5.tar.gz
cd pyasn1-0.4.5
python setup.py install
# 安裝PyNaCl
tar -xzf PyNaCl-1.3.0.tar.gz
cd PyNaCl-1.3.0
python setup.py install
# 安裝cryptography
tar -xzf cryptography-2.6.1.tar.gz
cd cryptography-2.6.1
python setup.py install
# 安裝bcrypt
tar -xzf bcrypt-3.1.6.tar.gz
cd bcrypt-3.1.6
python setup.py install
# 安裝paramiko
tar -xzf paramiko-2.4.2.tar.gz
cd paramiko-2.4.2
python setup.py install
# 安裝ansible
tar -xzf ansible-latest.tar.gz
cd ansible-2.7.10/
python setup.py install
到這里安裝結束,產看Ansible版本
ansible --version
ansible 2.9.7
config file = None
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible-2.9.7-py2.7.egg/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
成功!
# 修改Ansible配置文件位置
cp -a /opt/cosmo/com/ansible/ansible-2.9.7/examples/ansible.cfg /etc/ansible/
cp -a /opt/cosmo/com/ansible/ansible-2.9.7/examples/hosts /etc/ansible/
# 修改ansible.cfg文件開啟日志
sed -i.bak 's/#log_path/log_path/' /etc/ansible/ansible.cfg
# 啟動ansible
配置Ansible可視化圖形界面,請參照https://www.cnblogs.com/fusheng11711/p/12220932.html