文章目錄
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
文件里面修改的