CentOS7にansible 2.9.7をインストール手順とバージョン確認

インフラエンジニアの仕事がドンドン楽になってきていて、運用コストが大きく削減される時代になってきました。もはやITは投資ではなく、予算を削減する方針となっているようですね。

 

さて、LinuxだけでなくWindowsサーバ、さらにはネットワーク機器まで構成管理ができるAnsibleですが、現場でもよく目にする機会が増えてきたので、自宅にサーバを構築して操作できる環境を作ることにしました。

 

最新のCentOS8を使う予定でしたが、以前、VMware Player上に構築していたCentOS7を利用することにしました。基本のセットアップは変わらないはず。

 

CentOSの標準レポジトリにAnsibleが含まれていないため、EPELレポジトリを利用する必要があります。

 

EPELのリポジトリのインストール

 

[root@testserver ~]# yum install epel-release
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
epel/x86_64/metalink | 7.2 kB 00:00
* base: ftp.riken.jp
* epel: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ftp.riken.jp
base | 3.6 kB 00:00
epel | 4.7 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
(1/7): epel/x86_64/updateinfo | 1.0 MB 00:02
(2/7): base/7/x86_64/group_gz | 153 kB 00:02
(3/7): epel/x86_64/group_gz | 95 kB 00:02
(4/7): base/7/x86_64/primary_db | 6.1 MB 00:02
(5/7): extras/7/x86_64/primary_db | 190 kB 00:00
(6/7): updates/7/x86_64/primary_db | 176 kB 00:00
(7/7): epel/x86_64/primary_db | 6.8 MB 00:07
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-11 を 更新
---> パッケージ epel-release.noarch 0:7-12 を アップデート
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
================================================================================
更新します:
epel-release noarch 7-12 epel 15 k

トランザクションの要約
================================================================================
更新 1 パッケージ

総ダウンロード容量: 15 k
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
epel-release-7-12.noarch.rpm | 15 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
更新します : epel-release-7-12.noarch 1/2
整理中 : epel-release-7-11.noarch 2/2
検証中 : epel-release-7-12.noarch 1/2
検証中 : epel-release-7-11.noarch 2/2

更新:
epel-release.noarch 0:7-12

完了しました!
[root@testserver ~]#

 

ansibleのインストール

 

続いて、ansibleのインストール

 

