zoukankan      html  css  js  c++  java
  • Centos7基于Docker-Compose安装部署AWX

    Centos7基于Docker-Compose安装部署AWX

    AWX提供基于Ansible的Web用户界面、REST API和任务引擎它是 Ansible Tower的上游开源项目。

    基础准备:

    为了减少安装过程中的问题,可以进行如下暴力的操作

    1、关闭防火墙

    $systemctl stop firewalld && systemctl disable firewalld #关闭并开机不自启动firewalld

    2、关闭SELinux

    1)临时关闭:setenforce 0
    2)永久关闭:修改/etc/selinux/config
    SELINUX=disabled

    一、系统配置要求

    1、最少4G内存

    2、最少2核CPU

    3、最好20G存储空间

    二、基础环境要求:

    1、Ansible 2.4+
    2、Docker
    3、Docker Compose
    4、docker的python模块
    5、docker-compose的python模块
    6、GUN Make
    7、Git 1.8.4+
    8、Node 10.x LTS
    9、NPM 6.x LTS

    三、安装基础环境依赖

    1、安装ansibleRHEL和CentOS直接通过yum进行安装

    $ sudo yum install ansible
    
    • 1.
     
     

    2、安装docker

    Centos7安装Docker CE
    1)首先卸载旧版本

    $sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-selinux 
                      docker-engine-selinux 
                      docker-engine
    
    • 1.
    • 2.
    • 3.
    • 4.
    • 5.
    • 6.
    • 7.
    • 8.
    • 9.
    • 10.
     
     

    2)安装依赖

    $ sudo yum install -y yum-utils 
               device-mapper-persistent-data 
               lvm2
    
    • 1.
    • 2.
    • 3.
     
     

    3)安装

    $sudo yum install docker-ce
    
    • 1.
     
     

    4)启动Docker CE

    $ sudo systemctl start docker
    
    • 1.
     
     

    3、安装Docker Compose

    Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。
    直接基于二进制包安装,直接从官方下载编译好的二进制文件即可。

    sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    
    • 1.
    • 2.
     
     

    直接安装完成。

    4、安装docker的python模块

    利用pip进行安装

    $sudo pip install docker
    
    • 1.
     
     

    注意:如果系统没有pip,可以直接通过 yum install python-pip安装pip,然后继续安装。
    如果系统之前安装过docker-py模块,则需要先卸载

    5、安装docker-compose的python模块

    $sudo pip install docker-compose
    
    • 1.
     
     

    6、安装git

    $sudo yum –y install git
    
    • 1.
     
     

    7、安装Node和NPM

    1)下载Node二进制安装包https://nodejs.org/en/download/ node-v10.16.0-linux-x64.tar.xz (已经默认包含npm 6.9.0)

     $cd /usr/local/src/
     $sudo wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz
    
    • 1.
    • 2.
     
     

    2)解压并建立一个软连接(方便查找)

    $sudo tar -xvf  node-v10.16.0-linux-x64.tar.xz -C /usr/local
    $sudo ln -s  node-v10.16.0-linux-x64 node-v10
    
    • 1.
    • 2.
     
     

    3)设置nodejs环境变量

    $ cd /etc/profile.d/
    $ vim nodejs.sh
      export NODE_HOME=/usr/local/node-v10
      export PATH=$NODE_HOME/bin:$PATH
    使配置生效
    $ source /etc/profile
    检查安装
    $ node -v
    
    • 1.
    • 2.
    • 3.
    • 4.
    • 5.
    • 6.
    • 7.
    • 8.
     
     

    四、安装部署AWX

    1、克隆一个AMX的本地副本

    $ cd /usr/local/src
    $ git clone https://github.com/ansible/awx.git
    
    • 1.
    • 2.
     
     

    2、进入awx目录下的installer

    $ cd /usr/local/src/awx/installer
    
    • 1.
     
     

    根据具体情况修改inventory文件
    1)比如:你想部署在一个远程的主机上,你需要修改inventory文件,注释localhost,然后添加你的远程主机地址

    # localhost ansible_connection=local
    awx-server
    
    [all:vars]
    ...
    
    • 1.
    • 2.
    • 3.
    • 4.
    • 5.
     
     

    2)又或者你不想awx的默认的数据库,则需要修改inventory文件中pg_hostname、pg_username、pg_password、pg_database、pg_port等数据库的相关连接信息。
    3)如果你想把ansible的playbook文件放在本地,则需要修改inventory文件中project_data_dir
    如:project_data_dir=/var/lib/awx/projects
    4)如果你本地不能联网等等需要设置代理,则可以修改inventory文件中的http_proxy、https_proxy。

    3、开始直接构建和部署

    #进去工作目录
    cd installer
    #开始执行Ansible playbook
    ansible-playbook -i inventory -e docker_registry_password=password install.yml
    
    • 1.
    • 2.
    • 3.
    • 4.
     
     

    4、执行结果

    执行结束后,可以在服务器上使用docker ps 命令查看到五个运行的容器。当然,你在部署的时候没有选择默认的PostgresSQL,可能只有四个容器,如下所示:

    CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                 NAMES
    6c5edbdac687        ansible/awx_task:4.0.0       "/tini -- /bin/sh -c…"   21 hours ago        Up 21 hours         8052/tcp                                              awx_task
    6d67a7d33837        ansible/awx_web:4.0.0        "/tini -- /bin/sh -c…"   21 hours ago        Up 21 hours         0.0.0.0:80->8052/tcp                                  awx_web
    59d116913853        memcached:alpine             "docker-entrypoint.s…"   26 hours ago        Up 21 hours         11211/tcp                                             awx_memcached
    9ea0073fe965        ansible/awx_rabbitmq:3.7.4   "docker-entrypoint.s…"   26 hours ago        Up 21 hours         4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp   awx_rabbitmq
    b7ae70f9a653        postgres:9.6                 "docker-entrypoint.s…"   26 hours ago        Up 21 hours         5432/tcp
    
    • 1.
    • 2.
    • 3.
    • 4.
    • 5.
    • 6.
     
     

    5、访问AWX web 服务

    等服务正常启动后,可以直接访问http://awx-host (awx-host为你部署服务的server地址),如图

    默认用户名:admin
    默认密码: password

    6、一些其它操作

    你可以利用docker-compose对AWX服务进行管理
    如:停止AWX:docker-compose stop
    更新AWX:docker-compose pull & docker-compose up --force-recreate

  • 相关阅读:
    003_&#x和ASCII的关系及URL中的中文转义
    001_机器学习的Hello world之MNIST手写数字识别模型
    Appnium安装-Mac平台
    Code Review 规范
    Spring AOP-xml配置
    JTLParser-linux上jmeter的jtl文件二次分析
    测试覆盖率Emma工具使用
    jmeter之java请求
    jmeter测试总结
    jstat监控gc情况
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/14956754.html
Copyright © 2011-2022 走看看