今回は、Ansible AWX をUbuntu 20.10にインストールします。AWXがあれば、ビジュアル的にAnsibleの利用が可能になり、大変便利です。
Ansible AWXとは
Ansible AWXはRedHatが提供するAnsible Towerのオープンソースコミュニティー版です。AWXを使用することで、UIによる操作・ジョブスケジュール・秘密鍵管理・実行履歴保存などが通常のAnsibleに機能として追加されます。
AWXについての詳細は、The AWX Project FAQを参照してください。
構築
Ubuntu 20.10.0上に、Ansible AWX 15.0.1を構築します。
Ansibleインストール
Ansibleをインストールします。v2.8以上が必要です。
sudo apt update
sudo apt install ansible
Dockerインストール
公式手順に従い、最新のDockerをインストールします。
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Docker Pythonモジュールインストール
AWX動作に必要なモジュールをインストールします。
sudo apt install python3-pip
sudo pip3 install docker
sudo pip3 install docker-compose
AWXインストール
Ansible AWXをインストールします。
git clone https://github.com/ansible/awx
sudo mkdir /opt/pgdocker
cd awx/installer
sudo ansible-playbook -i inventory install.yml -e "postgres_data_dir=/opt/pgdocker project_data_dir=/var/lib/awx/projects dockerhub_version=15.0.1"
※本ブログ執筆時点での最新AWX v16はエラーで起動できなかったため、v15.0.1を採用しています。AWXの最新版でエラーが解消されれば、playbook実行時の変数dockerhub_versionは指定不要です。
※それでも、”main_organizationテーブルが見つからない”旨のエラーが出る場合があります。回避策として、dockerhub_versionを”16.0.0″と交互に実行すれば、後勝ちで管理コンソールが起動してきます。
起動確認
コンテナ起動状態
コンテナが起動していることを確認します。
sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bd223f9a00c3 ansible/awx:15.0.1 "/usr/bin/tini -- /u…" 2 days ago Up 36 seconds 8052/tcp awx_task
eec654e58ce2 ansible/awx:15.0.1 "/usr/bin/tini -- /b…" 2 days ago Up 16 seconds 0.0.0.0:80->8052/tcp awx_web
a72387e75540 postgres:10 "docker-entrypoint.s…" 2 days ago Up About a minute 5432/tcp awx_postgres
290edcf89c28 redis "docker-entrypoint.s…" 2 days ago Up About a minute 6379/tcp awx_redis
AWX管理画面表示
AWX管理画面は、下記にアクセスして表示します。
- URL:http://{AWX IPアドレス}:80/
- 初期アカウント:admin / password
まとめ
AWX環境を用意することで、Ansibleをより効果的に運用できるようになります。次回は、AWXからPlaybookを実行する簡単な例を取り上げたいと思います。
以上、Ansible AWXのインストール手順の紹介でした。
コメント