[root@testserver ~]# yum install ansible
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* epel: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ansible.noarch 0:2.9.7-1.el7 を インストール
--> 依存性の処理をしています: PyYAML のパッケージ: ansible-2.9.7-1.el7.noarch
--> 依存性の処理をしています: python-httplib2 のパッケージ: ansible-2.9.7-1.el7.noarch
--> 依存性の処理をしています: python-jinja2 のパッケージ: ansible-2.9.7-1.el7.noarch
--> 依存性の処理をしています: python-paramiko のパッケージ: ansible-2.9.7-1.el7.noarch
--> 依存性の処理をしています: python-setuptools のパッケージ: ansible-2.9.7-1.el7.noarch
--> 依存性の処理をしています: python-six のパッケージ: ansible-2.9.7-1.el7.noarch
--> 依存性の処理をしています: python2-cryptography のパッケージ: ansible-2.9.7-1.el7.noarch
--> 依存性の処理をしています: python2-jmespath のパッケージ: ansible-2.9.7-1.el7.noarch
--> 依存性の処理をしています: sshpass のパッケージ: ansible-2.9.7-1.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ PyYAML.x86_64 0:3.10-11.el7 を インストール
--> 依存性の処理をしています: libyaml-0.so.2()(64bit) のパッケージ: PyYAML-3.10-11.el7.x86_64
---> パッケージ python-httplib2.noarch 0:0.9.2-1.el7 を インストール
---> パッケージ python-jinja2.noarch 0:2.7.2-4.el7 を インストール
--> 依存性の処理をしています: python-babel >= 0.8 のパッケージ: python-jinja2-2.7.2-4.el7.noarch
--> 依存性の処理をしています: python-markupsafe のパッケージ: python-jinja2-2.7.2-4.el7.noarch
---> パッケージ python-paramiko.noarch 0:2.1.1-9.el7 を インストール
--> 依存性の処理をしています: python2-pyasn1 のパッケージ: python-paramiko-2.1.1-9.el7.noarch
---> パッケージ python-setuptools.noarch 0:0.9.8-7.el7 を インストール
--> 依存性の処理をしています: python-backports-ssl_match_hostname のパッケージ: python-setuptools-0.9.8-7.el7.noarch
---> パッケージ python-six.noarch 0:1.9.0-2.el7 を インストール
---> パッケージ python2-cryptography.x86_64 0:1.7.2-2.el7 を インストール
--> 依存性の処理をしています: python-idna >= 2.0 のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
--> 依存性の処理をしています: python-cffi >= 1.4.1 のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
--> 依存性の処理をしています: python-ipaddress のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
--> 依存性の処理をしています: python-enum34 のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
---> パッケージ python2-jmespath.noarch 0:0.9.4-2.el7 を インストール
---> パッケージ sshpass.x86_64 0:1.06-2.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ libyaml.x86_64 0:0.1.4-11.el7_0 を インストール
---> パッケージ python-babel.noarch 0:0.9.6-8.el7 を インストール
---> パッケージ python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 を インストール
--> 依存性の処理をしています: python-backports のパッケージ: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
---> パッケージ python-cffi.x86_64 0:1.6.0-5.el7 を インストール
--> 依存性の処理をしています: python-pycparser のパッケージ: python-cffi-1.6.0-5.el7.x86_64
---> パッケージ python-enum34.noarch 0:1.0.4-1.el7 を インストール
---> パッケージ python-idna.noarch 0:2.4-1.el7 を インストール
---> パッケージ python-ipaddress.noarch 0:1.0.16-2.el7 を インストール
---> パッケージ python-markupsafe.x86_64 0:0.11-10.el7 を インストール
---> パッケージ python2-pyasn1.noarch 0:0.1.9-7.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ python-backports.x86_64 0:1.0-8.el7 を インストール
---> パッケージ python-pycparser.noarch 0:2.14-1.el7 を インストール
--> 依存性の処理をしています: python-ply のパッケージ: python-pycparser-2.14-1.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-ply.noarch 0:3.4-11.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
Package アーキテクチャ
バージョン リポジトリ
容量
================================================================================
インストール中:
ansible noarch 2.9.7-1.el7 epel 17 M
依存性関連でのインストールをします:
PyYAML x86_64 3.10-11.el7 base 153 k
libyaml x86_64 0.1.4-11.el7_0 base 55 k
python-babel noarch 0.9.6-8.el7 base 1.4 M
python-backports x86_64 1.0-8.el7 base 5.8 k
python-backports-ssl_match_hostname noarch 3.5.0.1-1.el7 base 13 k
python-cffi x86_64 1.6.0-5.el7 base 218 k
python-enum34 noarch 1.0.4-1.el7 base 52 k
python-httplib2 noarch 0.9.2-1.el7 extras 115 k
python-idna noarch 2.4-1.el7 base 94 k
python-ipaddress noarch 1.0.16-2.el7 base 34 k
python-jinja2 noarch 2.7.2-4.el7 base 519 k
python-markupsafe x86_64 0.11-10.el7 base 25 k
python-paramiko noarch 2.1.1-9.el7 base 269 k
python-ply noarch 3.4-11.el7 base 123 k
python-pycparser noarch 2.14-1.el7 base 104 k
python-setuptools noarch 0.9.8-7.el7 base 397 k
python-six noarch 1.9.0-2.el7 base 29 k
python2-cryptography x86_64 1.7.2-2.el7 base 502 k
python2-jmespath noarch 0.9.4-2.el7 epel 41 k
python2-pyasn1 noarch 0.1.9-7.el7 base 100 k
sshpass x86_64 1.06-2.el7 extras 21 k

