ホーム > 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のインストールを行う際に必要なファイルです。
事前にRedhatの公式サイトからダウンロードしておいて下さい。
- Red Hat Enterprise Linux 8.6(RHEL8.6)のイメージファイル
- AAP 2.4のインストーラー
- 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クライアントなどで転送して下さい。
- Red Hat Enterprise Linux 8.6(RHEL8.6)のイメージファイル
- 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のものですが、似たような使用感です)
上手くいかない場合などは、コメント頂ければと思います。
また、リファレンスもありますので、参考にしてみて下さい。
コメント