温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Centos7基于Docker-Compose安装部署AWX

发布时间:2020-07-03 08:02:36 来源:网络 阅读:3630 作者:OMCloud 栏目:云计算

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
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

2)安装依赖

$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2

3)安装

$sudo yum install docker-ce

4)启动Docker CE

$ sudo systemctl start docker
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

直接安装完成。

4、安装docker的python模块

利用pip进行安装

$sudo pip install docker

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

5、安装docker-compose的python模块
$sudo pip install docker-compose
6、安装git
$sudo yum –y install git
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

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

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

四、安装部署AWX

1、克隆一个AMX的本地副本
$ cd /usr/local/src $ git clone https://github.com/ansible/awx.git
2、进入awx目录下的installer
$ cd /usr/local/src/awx/installer

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

# localhost ansible_connection=local awx-server [all:vars] ...

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
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
5、访问AWX web 服务

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

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

6、一些其它操作

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI