ときどきAnsible日記

主にITインフラ基盤の自動化に関する事を書いているブログです

Ansibleのインストール

初めまして、伊藤です。
Ansibleの環境構築なんかをやっていて、色々と問題になった部分や気になる部分がありましたので、こちらに記録を残しておこうと思います。また環境的にインターネットに繋げないことも多いのでAnsibleのオフラインでのインストール方法なども書ければと思います。

まずはAnsibleのインストールからです。
今回はOSをRHEL7.3にしました。Ansibleのバージョンは2.3.1.0になります。公式情報を見る限り、OSのバージョンについての指定はありませんが、以前某メーカーの方に聞いた際にはRHEL6系はサポートされていないという話を伺いました。というわけでRHEL7系を使用します。その他要件はPython 2.6以上になります。
 
早速インストールしてみます。yumを使って簡単にインストールしますが、何も入れていないまっさらなRHEL7.3に対しては少々手順が必要になります。まずはサブスクリプションの登録。これがないと何もできません。アカウントを持っていない場合はRedHatの公式HPに行って30日間の試用ライセンスをゲットしましょう。その後に下記コマンドでアクティベートします。

# subscription-manager register --username [ユーザID] --password [パスワード]

Ansibleはまだ標準のリポジトリに登録されておらずEPEL(Extra Packages for Enterprise Linux)に登録されていますので、このEPELのリポジトリを登録します。対象ファイルはepel-release-latest-7.noarch.rpmです。詳細はこのあたりをご参照ください。
EPEL/ja - FedoraProject

 
インストールは単純に以下のコマンドでOKです。お好みでオプションをつけてください。

# rpm -i epel-release-latest-7.noarch.rpm

確認は下記のコマンドで行います。

# yum repolist all

下記の内容が表示されればOKです。

リポジトリー ID リポジトリー名 状態
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 有効: 11,846

 
後はyumでインストールできれば完了です。

# yum install ansible

まっさらなRHEL7.3にAnsibleをインストールする場合は下記のようなモジュールが登録されます。

Package アーキテクチャー
バージョン リポジトリー 容量
==================================
インストール中:
ansible noarch 2.3.1.0-1.el7 epel 5.7 M
依存性関連でのインストールをします:
PyYAML x86_64 3.10-11.el7 rhel-7-server-rpms 153 k
libtomcrypt x86_64 1.17-23.el7 epel 224 k
libtommath x86_64 0.42.0-4.el7 epel 35 k
libyaml x86_64 0.1.4-11.el7_0 rhel-7-server-rpms 55 k
python-babel noarch 0.9.6-8.el7 rhel-7-server-rpms 1.4 M
python-backports x86_64 1.0-8.el7 rhel-7-server-rpms 5.8 k
python-backports-ssl_match_hostname noarch 3.4.0.2-4.el7 rhel-7-server-rpms 12 k
python-httplib2 noarch 0.7.7-3.el7 epel 70 k
python-jinja2 noarch 2.7.2-2.el7 rhel-7-server-rpms 516 k
python-keyczar noarch 0.71c-2.el7 epel 218 k
python-markupsafe x86_64 0.11-10.el7 rhel-7-server-rpms 25 k
python-setuptools noarch 0.9.8-4.el7 rhel-7-server-rpms 397 k
python-six noarch 1.9.0-2.el7 rhel-7-server-rpms 29 k
python2-crypto x86_64 2.6.1-13.el7 epel 476 k
python2-ecdsa noarch 0.13-4.el7 epel 83 k
python2-paramiko noarch 1.16.1-2.el7 epel 258 k
python2-pyasn1 noarch 0.1.9-7.el7 rhel-7-server-rpms 100 k
sshpass x86_64 1.06-1.el7 epel 21 k

実際のファイル名とインストール順は以下の通りです。

(1/19): ansible-2.3.1.0-1.el7.noarch.rpm 
(2/19): PyYAML-3.10-11.el7.x86_64.rpm 
(3/19): libtomcrypt-1.17-23.el7.x86_64.rpm 
(4/19): libtommath-0.42.0-4.el7.x86_64.rpm 
(5/19): libyaml-0.1.4-11.el7_0.x86_64.rpm 
(6/19): python-backports-1.0-8.el7.x86_64.rpm 
(7/19): python-httplib2-0.7.7-3.el7.noarch.rpm 
(8/19): python-babel-0.9.6-8.el7.noarch.rpm 
(9/19): python-keyczar-0.71c-2.el7.noarch.rpm 
(10/19): python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch.rpm
(11/19): python-jinja2-2.7.2-2.el7.noarch.rpm 
(12/19): python-markupsafe-0.11-10.el7.x86_64.rpm 
(13/19): python2-crypto-2.6.1-13.el7.x86_64.rpm 
(14/19): python2-ecdsa-0.13-4.el7.noarch.rpm 
(15/19): python2-paramiko-1.16.1-2.el7.noarch.rpm 
(16/19): python-six-1.9.0-2.el7.noarch.rpm 
(17/19): sshpass-1.06-1.el7.x86_64.rpm 
(18/19): python-setuptools-0.9.8-4.el7.noarch.rpm 
(19/19): python2-pyasn1-0.1.9-7.el7.noarch.rpm

オフラインの場合はこれらのrpmRedhatの公式HPからダウンロードして手動でインストールすることも可能です。その場合には依存性無視のオプションが必要になる場合があります。
 
下記のようにバージョンが表示できればとりあえずはインストール完了です。

# ansible --version
ansible 2.3.1.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.6.6 (r266:84292, May 22 2015, 08:34:51) [GCC 4.4.7 20120313 (Red Hat 4.4.7-15)]

お疲れ様でした。