トランザクションの要約
================================================================================
インストール 1 パッケージ (+21 個の依存関係のパッケージ)

総ダウンロード容量: 22 M
インストール容量: 124 M
Is this ok [y/d/N]: y
Downloading packages:
(1/22): python-backports-1.0-8.el7.x86_64.rpm | 5.8 kB 00:00
(2/22): libyaml-0.1.4-11.el7_0.x86_64.rpm | 55 kB 00:00
(3/22): PyYAML-3.10-11.el7.x86_64.rpm | 153 kB 00:00
(4/22): python-backports-ssl_match_hostname-3.5.0.1-1.el7. | 13 kB 00:00
(5/22): python-enum34-1.0.4-1.el7.noarch.rpm | 52 kB 00:00
(6/22): python-babel-0.9.6-8.el7.noarch.rpm | 1.4 MB 00:01
(7/22): python-idna-2.4-1.el7.noarch.rpm | 94 kB 00:00
(8/22): python-cffi-1.6.0-5.el7.x86_64.rpm | 218 kB 00:00
(9/22): python-httplib2-0.9.2-1.el7.noarch.rpm | 115 kB 00:00
(10/22): python-ipaddress-1.0.16-2.el7.noarch.rpm | 34 kB 00:00
(11/22): python-markupsafe-0.11-10.el7.x86_64.rpm | 25 kB 00:00
(12/22): python-ply-3.4-11.el7.noarch.rpm | 123 kB 00:00
(13/22): python-setuptools-0.9.8-7.el7.noarch.rpm | 397 kB 00:00
(14/22): python-pycparser-2.14-1.el7.noarch.rpm | 104 kB 00:00
(15/22): python-jinja2-2.7.2-4.el7.noarch.rpm | 519 kB 00:00
(16/22): python-six-1.9.0-2.el7.noarch.rpm | 29 kB 00:00
(17/22): python-paramiko-2.1.1-9.el7.noarch.rpm | 269 kB 00:00
(18/22): python2-cryptography-1.7.2-2.el7.x86_64.rpm | 502 kB 00:00
(19/22): python2-jmespath-0.9.4-2.el7.noarch.rpm | 41 kB 00:00
(20/22): python2-pyasn1-0.1.9-7.el7.noarch.rpm | 100 kB 00:00
(21/22): sshpass-1.06-2.el7.x86_64.rpm | 21 kB 00:00
(22/22): ansible-2.9.7-1.el7.noarch.rpm | 17 MB 01:48
--------------------------------------------------------------------------------
合計 202 kB/s | 22 MB 01:48
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : python2-pyasn1-0.1.9-7.el7.noarch 1/22
インストール中 : python-ipaddress-1.0.16-2.el7.noarch 2/22
インストール中 : python-six-1.9.0-2.el7.noarch 3/22
インストール中 : python-httplib2-0.9.2-1.el7.noarch 4/22
インストール中 : sshpass-1.06-2.el7.x86_64 5/22
インストール中 : libyaml-0.1.4-11.el7_0.x86_64 6/22
インストール中 : PyYAML-3.10-11.el7.x86_64 7/22
インストール中 : python-backports-1.0-8.el7.x86_64 8/22
インストール中 : python-backports-ssl_match_hostname-3.5.0.1 9/22
インストール中 : python-setuptools-0.9.8-7.el7.noarch 10/22
インストール中 : python-babel-0.9.6-8.el7.noarch 11/22
インストール中 : python2-jmespath-0.9.4-2.el7.noarch 12/22
インストール中 : python-ply-3.4-11.el7.noarch 13/22
インストール中 : python-pycparser-2.14-1.el7.noarch 14/22
インストール中 : python-cffi-1.6.0-5.el7.x86_64 15/22
インストール中 : python-markupsafe-0.11-10.el7.x86_64 16/22
インストール中 : python-jinja2-2.7.2-4.el7.noarch 17/22
インストール中 : python-idna-2.4-1.el7.noarch 18/22
インストール中 : python-enum34-1.0.4-1.el7.noarch 19/22
インストール中 : python2-cryptography-1.7.2-2.el7.x86_64 20/22
インストール中 : python-paramiko-2.1.1-9.el7.noarch 21/22
インストール中 : ansible-2.9.7-1.el7.noarch 22/22
検証中 : python-backports-ssl_match_hostname-3.5.0.1 1/22
検証中 : ansible-2.9.7-1.el7.noarch 2/22
検証中 : python-enum34-1.0.4-1.el7.noarch 3/22
検証中 : python-setuptools-0.9.8-7.el7.noarch 4/22
検証中 : python-jinja2-2.7.2-4.el7.noarch 5/22
検証中 : python-six-1.9.0-2.el7.noarch 6/22
検証中 : python-idna-2.4-1.el7.noarch 7/22
検証中 : python-markupsafe-0.11-10.el7.x86_64 8/22
検証中 : python-ply-3.4-11.el7.noarch 9/22
検証中 : python-paramiko-2.1.1-9.el7.noarch 10/22
検証中 : python2-jmespath-0.9.4-2.el7.noarch 11/22
検証中 : python-babel-0.9.6-8.el7.noarch 12/22
検証中 : python-backports-1.0-8.el7.x86_64 13/22
検証中 : python-cffi-1.6.0-5.el7.x86_64 14/22
検証中 : python-pycparser-2.14-1.el7.noarch 15/22
検証中 : libyaml-0.1.4-11.el7_0.x86_64 16/22
検証中 : python-ipaddress-1.0.16-2.el7.noarch 17/22
検証中 : sshpass-1.06-2.el7.x86_64 18/22
検証中 : python-httplib2-0.9.2-1.el7.noarch 19/22
検証中 : python2-pyasn1-0.1.9-7.el7.noarch 20/22
検証中 : PyYAML-3.10-11.el7.x86_64 21/22
検証中 : python2-cryptography-1.7.2-2.el7.x86_64 22/22

