概要
興味が湧いたのでAnsible AWX触りたいと思って、環境構築やってみました。
CentOS 7でやってると依存関係とか諸々でしんどかったので手順を残しておきます。
目次
参考サイト様
前提
実行環境はWindows 10のVMware WorkStationでCentOS 7
- Windows 10 1909
- VMware(R) Workstation 15 Player 15.5.2 build-15785246
- 一応、マシンにメモリ8GB割当
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
手順
Ansible AWXのInstall Guideに従ってインストールを実行します。
必要パッケージのインストール
下記のガイドに記載の必要なパッケージを順にインストールする。
# とりあえずパッケージアップデート
[root@localhost ~]# yum update -y
# epel releaseリポジトリを追加
[root@localhost ~]# yum -y install epel-release
# 必要なパッケージをインストール
[root@localhost ~]# yum install -y ansible python3 docker-compose yum-utils libselinux-python3
Dockerについては、Dockerの公式ドキュメントに記載の方法でインストールする。
# 最新版Dockerをインストール
[root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[root@localhost ~]# yum install -y docker-ce docker-ce-cli containerd.io
# 最新版gitをインストール
[root@localhost ~]# yum install -y https://repo.ius.io/ius-release-el7.rpm
[root@localhost ~]# yum provides git
読み込んだプラグイン:fastestmirror
### 省略
git224-2.24.2-1.el7.ius.x86_64 : Fast Version Control System
リポジトリー : ius
一致 :
Provides : git = 2.24.2-1.el7.ius
[root@localhost ~]# yum install -y git224-2.24.2-1.el7.ius.x86_64
インストール確認
# ansible
[root@localhost ~]# ansible --version
ansible 2.9.9
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr 2 2020, 13:16:51) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
# python
[root@localhost ~]# python3 -V
Python 3.6.8
# docker
[root@localhost ~]# docker --version
Docker version 19.03.10, build 9424aeaee9
[root@localhost ~]# docker-compose --version
docker-compose version 1.18.0, build 8dd22a9
# git
[root@localhost ~]# git --version
git version 2.24.2
Docker Engineの起動
# 状態確認
[root@localhost ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: https://docs.docker.com
# Docker Engine起動
[root@localhost ~]# systemctl start docker
# OS起動時に起動するよう設定
[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
# 再度状態確認
[root@localhost ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since 日 2020-05-31 16:34:03 JST; 7s ago
Docs: https://docs.docker.com
Main PID: 22567 (dockerd)
CGroup: /system.slice/docker.service
mq22567 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
### 省略
Ansible AWXのインストール
Docker-composeの手順に従って実行する。
# リリースタグを指定してClone
[root@localhost ~]# git clone https://github.com/ansible/awx.git -b 11.2.0 --depth 1
# インストールプレイブックを実行
[root@localhost ~]# cd awx/installer/
[root@localhost installer]# ansible-playbook -i inventory install.yml
コンテナ起動確認
Playbook実行完了後、コンテナの起動確認を実施する。
[root@localhost installer]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ca4fc3d6faa8 ansible/awx_task:11.2.0 "tini -- /bin/sh -c …" 33 seconds ago Up 27 seconds 8052/tcp awx_task
15a7ed8a3883 ansible/awx_web:11.2.0 "tini -- /bin/sh -c …" 34 seconds ago Up 27 seconds 0.0.0.0:80->8052/tcp awx_web
04baa6943b57 postgres:10 "docker-entrypoint.s…" 44 seconds ago Up 20 seconds 5432/tcp awx_postgres
013828ea0d9b redis "docker-entrypoint.s…" 44 seconds ago Up 27 seconds 6379/tcp awx_redis
ef184bf19350 memcached:alpine "docker-entrypoint.s…" 44 seconds ago Up 27 seconds 11211/tcp awx_memcached
ブラウザから確認
VMのIPを入力してブラウザからアクセス
初回接続時にDBマイグレーションが走るので気長に待つ。
ログイン情報はインストールガイドに記載。
You will prompted with a login dialog. The default administrator username is
admin
, and the password ispassword
.
awx/INSTALL.md at devel · ansible/awx 🔗
以上
雑感
必要以上にパッケージの依存関係で戸惑った、検証しながら3回構築やり直してこの手順に収まった感じ。
LinuxでDockerを扱った経験がないから、そのままインストールしたらバージョン古くて動かないとか知らないし。
Python系のモジュールも辛いし。
gitはなぜか必要なバージョン満たしてないけど動いた。
さー、これからAWX触りましょうね。