CentOS8 にAWX をインストールする

docker-compose 版のAWXをCentOS 8 にインストールする手順のメモです。 この手順は次の環境で構築しています。操作はすべて管理者権限で実行しています。

準備

  • 最小構成のCentOS 8 がインストールされている前提です
$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core) 

パッケージのUPDATE

$ dnf update -y

Ansible のインストール

Ansible のインストールは以下を参照してください。

CentOS 8 にAnsible をインストールする

Docker のインストール

手順は、以下を参照にしています。 CentOS8にDockerを入れる

$dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$dnf -y install wget
$wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.2-3.3.el7.x86_64.rpm
$dnf install containerd.io-1.2.2-3.3.el7.x86_64.rpm
$dnf install -y docker-ce docker-ce-cli
$systemctl start docker
$systemctl enable docker
$docker --version

Docker Composeのインストール

手順は、以下を参照にしています。 Docker Compose入門 (1)

$ curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose

$ docker-compose -v
  docker-compose version 1.25.0, build b42d419

Python Docker パッケージのインストール

AWX インストールのPlaybook で利用されるPythonパッケージをインストールします。

$ pip3 -V
  pip 19.3.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
$ pip3 install docker
$ pip3 install docker-compose

ファイヤウォールの無効化

この手順の環境は、ローカルマシン内に閉じているため、ファイヤウォールを使用しないように変更します。 環境に合わせて、IPやポートの制限を解除するなどを実施してください。

$ systemctl stop firewalld
$ systemctl disable firewalld
$ reboot

上記でファイヤウォールは完全に停止します。

AWX のインストール

AWX の入手

AWXをGitHubから取得してください。

$ git clone https://github.com/ansible/awx.git
$ cd awx
$ git branch
  devel

コンフィグファイルの編集

AWXをインストールする際に指定するコンフィグファイル./awx/installer/inventory を以下のように変更します。

1行目をコメントアウトし、実行するPythonをVer3 に明示的に定義を追加します。

# localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python"
localhost ansible_connection=local ansible_python_interpreter="/usr/bin/python3"

Docker-compose を使う場合は、以下を追記します

use_docker_compose=true

AWX のインストール

インストールは、以下の手順でPlaybookを実行します。

$ pwd
  ./awx/installer
$ ansible-playbook -i inventory install.yml

Playbook の実行が成功すると、以下のような結果となります。

.....
.....
PLAY RECAP *****************************************************************************************************************************
localhost                  : ok=14   changed=3    unreachable=0    failed=0    skipped=100  rescued=0    ignored=0   

AWX の動作確認

コンテナの起動確認

AWXコンテナが正常に起動しているか確認してください。

$ docker ps -a

CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                 NAMES
4e7abd3f8eb4        ansible/awx_task:9.0.1       "/tini -- /bin/sh -c…"   2 minutes ago       Up 2 minutes        8052/tcp                                              awx_task
1d473569a82f        ansible/awx_web:9.0.1        "/tini -- /bin/sh -c…"   2 minutes ago       Up 2 minutes        0.0.0.0:80->8052/tcp                                  awx_web
7c90aedfbd50        ansible/awx_rabbitmq:3.7.4   "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp   awx_rabbitmq
cb0e164c4972        postgres:10                  "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        5432/tcp                                              awx_postgres
bde6da6135eb        memcached:alpine             "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        11211/tcp                                             awx_memcached

AWX のGUI 確認

WebブラウザでAWXを動かしているVMIPアドレスを指定して起動します

http://192.168.56.101

ログインIDとパスワードは、./awx/installer/inventory ファイル内に記載されています

参考