前期准备
- 离线服务器已经安装ansible、python3、pip3
- 准备一台指令集架构、系统版本与离线服务器相同的联网服务器(可以是虚拟机)
联网服务器
-
下载docker-ce、docker-compose、containerd.io,其中docker-ce的版本为19.03.15。
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo $ yum install --downloadonly --downloaddir=~/downloads docker-ce-19.03.15 docker-ce-cli docker-compose containerd.io $ tar zcf dockeryum.tgz ~/downloads $ rm -rf ~/downloads/*
如果默认的yum源和aliyun的yum源都没有对应版本的docker-ce,可以访问以下网址下载rpm包或tar包
-
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
-
https://download.docker.com/linux/static/stable/x86_64/
该步骤输出压缩包dockeryum.tgz
-
-
下载docker、docker-compose的python package
$ pip3 install -d ~/downloads docker docker-compose $ tar zcf docker-py.tgz ~/downloads $ rm -rf ~/downloads/*
该步骤输出压缩包docker-py.tgz
-
访问https://github.com/ansible/awx/tree/15.0.1,下载源码包awx-15.0.1.zip
-
拉取docker镜像
$ docker pull ansible/awx:15.0.1 $ docker save ansible/awx:15.0.1 -o awx-15.0.1.tar $ tar zcf awx-15.0.1.tar.gz awx-15.0.1.tar $ docker pull postgres:10 $ docker save postgres:10 -o postgres-10.tar $ tar zcf postgres-10.tar.gz postgres-10.tar $ docker pull redis $ docker save redis -o redis.tar $ tar zcf redis.tar.gz redis.tar
该步骤输出3个镜像压缩包:awx-15.0.1.tar.gz、postgres-10.tar.gz、redis.tar.gz
-
将上述步骤的输出,共6个压缩包,拷贝到离线服务器/tmp目录中。
离线安装测试
在正式到离线服务器安装之前,可以先将联网服务器断网,模拟离线状态,使用离线服务器章节中的步骤安装一遍AWX,作为测试步骤。
离线服务器
-
使用root用户登录,并进入/tmp目录
-
安装docker-ce、docker-compose、containerd.io
$ tar zxf dockeryum.tgz && cd downloads $ yum install -y * $ cd .. && rm -rf downloads
-
安装python package的docker和docker-compose
$ tar zxf docker-py.tgz && cd downloads $ pip3 install --no-index --find-links=. docker docker-compose $ cd .. && rm -rf downloads
-
启动docker
systemctl enable --now docker
-
载入docker镜像
$ tar zxf redis.tar.gz $ docker load --input redis.tar # 命令结束会输出img_id $ docker tag %{img_id} redis:latest $ tar zxf postgres-10.tar.gz $ docker load --input postgres-10.tar $ docker tag %{img_id} postgres:10 $ tar zxf awx-15.0.1.tar.gz $ docker load --input awx-15.0.1.tar $ docker tag %{img_id} ansible/awx:15.0.1
-
安装awx
-
解压缩awx项目
unzip awx-15.0.1.zip && cd awx-15.0.1/installer
-
修改安装参数,详情可以参考awx的github
$ vim inventory # 关键参数 admin_user=admin #awx的管理员用户名 admin_password=password #awx的管理员密码 host_port=80 #awx服务监听的本地端口 host_port_ssl=443 #awx服务监听的本地ssl端口 project_data_dir= #本地项目存放的目录 postgres_data_dir="" #使用postgres docker镜像时,数据存放目录 pg_hostname=postgresql #通过设置该参数,使用现有的postgres数据库,而无需启动postgres docker镜像,需要现有数据库与postgres 10兼容
-
安装awx,
ansible-playbook -i inventory install.yml
如需要修改已安装awx的配置,可以在修改inventory的内容后,重新执行上面安装语句。
-
查看服务是否正常启动,
docker ps
,共4个container,分别为- awx_task
- awx_web
- awx_postgres
- awx_redis
-