【Ansible Automation Platform 2.4】RHEL8.6へのオフラインインストール方法


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

Ansible

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

Ansible Automation Platform(AAP)をオフライン環境のRHEL8.6にインストールする方法を解説します。

はじめに・環境

本記事では、Windows11とVirtualBox上に構築したRHEL8.6にAnsible Automation Platform(AAP)のバージョン2.4をオフライン環境化でインストールする方法を説明しています。
*作業は「root」ユーザーで行うので、一般ユーザーで作業する方は、コマンドにsudoなどを付けて実行して下さい。

下記は、今回の構築環境です。

  • Windows11 Pro 22H2
  • VirtualBox 7.0(CPU:4コア/メモリ:4GB)
  • Red Hat Enterprise Linux 8.6(RHEL8.6)
  • Ansible Automation Platform(以降は、AAPと記載)2.4

AAPのインストール要件では、メモリは「8GB」必要ですが、
4GBでもインストールから簡単な動作確認を行ったところ問題ありませんでした。

Red Hat Enterprise Linux 8.9(RHEL8.9)でも、本記事の手順でインストールすることが可能です。

必要なもの

AAPのインストールを行う際に必要なファイルです。
事前にRedhatの公式サイトからダウンロードしておいて下さい。

  1. Red Hat Enterprise Linux 8.6(RHEL8.6)のイメージファイル
  2. AAP 2.4のインストーラー
  3. AAP 2.4のマニフェストファイル(ライセンス認証用のファイル)

各種ファイルのダウンロードについては、以下を参考にして下さい。

前提作業

事前に以下の作業を実施しておく必要があります。
本作業の設定が正しく行われていないと、AAPのインストール時にエラーが発生します。

ホスト名の変更

RHEL8.6のインストール設定によっては、ホスト名が「localhost」となっている場合があります。
以下を参考にホスト名を変更して下さい。

本記事では、ホスト名を下記のように設定します。

RHEL86AAP

hostsファイルの修正

前項の「ホスト名の変更」作業で設定したホスト名が名前解決されるように、hostsファイルを修正します。
以下を参考にhostsファイルを修正して下さい。

本記事では、hostsファイルに以下の定義を追加します。
IPアドレスの部分は、AAPをインストールする端末のIPアドレスを設定します。

192.168.***.***  RHEL86AAP

インストールの準備

ここでは、AAPをインストールするための準備を行います。

インストール資材のFTP

まずは作業ディレクトリを作成します。

[root@RHEL86AAP ~]# mkdir /home/work/

作成したディレクトリに下記をFTPクライアントなどで転送して下さい。

  1. Red Hat Enterprise Linux 8.6(RHEL8.6)のイメージファイル
  2. AAP 2.4のインストーラー

FTP転送後の状態です。

[root@RHEL86AAP ~]# ls -l /home/work/
合計 13191800
-rw-r--r--. 1 root root  2043272135 11月 16 23:37 ansible-automation-platform-setup-bundle-2.4-2.4-x86_64.tar.gz
-rw-r--r--. 1 root root 11465129984 11月 19 11:49 rhel-8.6-x86_64-dvd.iso

ローカルリポジトリの作成

AAPのインストール時に必要となるパッケージのためにローカルリポジトリを作成します。

まずは、前項でFTPしたRHEL8.6のイメージファイルをマウントします。

[root@RHEL86AAP ~]# mkdir /mnt/disc/
[root@RHEL86AAP ~]# mount -r -o loop /home/work/rhel-8.6-x86_64-dvd.iso /mnt/disc/

次にリポジトリの定義ファイルをコピーして、権限の変更を行います。

[root@RHEL86AAP ~]# cp /mnt/disc/media.repo /etc/yum.repos.d/rhel8disc.repo
[root@RHEL86AAP ~]# chmod 644 /etc/yum.repos.d/rhel8disc.repo

[root@RHEL86AAP ~]# ls -l /etc/yum.repos.d/rhel8disc.repo
-rw-r--r--. 1 root root 103 11月 24 13:55 /etc/yum.repos.d/rhel8disc.repo

コピーしたリポジトリの定義ファイルを修正します。

[root@RHEL86AAP ~]# vi /etc/yum.repos.d/rhel8disc.repo

既存の記述は全て削除し、以下のように記述します。

