LoginSignup
12
9

More than 3 years have passed since last update.

Ansible/AnsibleTowerをオフラインインストールする

Last updated at Posted at 2019-12-19

はじめに

Ansibleアドベントカレンダーの記事です。
業務でAnsible使う部署から別の部署に移動しましたが、個人でちょこちょこ触ったりしています。

今回はAnsibleとAnsible Towerのオフラインインストールを行う記事となります。
インターネットにつながった環境以外でのインストールを行うことがあると思います。(自分はありました)

そのときに色々とつらい思いをしたので記事としてまとめます。

前提条件

  • 実行した環境はCentOS 7.6 64bitとなります。
  • RHEL 7.5でも本手順でインストールが可能なことを確認しています。
  • ユーザはrootで実行しています。
  • すべてのファイルはデフォルトパス(/root配下)に配置して作業しています。

事前準備

AnsibleとAnsible Towerのオフラインインストールを行う際には、RHELのインストールISOイメージを利用します。
イメージはこのサイトからダウンロードすることができます。
このサイトからはAnsible Engineのrpmも取得することができます。通常のAnsibleを利用しない場合はこちらからrpmパッケージをダウンロードしてください。

またAnsible Towerについてはオフライン用のパッケージであるbundle版があります。
こちらについてはこのサイトからダウンロードしてください。

バージョン情報

今回インストールするAnsibleとAnsible Tower等のバージョンとなります

内容 バージョン
Ansible 2.7.4
Ansible Tower 3.3.3
RHEL DVDiso 7.7

Ansibleのインストール

DVDisoイメージのマウント

まずはじめにisoイメージをマウントします。
以下コマンドにてファイルを展開します。

# ファイルを展開
$ mount -o loop /root/rhel-server-7.7-x86_64-dvd.iso

# 展開できたかどうかの確認
$ ls -l /mnt
合計 974
dr-xr-xr-x. 3 root root   2048  7月 23 23:56 EFI
-r--r--r--. 1 root root   8266  7月 23 23:29 EULA
-r--r--r--. 1 root root  18092  7月 23 23:29 GPL
dr-xr-xr-x. 2 root root   2048  7月 23 23:56 LiveOS
dr-xr-xr-x. 2 root root 946176  7月 23 23:56 Packages
-r--r--r--. 1 root root   3375  7月  3 21:51 RPM-GPG-KEY-redhat-beta
-r--r--r--. 1 root root   3211  7月  3 21:51 RPM-GPG-KEY-redhat-release
-r--r--r--. 1 root root   1796  7月 23 23:56 TRANS.TBL
dr-xr-xr-x. 4 root root   2048  7月 23 23:56 addons
-r--r--r--. 1 root root   1455  7月 23 23:29 extra_files.json
dr-xr-xr-x. 3 root root   2048  7月 23 23:56 images
dr-xr-xr-x. 2 root root   2048  7月 23 23:56 isolinux
-r--r--r--. 1 root root    114  7月 23 23:32 media.repo
dr-xr-xr-x. 2 root root   2048  7月 23 23:56 repodata

次に、/etc/yum.repos.d配下に作業レポジトリを追加します。

# rhel7-dvdiso.repoという名前でrepoファイルをコピー
$ cp /mnt/media.repo /etc/yum.repos.d/rhel7-dvdiso.repo

# 権限を変更する
$ chmod 644 /etc/yum.repos.d/rhel7-dvdiso.repo

# コピーを作成
$ cp -ip /etc/yum.repos.d/rhel7-dvdiso.repo /etc/yum.repos.d/rhel7-dvdiso.repo.org

コピー作成後、rhel7-dvdiso.repoファイルを以下のように編集します。

rhel7-dvdiso.repo
[InstallMedia]
name=Red Hat Enterprise Linux 7.7
mediaid=1563892373.442998
metadata_expire=-1
gpgcheck=1
cost=500
enabled=1
baseurl=file:///mnt/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

repoファイル更新後、yumレポジトリを清掃します。

$ yum clean all
読み込んだプラグイン:fastestmirror
リポジトリーを清掃しています: InstallMedia base extras updates

依存ファイルのダウンロード

Ansibleをオフラインインストールする際は依存関係の都合上以下ファイルのダウンロードが必要となります。

それぞれRPMファイルを取得しインストールします。

 yum -y install sshpass-1.06-1.el7.x86_64.rpm
 yum -y install python-httplib2-0.9.1-2.1.el7.noarch.rpm
 yum -y install python-passlib-1.6.5-1.1.el7.noarch.rpm
 yum -y install python2-jmespath-0.9.0-4.el7ae.noarch.rpm

Ansibleのインストール

依存関係も解決したのでAnsibleをインストールします。

yum -y install ansible-2.7.4-1.el7ae.noarch.rpm

通常このコマンドでインストールできますが、GPG 鍵の取得に失敗しましたと出た場合はオプションとして--nogpgcheckを指定してインストールしてください。

Ansible Towerのインストール

DVDisoイメージのマウント

Ansibleの箇所で記載した部分と同じです。

tarファイルの展開

Ansible Towerのbundle版はtar形式に圧縮されているため展開します。

tar -zxvf ansible-tower-setup-bundle-3-3-3.el7.tar.gz
cd ansible-tower-setup-bundle-3.3.3-1.el7/

inventoryファイルの編集

既にAnsible Towerをインストールしたことがある人であればご存知かと思いますが、Ansible Towerのinventoryファイルにパスワードを設定する箇所があります。
それぞれの対応表は以下の通りです。

項目 内容
admin_password Ansible Towerの管理者パスワード
pg_password Ansible Towerのデータを保持するPostgreSQLのパスワード(ユーザはawx)
rabbitmq_password キャッシュ管理を行うRedisのパスワード

適宜inventoryファイルの該当項目を編集します。

Ansible Towerのインストール

Ansible Towerはセットアップスクリプトsetup.shが用意されているため、このスクリプトを実行します。
約10分程度経過すると無事インストールが終わります。

PLAY RECAP *********************************************************************
localhost                  : ok=143  changed=70   unreachable=0    failed=0

The setup process completed successfully.
Setup log saved to /var/log/tower/setup-2019-12-02-00:21:17.log

このような結果が表示されると、正常にインストールが完了されている状態となります。
ローカルのIPアドレスをブラウザで叩くとログイン画面が表示されます。

image.png

あとは指定したパスワードを入力しログインし、ライセンスキーを入力します。

これでAnsible、Ansible Towerのオフラインインストールが実行できます。

12
9
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9