「Ansible Advent Calendar 2020」の15日目のエントリになります。
(14日に記事公開しちゃってるけど、Qiitaみたいにスケジュールできないから、まぁ仕方ない…)
14日に見かけたこちらのツイートをもとに、実際にセットアップしてみました。
https://t.co/E2OA767vib
— Kazuo Moriwaka (@moriwaka) 2020年12月14日
Red Hat Developer ProgramにAnsible Platformが追加されてた。開発用途限定だけどevalいらなくなったのいいな。
インストーラの入手
リンク先の「Download」から、インストール用のパッケージ(tar.gz)をダウンロードします。
今回は「Ansible Automation Platform 1.2」を選択。
これはカスタマーサポートにログインしているセッションが必要であるため、ブラウザでダウンロードします。
(サーバー上でcurl
とかしてもエラーのhtmlになってしまいますw)
RHEL (今回はRHEL7.9)にインストール
「開発者用サブスクリプションでラインセスを設定する」の手順が、「Ansible Towerのライセンス管理画面でホストOS上のサブスクリプションファイルを参照」するため、(たぶん)サブスクリプションをちゃんと登録しているRHELでないと設定できません。
試しにCentOS7でやろうとすると、Ansible Towerのインストールまでは成功しましたが、Ansible Towerにログインしてライセンス管理画面でライセンス設定しようとすると、以下のエラー画面になります。
ですので今回の環境は(よく使ってるCentOSでなく)以下の通り。
$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.9 (Maipo)
開発者用サブスクリプションやRHEL自体のセットアップは(proxy環境用だけど)以下参照。
(※ 本記事のAnsible Towerのセットアップはproxy無しの環境でやってます)
インストール設定
インストールするサーバー上の任意の場所にダウンロードしたパッケージファイルをコピーして展開し、inventory
ファイルを編集します。
基本的にはadmin_password
とpg_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の証明書関連の設定もすべきなんですが、今回はランセンスのところの動作を見るのが目的なので省略。
詳細はドキュメント参照してください。
インストール
インストールは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はサポート外とのこと。
見ました(笑)
— すぎむら (@sugitk) 2020年12月14日
いまのところ 2.10 はサポートしないです。よくわかってないですけど、サポートできるようになるためにはいろいろと難しいみたいです。
ライセンス設定
setup.sh
が完了したら、インストールしたサーバーにwebブラウザでアクセスします。
(HTTPでアクセスしてもHTTPSへリダイレクトされます)
ログインはインストール時に設定したinventoryファイルに記載した内容で。 ログインするとライセンス設定画面が表示されます。
ここで、画面右側のユーザー名・パスワード欄にRed Hat開発者用サブスクリプションのアカウント情報を入力し「サブスクリプションの取得」を押下します。
すると、このサブスクリプションで利用可能なライセンスが表示されるので、チェックボックスを選択して「選択」押下。
ライセンス管理画面に戻りますが、ライセンスが選択状態になります。
あとは画面下部の使用許諾を確認し、「送信」すればライセンス設定は完了です。
ライセンスの確認
画面左側メニュー下部にある「設定」から。
ここで「ライセンス」を押下。
すると適用しているライセンスが確認できます。
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ユーザー会のもくもく会の教材を参考に、プロジェクトの作成くらいは試したけど問題なさそうです。