zaki work log

作業ログやら生活ログやらなんやら

無料のRed Hat Developer SubscriptionでRHEL上にAnsible Towerをインストールする

Ansible Advent Calendar 2020」の15日目のエントリになります。
(14日に記事公開しちゃってるけど、Qiitaみたいにスケジュールできないから、まぁ仕方ない…)

adventar.org

14日に見かけたこちらのツイートをもとに、実際にセットアップしてみました。

インストーラの入手

developers.redhat.com

リンク先の「Download」から、インストール用のパッケージ(tar.gz)をダウンロードします。
今回は「Ansible Automation Platform 1.2」を選択。

f:id:zaki-hmkc:20201214212536p:plain

これはカスタマーサポートにログインしているセッションが必要であるため、ブラウザでダウンロードします。
(サーバー上でcurlとかしてもエラーのhtmlになってしまいますw)

RHEL (今回はRHEL7.9)にインストール

「開発者用サブスクリプションでラインセスを設定する」の手順が、「Ansible Towerのライセンス管理画面でホストOS上のサブスクリプションファイルを参照」するため、(たぶん)サブスクリプションをちゃんと登録しているRHELでないと設定できません。

試しにCentOS7でやろうとすると、Ansible Towerのインストールまでは成功しましたが、Ansible Towerにログインしてライセンス管理画面でライセンス設定しようとすると、以下のエラー画面になります。

f:id:zaki-hmkc:20201214213024p:plain

ですので今回の環境は(よく使ってるCentOSでなく)以下の通り。

$ cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.9 (Maipo)

開発者用サブスクリプションRHEL自体のセットアップは(proxy環境用だけど)以下参照。
(※ 本記事のAnsible Towerのセットアップはproxy無しの環境でやってます)

zaki-hmkc.hatenablog.com

インストール設定

インストールするサーバー上の任意の場所にダウンロードしたパッケージファイルをコピーして展開し、inventoryファイルを編集します。
基本的にはadmin_passwordpg_passwordに任意のパスワード文字列を設定すればよいです。

[all:vars]
admin_password='password'

pg_host=''
pg_port=''

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

本当はDNSちゃんと設定してHTTPSの証明書関連の設定もすべきなんですが、今回はランセンスのところの動作を見るのが目的なので省略。

詳細はドキュメント参照してください。

docs.ansible.com

インストール

インストールはsetup.shをroot権限で実行します。

[zaki@rhel7 ansible-automation-platform-setup-bundle-1.2.0-1]$ time sudo ./setup.sh 
[warn] Will install bundled Ansible
読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager
bundle/el7/repos/ansible-tower-dependencies/ansible-2.9.15-1.el7ae.noarch.rpm を調べています: ansible-2.9.15-1.el7ae.noarch
bundle/el7/repos/ansible-tower-dependencies/ansible-2.9.15-1.el7ae.noarch.rpm をインストール済みとして設定しています
bundle/el7/repos/ansible-tower-dependencies/sshpass-1.06-1.el7.x86_64.rpm を調べています: sshpass-1.06-1.el7.x86_64
bundle/el7/repos/ansible-tower-dependencies/sshpass-1.06-1.el7.x86_64.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ansible.noarch 0:2.9.15-1.el7ae を インストール

:
:

PLAY [Install Automation Hub node] *********************************************************************************
skipping: no hosts matched

PLAY [Install Tower isolated node(s)] ******************************************************************************
skipping: no hosts matched

PLAY RECAP *********************************************************************************************************
localhost                  : ok=185  changed=85   unreachable=0    failed=0    skipped=89   rescued=0    ignored=3   

The setup process completed successfully.
Setup log saved to /var/log/tower/setup-2020-12-14-21:05:53.log.

real    12m22.774s
user    6m31.498s
sys     0m46.039s

Ansibleが入っていなければ追加でパッケージインストールされるようです。 今回はいれずに(ほんとうは2.10を用意してたのにうっかり使用するのを忘れて)インストール。

なお、2.10はサポート外とのこと。

ライセンス設定

setup.shが完了したら、インストールしたサーバーにwebブラウザでアクセスします。 (HTTPでアクセスしてもHTTPSへリダイレクトされます)

f:id:zaki-hmkc:20201214215147p:plain

ログインはインストール時に設定したinventoryファイルに記載した内容で。 ログインするとライセンス設定画面が表示されます。

f:id:zaki-hmkc:20201214215247p:plain

ここで、画面右側のユーザー名・パスワード欄にRed Hat開発者用サブスクリプションのアカウント情報を入力し「サブスクリプションの取得」を押下します。

f:id:zaki-hmkc:20201214215453p:plain

すると、このサブスクリプションで利用可能なライセンスが表示されるので、チェックボックスを選択して「選択」押下。

ライセンス管理画面に戻りますが、ライセンスが選択状態になります。

f:id:zaki-hmkc:20201214215620p:plain

あとは画面下部の使用許諾を確認し、「送信」すればライセンス設定は完了です。

ライセンスの確認

画面左側メニュー下部にある「設定」から。

f:id:zaki-hmkc:20201214215906p:plain

ここで「ライセンス」を押下。

f:id:zaki-hmkc:20201214215946p:plain

すると適用しているライセンスが確認できます。

f:id:zaki-hmkc:20201214220227p:plain

RHELに使っている開発者用サブスクリプションもこの通りなので、期限も同じになってる。(と思う)

[root@rhel7 ~]# subscription-manager list 
+-------------------------------------------+
    インストール済み製品のステータス
+-------------------------------------------+
製品名:           Red Hat Software Collections (for RHEL Server)
製品 ID:          201
バージョン:       3
アーキテクチャー: x86_64
状態:             サブスクライブ済み
状態の詳細:       
開始:             2020年12月13日
終了:             2021年12月13日

製品名:           Red Hat Enterprise Linux Server
製品 ID:          69
バージョン:       7.9
アーキテクチャー: x86_64
状態:             サブスクライブ済み
状態の詳細:       
開始:             2020年12月13日
終了:             2021年12月13日

[root@rhel7 ~]# 

ちなみにAnsible Towerを自分でセットアップするのが今回が初めてなので、どこが今までと違うのかはわかってないです(;'∀')


ひとまず、Ansibleユーザー会もくもく会の教材を参考に、プロジェクトの作成くらいは試したけど問題なさそうです。

github.com