[RHEL8-InstallMedia-Base]
name=Red Hat Enterprise Linux 8.6.0
mediaid=None
metadata_expire=-1
gpgcheck=1
cost=500
baseurl=file:///mnt/disc/BaseOS/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[RHEL8-InstallMedia-App]
name=Red Hat Enterprise Linux 8.6.0
mediaid=None
metadata_expire=-1
gpgcheck=1
cost=500
baseurl=file:///mnt/disc/AppStream/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

以下のコマンドでリポジトリの定義ファイルを確認します。
以下のように表示されれば問題ありません。

[root@RHEL86AAP ~]# dnf repolist
サブスクリプション管理リポジトリーを更新しています。
コンシューマー識別子を読み込めません

このシステムは、エンタイトルメントサーバーに登録されていません。subscription-manager で登録できます。

repo id                                                repo の名前
RHEL8-InstallMedia-App                                 Red Hat Enterprise Linux 8.6.0
RHEL8-InstallMedia-Base                                Red Hat Enterprise Linux 8.6.0

リポジトリの動作確認を行います。
ここでは「rsync」コマンドをインストールすることでリポジトリが動作していることを確認しています。

[root@RHEL86AAP ~]# dnf -y install rsync
サブスクリプション管理リポジトリーを更新しています。
コンシューマー識別子を読み込めません

このシステムは、エンタイトルメントサーバーに登録されていません。subscription-manager で登録できます。

Red Hat Enterprise Linux 8.6.0                                                       34 MB/s | 2.4 MB     00:00
Red Hat Enterprise Linux 8.6.0                                                       70 MB/s | 7.5 MB     00:00
メタデータの期限切れの最終確認: 0:00:01 時間前の 2023年11月24日 14時01分03秒 に実施しました。
依存関係が解決しました。
====================================================================================================================
 パッケージ          アーキテクチャー     バージョン                    リポジトリー                          サイズ
====================================================================================================================
インストール:
 rsync               x86_64               3.1.3-14.el8                  RHEL8-InstallMedia-Base               405 k

トランザクションの概要
====================================================================================================================
インストール  1 パッケージ

合計サイズ: 405 k
インストール後のサイズ: 819 k
パッケージのダウンロード:
Red Hat Enterprise Linux 8.6.0                                                      4.9 MB/s | 5.0 kB     00:00
GPG 鍵 0xFD431D51 をインポート中:
~~省略~~
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                            1/1
  インストール中   : rsync-3.1.3-14.el8.x86_64                                                                  1/1
  scriptletの実行中: rsync-3.1.3-14.el8.x86_64                                                                  1/1
  検証             : rsync-3.1.3-14.el8.x86_64                                                                  1/1
インストール済みの製品が更新されています。

インストール済み:
  rsync-3.1.3-14.el8.x86_64

完了しました!
[root@RHEL86AAP ~]#

ローカルリポジトリの作成作業は以上となります。

インストール設定

ここでは、AAPのインストール設定を行います。

まず、AAPのインストーラーを解凍します。

[root@RHEL86AAP ~]# cd /home/work/
[root@RHEL86AAP work]# tar xvzf ansible-automation-platform-setup-bundle-2.4-2.4-x86_64.tar.gz

次に、インベントリファイルを修正し、インストールの設定を行います。
ここでは、インストール時の設定は最小構成としています。

[root@RHEL86AAP work]# cd ansible-automation-platform-setup-bundle-2.4-2.4-x86_64/
[root@RHEL86AAP ansible-automation-platform-setup-bundle-2.4-2.4-x86_64]# vi inventory

以下が設定例です。

# Automation Controller Nodes
# There are two valid node_types that can be assigned for this group.
# A node_type=control implies that the node will only be able to run
# project and inventory updates, but not regular jobs.
# A node_type=hybrid will have the ability to run everything.
# If you do not define the node_type, it defaults to hybrid.
#
# control.example node_type=control
# hybrid.example  node_type=hybrid
# hybrid2.example <- this will default to hybrid
[automationcontroller]
RHEL86AAP

[automationcontroller:vars]
peers=execution_nodes
ansible_ssh_password='root'

# Execution Nodes
# There are two valid node_types that can be assigned for this group.
# A node_type=hop implies that the node will forward jobs to an execution node.
# A node_type=execution implies that the node will be able to run jobs.
# If you do not define the node_type, it defaults to execution.
#
# hop.example        node_type=hop
# execution.example  node_type=execution
# execution2.example <- this will default to execution
[execution_nodes]

