AWX提供了基于web的用户界面、REST API和建立在Ansible之上的任务引擎。本教程将指导您在CentOS/RHEL 7的Docker容器中设置Ansible AWX的步骤。
请注意,这些说明适用于AWX版本17.x。
先决条件
要完成本操作,您需要安装一个(物理的或虚拟的)CentOS/RHEL 7,必须具有root用户特权。
1.关闭SELinux和Firewall
2.安装EPEL存储库,您需要在您的CentOS/RHEL 7操作系统上安装额外的企业Linux (EPEL)存储库
yum -y install epel-release
yum -y update
reboot
3.安装所需要的包
yum -y install git gcc gcc-c++ ansible nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip python-docker wget
全部安装完成
4.安装Docker
键入下面的命令添加Docker官方仓库在CentOS/RHEL 7
wget https://download.docker.com/linux/centos/docker-ce.repo --directory-prefix /etc/yum.repos.d/
yum -y install docker-ce
安装完成
接下来,启动Docker服务,并使其持久化,即使系统重新启动,使用下面的命令
systemctl start docker
systemctl enable docker
systemctl status docker
在CentOS/RHEL 7上安装Docker Compose
pip3 install -U pip setuptools
pip3 install setuptools_rust
pip3 install wheel
pip3 install docker-compose
下载报错
解决方法是再次尝试(一般是网络问题)
注:由于网络原因,安装过程中可能会失败,多试两次即可
5.下载Ansible AWX
我们通常建议您在下载之前查看GitHub发布页面。
您可以使用下面的命令从Git Hub存储库下载Ansible AWX 17.1.0版本
cd ~
git clone -b 17.1.0 https://github.com/ansible/awx.git
git clone -b 17.1.0 https://hub.fastgit.org/ansible/awx.git(无法访问Github使用)
下载完成后,键入下面的命令来使用openssl生成一个密钥,该密钥将用于加密库存文件
openssl rand -base64 30
d6uYiasPdSx7VOoZrzeU5M0ugW9BE2l6nrKrTg+6
复制您的密钥并将其保存在库存文件中供以后使用
6.安装Ansible AWX
你需要编辑库存文件如下
vi ~/awx/installer/inventory
找到以下指令,通过删除#来取消注释,并相应地更新值,完成后保存并关闭文件
admin_password=P@ssw0rd
secret_key=d6uYiasPdSx7VOoZrzeU5M0ugW9BE2l6nrKrTg+6
pg_hostname=172.18.10.20
pg_username=postgres
pg_password=password
pg_database=postgres
awx_official=true
awx_alternate_dns_servers="8.8.8.8,114.114.114.114"
postgres_data_dir="/var/lib/awx/pgdocker"
docker_compose_dir="/var/lib/awx/awxcompose"
project_data_dir="/var/lib/awx/projects"
输入以下命令来安装AWX
ansible-playbook -i ~/awx/installer/inventory ~/awx/installer/install.yml -v
这需要几分钟的时间来完成,所以不要惊慌,而是享受茶或咖啡。一旦流程成功完成,您将在屏幕上看到类似如下的输出:
安装完成后
你可以用下面的命令来验证正在运行的容器
docker ps
访问AWX Web接口
打开您首选的web浏览器,在地址栏中输入http://your-server-ip,您将被重定向到AWX登录页面。
例如,如果您遇到以下“发生了服务器错误”页面,那么您首先需要执行以下步骤来修复它
修复AWX服务器错误
首先,你需要编辑pg_hba.conf文件,如下所示:
vi /var/lib/awx/pgdocker/12/data/pg_hba.conf
在文件末尾添加以下一行,完成后保存并关闭编辑器
host all all 0.0.0.0/0 trust
接下来,使用以下命令重启AWX docker容器
docker restart awx_postgres
docker restart awx_redis
docker restart awx_web
docker restart awx_task
接下来,刷新你的浏览器或再次访问http://your_server_ip,你会看到如下的AWX升级页面(不行重启)
登陆成功页面