• 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

    觉得有用请点关注!

  • 相关阅读:
    Codeforces956D. Contact ATC
    一道题14
    扰动法--*BZOJ3157: 国王奇遇记
    一道题13
    不是一道题
    一道题12
    *Codeforces891E. Lust
    二次剩余详解
    BZOJ3994: [SDOI2015]约数个数和
    *Codeforces961G. Partitions
  • 原文地址:https://www.cnblogs.com/fusheng11711/p/12752901.html
Copyright © 2020-2023  润新知