[automationhub]

[automationedacontroller]

[database]

# Single Sign-On
# If sso_redirect_host is set, that will be used for application to connect to
# SSO for authentication. This must be reachable from client machines.
#
# ssohost.example sso_redirect_host=<host/ip>
[sso]

[all:vars]
admin_password='awx'
required_ram=true

pg_host=''
pg_port=5432

pg_database='awx'
pg_username='awx'
pg_password='awx'
pg_sslmode='prefer'  # set to 'verify-full' for client-side enforced SSL

~~省略~~

修正箇所は以下となります。

12行目(修正前):
12行目(修正後):RHEL86AAP
インストール端末のホスト名を設定します。

16行目(修正前):
16行目(修正後):ansible_ssh_password=’root’
インストール端末にSSH接続するためのパスワードを設定します。

43行目(修正前):admin_password=”
43行目(修正後):admin_password=’awx’
AAPにログインするためのパスワードを設定します。

44行目(修正前):
44行目(修正後):required_ram=true
インストール端末のメモリが少ない場合に設定します。

51行目(修正前):pg_password=’awx’
51行目(修正後):pg_password=’awx’
AAPのデータベースのパスワードを設定します。

インストールの設定は以上となります。

インストール

以下のコマンドを実行し、インストールを開始します。
環境にもよりますが、およそ20分でインストールが完了します。

[root@RHEL86AAP ansible-automation-platform-setup-bundle-2.4-2.4-x86_64]# ./setup.sh

インストールの途中で何度かパスワードを求められるので、パスワードを入力してエンターキーを押下して下さい。

root@rhel86aap's password: パスワードを入力する

以下のように表示されれば、インストールは完了となります。

~~省略~~
PLAY [Post-install insights setup] *********************************************

TASK [include_role : ansible.automation_platform_installer.misc] ***************
skipping: [RHEL86AAP] => {"changed": false, "false_condition": "_rhsm_registered | bool", "skip_reason": "Conditional result was False"}

PLAY [Post-install cleanup] ****************************************************

TASK [Remove stale packages] ***************************************************
ok: [RHEL86AAP] => {"changed": false, "msg": "Nothing to do", "rc": 0, "results": []}

PLAY RECAP *********************************************************************
RHEL86AAP                  : ok=388  changed=182  unreachable=0    failed=0    skipped=233  rescued=0    ignored=7  
localhost                  : ok=0    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0  

The setup process completed successfully.
Setup log saved to /var/log/tower/setup-2023-11-24-14:28:07.log.
[root@RHEL86AAP ansible-automation-platform-setup-bundle-2.4-2.4-x86_64]#

動作確認

ここでは、WEB画面に接続して動作確認を行います。
ブラウザ(ここでは「Google Chrome」)を起動し、
AAPへの接続URL「https://{AAPをインストールした端末のIPアドレス}」を入力します。
・接続URL例:https://192.168.100.10

以下のように表示される場合は「詳細設定 → 192.168.***.**にアクセスする」をクリックします。

ログイン画面が表示されるのでユーザとパスワードを入力します。
記事の通りに進めている場合は、ユーザはデフォルトなので「admin」、
パスワードはインストール時に設定した「awx」となっています。

初回ログイン時は、以下のようなサブスクリプションの登録(ライセンス認証)の登録画面が表示されるので、ライセンス認証を行います。

「参照」ボタンをクリックし、
「3.AAP 2.4のマニフェストファイル(ライセンス認証用のファイル)」を選択します。
選択後は「次へ」をクリックします。

ユーザーおよび自動化アナリティクスという画面が表示されますが、
今回はオフライン環境なので、両方ともチェックを外して「次へ」をクリックします。

使用許諾誓約書が表示されるので「送信」をクリックします。

以下のように、AAPのダッシュボードが表示されれば、作業は完了となります。

バージョン情報です。
画面上では、「Ansible Automation Platform Controller 4.4.7」と表示されるようです。

おわりに

お疲れさまでした。以上でAAPのオフラインインストール作業は全て完了となります。
下記で基本的な使用方法を解説しています。
(Ansible AWXのものですが、似たような使用感です)
上手くいかない場合などは、コメント頂ければと思います。

また、リファレンスもありますので、参考にしてみて下さい。

コメント

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