文章目录
AWX是一个开源的web应用,并为ansible的任务引擎提供用户接口和REST API
它是 ansible Tower的开源版本。ansible AWX允许我们使用web接口去管理Ansible的playbooks、inventoris和调度任务
本文部署的是截止2021年3月19日为止的最新版本
awx-v17.1.0
关于环境
Linux:~ # cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
Linux:~ # uname -r
3.10.0-1127.19.1.el7.x86_64
Linux:~ # sestatus
SELinux status: disabled
Linux:~ # systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
需要关闭selinux以及防火墙
下载awx
Linux:~ # cd /opt/
Linux:/opt # wget -c https://github.com/ansible/awx/archive/17.1.0.tar.gz
Linux:/opt # tar xvf awx-17.1.0.tar.gz
直接wget github的包,有时候会因为网络的问题中断下载,加一个
-c
参数,支持断点续传或者使用
git clone https://github.com/ansible/awx.git
需要先部署docker服务,关于docker的部署,可以看我另一篇文章,直接执行脚本即可,centos也适用
下载安装所需依赖
awx 需要使用 python3
Linux:~ # yum install -y epel
Linux:~ # yum install -y yum-utils device-mapper-persistent-data lvm2 ansible git python3 python3-devel python3-pip python-docker-py vim-enhanced
安装docker-compose
Linux:~ # pip3 install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
Linux:~ # pip3 install docker-compose -i https://mirrors.aliyun.com/pypi/simple/
配置inventory文件
Linux:~ # cd /opt/awx-17.1.0/installer/
Linux:/opt/awx-17.1.0/installer # mv inventory{,.bak}
Linux:/opt/awx-17.1.0/installer # vim inventory
admin_password=admin # 这里只修改用户的密码(还可以自定义数据库名称、密码、用户)
Linux:/opt/awx-17.1.0/installer # ansible-playbook -i inventory install.yml
出现的报错
TASK [local_docker : Run migrations in task container]
这里的报错会比较多,如果是看到
Pulling from
的字眼,基本上就是镜像拉取问题,执行下面的操作,先拉取镜像,然后再次执行ansible-playbook -i inventory install.yml
即可,镜像都是国外的,拉取很慢
Linux:/opt/awx-17.1.0/installer # grep docker_compose_dir inventory
docker_compose_dir="~/.awx/awxcompose"
Linux:/opt/awx-17.1.0/installer # cd ~/.awx/awxcompose/
Linux:~/.awx/awxcompose # docker-compose run --rm --service-ports task awx-manage migrate --no-input
也可以使用下面的命令,我已经将镜像上传至阿里云的仓库了,速度会快很多
Linux:/opt/awx-17.1.0/installer # docker pull registry.cn-hangzhou.aliyuncs.com/ansible-awx/ansible-awx:awx-17.1.0
Linux:/opt/awx-17.1.0/installer # ansible-playbook -i inventory install.yml
镜像拉下来之后,再次执行
ansible-playbox
即可
验证web页面
inventory
文件如果没有修改,默认就是80
端口,直接在浏览器输入自己的IP就可以访问到页面了,密码这里设置成了admin
,用户名默认也是admin
,也是可以在inventory
文件里面修改的