インストール:
ansible.noarch 0:2.9.7-1.el7

依存性関連をインストールしました:
PyYAML.x86_64 0:3.10-11.el7
libyaml.x86_64 0:0.1.4-11.el7_0
python-babel.noarch 0:0.9.6-8.el7
python-backports.x86_64 0:1.0-8.el7
python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7
python-cffi.x86_64 0:1.6.0-5.el7
python-enum34.noarch 0:1.0.4-1.el7
python-httplib2.noarch 0:0.9.2-1.el7
python-idna.noarch 0:2.4-1.el7
python-ipaddress.noarch 0:1.0.16-2.el7
python-jinja2.noarch 0:2.7.2-4.el7
python-markupsafe.x86_64 0:0.11-10.el7
python-paramiko.noarch 0:2.1.1-9.el7
python-ply.noarch 0:3.4-11.el7
python-pycparser.noarch 0:2.14-1.el7
python-setuptools.noarch 0:0.9.8-7.el7
python-six.noarch 0:1.9.0-2.el7
python2-cryptography.x86_64 0:1.7.2-2.el7
python2-jmespath.noarch 0:0.9.4-2.el7
python2-pyasn1.noarch 0:0.1.9-7.el7
sshpass.x86_64 0:1.06-2.el7

完了しました!
[root@testserver ~]#

 

ansibleのバージョン確認

 

バージョンの確認です。「2.9.7」がインストールされていますね。

 

[root@testserver ~]# ansible --version
ansible 2.9.7
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
[root@testserver ~]#

 

 ということでインストールまでの作業はとても簡単です。環境としてpythonも必要ですが、CentOSに入っています。CentOSでインストールされているpythonのバージョンが異なるので、要件はチェックしておいたほうがいいかもしれないですね。今回の記事はここまでで、次は初期設定的なところに続きます。