【Ansible】AnsibleTower無償版「AWX」インストール手順

Ansibleを開発するにあたり、GUIで管理・運用ができる「AnsibleTower」があります。
ただ、このAnsibleTowerはRedHatが有償で提供しているので独学で検証するのも少しハードルが高くなります。

いろいろと調べた結果、「Ansible Tower」の開発版である「Ansible AWX」が無償で使用できるとこが分かったのでインストールしてみました。

無償版AnsibleTower「AWX」インストール手順(CentOS7)

AWXインストール環境は以下となります。
仮想マシン:CentOS Linux release 7.8.2003 (Core)

仮想マシンは「VirtualBox」、「VMware Workstation Player」で動作確認できています。
ESXi仮想環境かでも問題なくインストールできました。

以下でインストール手順となります。

DockerCEインストール

AWXインストールに必要なパッケージの一つとして、DockerCEをインストールします。

詳細なインストールは以下の記事を参照

Docker公式ページより、yumの参照するリポジトリを設定します。

$ yum install -y yum-utils device-mapper-persistent-data lvm2
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Docker(CE・無償版)のインストールを実施します。

$ yum install -y docker-ce docker-ce-cli containerd.io

インストール後、dockerバージョン確認をします。バージョンは「19.03.12」となります。

$ docker --version
Docker version 19.03.12, build 48a66213fe

「python3」インストール

AnsibleをPythonバージョン3で動かすので、以下の通りインストールを実施します。

$ yum install -y python3

正常にインストールが確認できたら以下でバージョンを確認します。
Linux系OSではデフォルトでPythonバージョン3で動かすときは「python3」と記述します。

$ python3 -V
Python 3.6.8

pipバージョン3で動かすので「pip3」コマンドを実行します。

$ pip3 -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

「pip」コマンドで「ansible」と「docker-compose」インストール

バージョン3でインストールを実施するので以下のコマンドで「ansible」と「docker-compose」をインストールします。

$ pip3 install ansible docker-compose selinux

正常にインストールが完了したら以下でバージョンを確認します。
※2020年10月時点でのバージョンは2.10となります。

$ ansible --version
ansible 2.10.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.6.8 (default, Apr  2 2020, 13:34:55) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
$

AWXのリポジトリクローンを実施するために「Git」インストール

Githubからリポジトリクローンを実施するためには「Git」コマンドを使用するので「yum」でインストールします。

$ yum install -y git

今回のバージョンは以下となります。

$ git --version
git version 1.8.3.1

次に任意のフォルダを作成し、リポジトリのクローンを実施します。

$ mkdir awx_git
$ cd awx_git
$ git clone https://github.com/ansible/awx.git
Cloning into 'awx'...
remote: Enumerating objects: 147, done.
remote: Counting objects: 100% (147/147), done.
remote: Compressing objects: 100% (91/91), done.
remote: Total 255780 (delta 94), reused 85 (delta 56), pack-reused 255633
Receiving objects: 100% (255780/255780), 231.40 MiB | 1.00 MiB/s, done.
Resolving deltas: 100% (197531/197531), done.
$

Playbook実行(AWXのインストール)

上記で作成したフォルダ「awx_git」は以下に「awx」フォルダが作成されます。
以下「installer」配下で「install.yml」を実行します。

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

------中略------

PLAY RECAP *********************************************************************************************************************************************
localhost                  : ok=15   changed=7    unreachable=0    failed=0    skipped=91   rescued=0    ignored=0

AWXが正常にインストールされると以下のようにAWX関連のDockerコンテナが作成されます。

$ docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                  NAMES
c530e8fd12e4        ansible/awx:15.0.1   "/usr/bin/tini -- /u…"   14 hours ago        Up 43 seconds       8052/tcp               awx_task
8f01bda61ea4        ansible/awx:15.0.1   "/usr/bin/tini -- /b…"   14 hours ago        Up 43 seconds       0.0.0.0:80->8052/tcp   awx_web
301a22b26ad8        redis                "docker-entrypoint.s…"   14 hours ago        Up 43 seconds       6379/tcp               awx_redis
a7b40b64db1a        postgres:10          "docker-entrypoint.s…"   14 hours ago        Up 43 seconds       5432/tcp               awx_postgres

上記のように成功した後は、AWXをインストールしたホストにHTTPアクセスをします。

アクセスすると以下のようにアップデート中のページが表示されます。

少し待てばアップデートも完了します。

アップデート完了後は以下の様にログイン画面が表示されます。

ユーザーID、パスワードはデフォルトで以下となります。

  • ユーザーID:admin
  • パスワード:password

ログイン後は以下の様な画面が表示されます。

AWX対応ブラウザは「chrome」推奨

AWXはIE11ではうまく表示ができませんでした。
AWXを使用する場合は、GoogleChromeを使用しましょう。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!