CentOS7 Linux生產環境源碼編譯離線安裝Ansible自動化運維工具


環境說明

因為公司需要實現自動化部署應用服務,所以選擇了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/

![](https://img2020.cnblogs.com/blog/1626773/202004/1626773-20200422161123099-1733909144.png

以其中的setuptools包為例,在https://pypi.org/中查找setuptools,其他依賴包不再重復說明

選擇 setptools-46.1.3.zip包(版本自行決定,為了追求速度可復制鏈接后使用迅雷下載)

所有的包如下,如果不想下載多個,可關注本博客后,私信獲取所有安裝包的鏈接

下載完畢后開始依次解壓並安裝

# 安裝 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

覺得有用請點關注!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM