【Ansible AWX】MIRACLE LINUX 8.4へのインストール方法(ver15.0.1)


この記事はプロモーションを含みます。

Ansible

ホーム > Ansible Tower・AWX リファレンス

MIRACLE LINUX 8.4にAWXをインストールしたところ、CentOS7.9にインストールした手順では失敗したため、インストール手順を見直しました。備忘録としてここに残しておきます。

インストール環境

AWXをインストールする環境です。
作業は、rootユーザで実施します。

  • ホストマシン
    • Windows 11 Pro(21H2)
    • VirtualBox 7.0.0
  • ゲストマシン(VirtualBox上の仮想マシン)
    • MIRACLE LINUX release 8.4(最小限のインストール、Guest Additions適用済み)
    • CPU:2コア
    • メモリ:2GB(2048MB)

事前準備(OSSのインストール)

AWXの構築に必要なOSSパッケージのインストールを行います。

以下は、導入するパッケージとバージョン情報です。

  • Python 3.9.7
  • ansible [core 2.12.2]
  • Docker version 20.10.22, build 3a2c30b
  • docker-compose version 1.29.2, build unknown

まず、Dockerをインストールするためのリポジトリを追加します。

[root@STKAWX001 ~]# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo

次に、各種パッケージのインストールを行います。

[root@STKAWX001 ~]# dnf install -y python39 ansible-core docker-ce docker-ce-cli containerd.io
Docker CE Stable - x86_64                                                                                                                  257 kB/s |  33 kB     00:00
Extra Packages for Enterprise Linux 8 - x86_64                                                                                             5.3 kB/s | 6.6 kB     00:01
Extra Packages for Enterprise Linux 8 - x86_64                                                                                             5.8 MB/s |  13 MB     00:02
Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                                     7.1 kB/s | 9.9 kB     00:01
8-latest-BaseOS                                                                                                                             35 kB/s | 4.3 kB     00:00
8-latest-BaseOS                                                                                                                             28 MB/s |  33 MB     00:01
8-latest-AppStream                                                                                                                          37 kB/s | 4.7 kB     00:00
8-latest-AppStream                                                                                                                          39 MB/s |  41 MB     00:01
Dependencies resolved.

~~~省略~~~

python39-setuptools-wheel-50.3.2-4.module+el8+1452+3679f46b.noarch
  slirp4netns-1.2.0-2.module+el8+1551+8baf2a2b.x86_64                                  sshpass-1.09-4.el8.x86_64

Complete!

「Complete!」と表示されれば、インストールは完了です。

Python関連のパッケージをインストールします。

[root@STKAWX001 ~]# pip3 install --use-feature=2020-resolver requests docker docker-compose
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting requests
  Downloading requests-2.28.1-py3-none-any.whl (62 kB)
     |????????????????????????????????| 62 kB 1.2 MB/s

~~~省略~~~

Installing collected packages: pycparser, urllib3, six, idna, charset-normalizer, cffi, certifi, websocket-client, requests, pynacl, packaging, cryptography, bcrypt, pyrsistent, paramiko, docker, attrs, texttable, PyYAML, python-dotenv, jsonschema, docopt, dockerpty, distro, docker-compose
    Running setup.py install for docopt ... done
    Running setup.py install for dockerpty ... done
Successfully installed PyYAML-5.4.1 attrs-22.1.0 bcrypt-4.0.1 certifi-2022.12.7 cffi-1.15.1 charset-normalizer-2.1.1 cryptography-38.0.4 distro-1.8.0 docker-6.0.1 docker-compose-1.29.2 dockerpty-0.4.1 docopt-0.6.2 idna-3.4 jsonschema-3.2.0 packaging-22.0 paramiko-2.12.0 pycparser-2.21 pynacl-1.5.0 pyrsistent-0.19.2 python-dotenv-0.21.0 requests-2.28.1 six-1.16.0 texttable-1.6.7 urllib3-1.26.13 websocket-client-0.59.0

「Successfully」と表示されれば、インストールは完了です。

インストールした各種OSSのバージョンを確認します。
(AWXのインストールには影響しないので、スキップしても問題ありません。)

[root@STKAWX001 ~]# python3 -V
Python 3.9.7
[root@STKAWX001 ~]# ansible --version
ansible [core 2.12.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/lib/python3.8/site-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.8.12 (default, Jun 30 2022, 05:16:55) [GCC 8.5.0 20210514 (Red Hat 8.5.0-10)]
  jinja version = 2.10.3
  libyaml = True
[root@STKAWX001 ~]# docker -v
Docker version 20.10.22, build 3a2c30b
[root@STKAWX001 ~]# docker-compose -v
docker-compose version 1.29.2, build unknown

インストールした、dockerの起動と自動起動の設定を行います。
設定後、状態確認で緑色の「active (running)」と表示されていれば起動しています。

[root@STKAWX001 ~]# systemctl start docker
[root@STKAWX001 ~]# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
[root@STKAWX001 ~]# 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 Sat 2022-12-17 21:13:34 JST; 7s ago
~~~省略~~~
[root@STKAWX001 ~]#

Dockerを操作するための、Ansibleモジュールをインストールします。

[root@STKAWX001 ~]# ansible-galaxy collection install community.docker
Starting galaxy collection install process
Process install dependency map
Starting collection install process
Downloading https://galaxy.ansible.com/download/community-docker-3.3.2.tar.gz to /root/.ansible/tmp/ansible-local-354963rlyr7r4/tmpgqyhmwv5/community-docker-3.3.2-4ak5nc70
Installing 'community.docker:3.3.2' to '/root/.ansible/collections/ansible_collections/community/docker'
community.docker:3.3.2 was installed successfully

「successfully」と表示されれば、インストールは完了です。

AWXインストーラーのダウンロード

GitHubより、AWXのインストーラーのダウンロード、解凍を行います。

まずは、作業用のディレクトリを作成します。
ここでは、[/home/workspace/]ディレクトリを作成していますが、別のディレクトリでも構いません。
作成後は、cdコマンドで、カレントディレクトリを作成したディレクトリに変更します。

[root@STKAWX001 ~]# mkdir /home/workspace/
[root@STKAWX001 ~]# cd /home/workspace/

次に、curlコマンドで、AWXのインストーラーをダウンロードします。

[root@STKAWX001 workspace]# curl -L https://github.com/ansible/awx/archive/refs/tags/15.0.1.tar.gz -o /home/workspace/15.0.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 11.7M    0 11.7M    0     0  7278k      0 --:--:--  0:00:01 --:--:-- 10.0M

ダウンロードした「15.0.1.tar.gz」を解凍します。

[root@STKAWX001 workspace]# tar -zxvf 15.0.1.tar.gz
~~~省略~~~

AWXのインストール設定

インストールするための設定ファイル「inventory」のあるディレクトリに移動し、
[vi]コマンドで内容を変更します。

[root@STKAWX001 workspace]# cd awx-15.0.1/installer/
[root@STKAWX001 installer]# vi inventory

変更するパラメータは以下の記事を参考にして下さい。
記事で説明している設定は最小構成となります。
ログインパスワードなどは適宜変更して頂ければと思います。

インストール用プレイブックの修正

AWXのインストールでは、Ansibleで処理されます。
その際に実行されるプレイブックの修正を行います。

CentOS7.9などでは、実施不要な作業なのですが、
MIRACLE LINUX 8.4では、インストール時にエラーが発生します。
このエラーを回避するため、プレイブックの修正を行います。

修正方法は、以下の記事を参考にして下さい。

AWXのインストール

いよいよ、AWXのインストールを行います。

[root@STKAWX001 installer]# ansible-playbook -i inventory install.yml
~~~省略~~~
PLAY RECAP 
*****************************************************************************************
localhost                  : ok=15   changed=7    unreachable=0    failed=0    skipped=91   rescued=0    ignored=0

[root@localhost installer]#

「failed=0」となっていれば、インストールは完了となります。

次に、OSの再起動を行います。

AWXは、WEB画面への初回接続時にDBマイグレーションが行われます。
ここで、再起動しないと処理が数時間掛かる場合があります。
再起動後は、すぐに処理が完了します。

[root@STKAWX001 installer]# systemctl reboot

インストール作業は以上となります。

AWXへのログイン(疎通確認)

再起動の完了後、AWXのWEB画面に接続します。

接続URL:http://<インストールした機器のIPアドレス>/

IPアドレスは、[ip a]、[ifconfig]コマンドなどで確認してください。
TeraTermなどで接続している際に入力しているIPアドレスと同じものです。
VirtualBoxであれば[192.168.*.*]のようなアドレスになるかと思います。

ログイン、バージョン確認手順は以下の記事で解説していますので、そちらをご覧下さい。

記事は以上になります。
AWXのバージョンが少し古いですが、良ければ参考にして構築してみて下さい。

以下の記事にインストール直後のAWXでプレイブック(ジョブ)を実行するまでの手順をまとめています。

その他のOSにAWXをインストールする方法

コメント

タイトルとURLをコピーしました