GAGA LIFE.

インフラエンジニアブログ

スポンサーリンク

Ansibleインストール

概要

Ansibleをインストールしてみたのでメモします。

ダウンロード先

インストール方法

Ansibleのインストール方法には、いくつかの方法があります。
利用しているOSや環境によって異なりますので、適宜環境に合った方法を選択します。

システムのパッケージマネージャを使用したインストールする

  • Fedora
$ sudo dnf install ansible
  • RHELとRHEL-based (CentOS, Scientific Linux, Unbreakable Linux)
$ sudo yum install ansible
  • UbuntuとDebian
$ sudo apt-get install ansible

Ansibleのdebパッケージは標準リポジトリに存在しないようです。
そのため、「apt-add-repository」でインストールし、拡張リポジトリ(PPA:Personal Package Archive)を追加し、
その後、Ansibleをインストールします。

  • Mac OS X
$ brew update
$ brew install ansible
  • pip経由
$ sudo easy_install pip
$ sudo pip install ansible
$ ansible --version
ansible 2.0.2
  • ソースコードからのインストール
$ git clone git://github.com/ansible/ansible.git
$ cd ansible/
$ source ./hacking/env-setup
$ sudo easy_install pip
<A long output follows>
$ sudo pip install paramiko PyYAML jinja2 httplib2
$ git checkout v2.0.2
$ ansible --version
  • 古いバージョンのインストール
$ sudo apt-get-repository -y ppa:ansible/ansible-2.0

インストール例

  • CentOS
$ cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
$ sudo yum install -y ansible
読み込んだプラグイン:fastestmirror, langpacks
Determining fastest mirrors
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
base                                                                                                                                                                                        | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                                                                                            | 3.5 kB  00:00:00     
extras                                                                                                                                                                                      | 3.4 kB  00:00:00     
updates                                                                                                                                                                                     | 3.4 kB  00:00:00     
(1/4): base/7/x86_64/group_gz                                                                                                                                                               | 166 kB  00:00:00     
(2/4): extras/7/x86_64/primary_db                                                                                                                                                           | 156 kB  00:00:00     
(3/4): updates/7/x86_64/primary_db                                                                                                                                                          | 1.3 MB  00:00:00     
(4/4): base/7/x86_64/primary_db                                                                                                                                                             | 6.0 MB  00:00:01     
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ansible.noarch 0:2.4.2.0-2.el7 を インストール
--> 依存性の処理をしています: sshpass のパッケージ: ansible-2.4.2.0-2.el7.noarch
--> 依存性の処理をしています: python2-jmespath のパッケージ: ansible-2.4.2.0-2.el7.noarch
--> 依存性の処理をしています: python-passlib のパッケージ: ansible-2.4.2.0-2.el7.noarch
--> 依存性の処理をしています: python-paramiko のパッケージ: ansible-2.4.2.0-2.el7.noarch
--> 依存性の処理をしています: python-jinja2 のパッケージ: ansible-2.4.2.0-2.el7.noarch
--> 依存性の処理をしています: python-httplib2 のパッケージ: ansible-2.4.2.0-2.el7.noarch
--> 依存性の処理をしています: PyYAML のパッケージ: ansible-2.4.2.0-2.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ PyYAML.x86_64 0:3.10-11.el7 を インストール
---> パッケージ python-httplib2.noarch 0:0.9.2-1.el7 を インストール
---> パッケージ python-jinja2.noarch 0:2.7.2-2.el7 を インストール
--> 依存性の処理をしています: python-babel >= 0.8 のパッケージ: python-jinja2-2.7.2-2.el7.noarch
--> 依存性の処理をしています: python-markupsafe のパッケージ: python-jinja2-2.7.2-2.el7.noarch
---> パッケージ python-paramiko.noarch 0:2.1.1-9.el7 を インストール
---> パッケージ python-passlib.noarch 0:1.6.5-2.el7 を インストール
---> パッケージ python2-jmespath.noarch 0:0.9.0-3.el7 を インストール
---> パッケージ sshpass.x86_64 0:1.06-2.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ python-babel.noarch 0:0.9.6-8.el7 を インストール
---> パッケージ python-markupsafe.x86_64 0:0.11-10.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

===================================================================================================================================================================================================================
 Package                                                  アーキテクチャー                              バージョン                                            リポジトリー                                    容量
===================================================================================================================================================================================================================
インストール中:
 ansible                                                  noarch                                        2.4.2.0-2.el7                                         extras                                         7.6 M
依存性関連でのインストールをします:
 PyYAML                                                   x86_64                                        3.10-11.el7                                           base                                           153 k
 python-babel                                             noarch                                        0.9.6-8.el7                                           base                                           1.4 M
 python-httplib2                                          noarch                                        0.9.2-1.el7                                           extras                                         115 k
 python-jinja2                                            noarch                                        2.7.2-2.el7                                           base                                           515 k
 python-markupsafe                                        x86_64                                        0.11-10.el7                                           base                                            25 k
 python-paramiko                                          noarch                                        2.1.1-9.el7                                           updates                                        269 k
 python-passlib                                           noarch                                        1.6.5-2.el7                                           extras                                         488 k
 python2-jmespath                                         noarch                                        0.9.0-3.el7                                           extras                                          39 k
 sshpass                                                  x86_64                                        1.06-2.el7                                            extras                                          21 k

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

総ダウンロード容量: 11 M
インストール容量: 51 M
Downloading packages:
(1/10): PyYAML-3.10-11.el7.x86_64.rpm                                                                                                                                                       | 153 kB  00:00:00     
(2/10): python-httplib2-0.9.2-1.el7.noarch.rpm                                                                                                                                              | 115 kB  00:00:00     
(3/10): python-jinja2-2.7.2-2.el7.noarch.rpm                                                                                                                                                | 515 kB  00:00:00     
(4/10): python-babel-0.9.6-8.el7.noarch.rpm                                                                                                                                                 | 1.4 MB  00:00:01     
(5/10): python-markupsafe-0.11-10.el7.x86_64.rpm                                                                                                                                            |  25 kB  00:00:00     
(6/10): ansible-2.4.2.0-2.el7.noarch.rpm                                                                                                                                                    | 7.6 MB  00:00:02     
(7/10): python-paramiko-2.1.1-9.el7.noarch.rpm                                                                                                                                              | 269 kB  00:00:00     
(8/10): python2-jmespath-0.9.0-3.el7.noarch.rpm                                                                                                                                             |  39 kB  00:00:00     
(9/10): sshpass-1.06-2.el7.x86_64.rpm                                                                                                                                                       |  21 kB  00:00:00     
(10/10): python-passlib-1.6.5-2.el7.noarch.rpm                                                                                                                                              | 488 kB  00:00:00     
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                                                               3.9 MB/s |  11 MB  00:00:02     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : PyYAML-3.10-11.el7.x86_64                                                                                                                                                         1/10 
  インストール中          : python-httplib2-0.9.2-1.el7.noarch                                                                                                                                                2/10 
  インストール中          : sshpass-1.06-2.el7.x86_64                                                                                                                                                         3/10 
  インストール中          : python-babel-0.9.6-8.el7.noarch                                                                                                                                                   4/10 
  インストール中          : python-paramiko-2.1.1-9.el7.noarch                                                                                                                                                5/10 
  インストール中          : python2-jmespath-0.9.0-3.el7.noarch                                                                                                                                               6/10 
  インストール中          : python-passlib-1.6.5-2.el7.noarch                                                                                                                                                 7/10 
  インストール中          : python-markupsafe-0.11-10.el7.x86_64                                                                                                                                              8/10 
  インストール中          : python-jinja2-2.7.2-2.el7.noarch                                                                                                                                                  9/10 
  インストール中          : ansible-2.4.2.0-2.el7.noarch                                                                                                                                                     10/10 
  検証中                  : python-markupsafe-0.11-10.el7.x86_64                                                                                                                                              1/10 
  検証中                  : python-jinja2-2.7.2-2.el7.noarch                                                                                                                                                  2/10 
  検証中                  : python-passlib-1.6.5-2.el7.noarch                                                                                                                                                 3/10 
  検証中                  : python2-jmespath-0.9.0-3.el7.noarch                                                                                                                                               4/10 
  検証中                  : python-paramiko-2.1.1-9.el7.noarch                                                                                                                                                5/10 
  検証中                  : python-babel-0.9.6-8.el7.noarch                                                                                                                                                   6/10 
  検証中                  : ansible-2.4.2.0-2.el7.noarch                                                                                                                                                      7/10 
  検証中                  : sshpass-1.06-2.el7.x86_64                                                                                                                                                         8/10 
  検証中                  : python-httplib2-0.9.2-1.el7.noarch                                                                                                                                                9/10 
  検証中                  : PyYAML-3.10-11.el7.x86_64                                                                                                                                                        10/10 

インストール:
  ansible.noarch 0:2.4.2.0-2.el7                                                                                                                                                                                   

依存性関連をインストールしました:
  PyYAML.x86_64 0:3.10-11.el7               python-babel.noarch 0:0.9.6-8.el7        python-httplib2.noarch 0:0.9.2-1.el7       python-jinja2.noarch 0:2.7.2-2.el7      python-markupsafe.x86_64 0:0.11-10.el7     
  python-paramiko.noarch 0:2.1.1-9.el7      python-passlib.noarch 0:1.6.5-2.el7      python2-jmespath.noarch 0:0.9.0-3.el7      sshpass.x86_64 0:1.06-2.el7            

完了しました!
$ ansible --version
ansible 2.4.2.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/docker/.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, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
  • Ubuntu
$ sudo apt-get -y install software-properties-common
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  python3-software-properties software-properties-gtk
以下のパッケージはアップグレードされます:
  python3-software-properties software-properties-common software-properties-gtk
アップグレード: 3 個、新規インストール: 0 個、削除: 0 個、保留: 253 個。
85.6 kB のアーカイブを取得する必要があります。
この操作後に追加で 0 B のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 software-properties-common all 0.96.24.32.6 [9,916 B]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 software-properties-gtk all 0.96.24.32.6 [53.6 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-software-properties all 0.96.24.32.6 [22.1 kB]
85.6 kB を 0秒 で取得しました (1,039 kB/s)
(データベースを読み込んでいます ... 現在 167352 個のファイルとディレクトリがインストールされています。)
.../software-properties-common_0.96.24.32.6_all.deb を展開する準備をしています ...
software-properties-common (0.96.24.32.6)(0.96.24.32.5 に) 上書き展開しています ...
.../software-properties-gtk_0.96.24.32.6_all.deb を展開する準備をしています ...
software-properties-gtk (0.96.24.32.6)(0.96.24.32.5 に) 上書き展開しています ...
.../python3-software-properties_0.96.24.32.6_all.deb を展開する準備をしています ...
python3-software-properties (0.96.24.32.6)(0.96.24.32.5 に) 上書き展開しています ...
mime-support (3.60ubuntu1) のトリガを処理しています ...
desktop-file-utils (0.23-1ubuntu3.18.04.1) のトリガを処理しています ...
libglib2.0-0:amd64 (2.56.2-0ubuntu0.18.04.2) のトリガを処理しています ...
man-db (2.8.3-2) のトリガを処理しています ...
shared-mime-info (1.9-2) のトリガを処理しています ...
python3-software-properties (0.96.24.32.6) を設定しています ...
gnome-menus (3.13.3-11ubuntu1.1) のトリガを処理しています ...
dbus (1.12.2-1ubuntu1) のトリガを処理しています ...
hicolor-icon-theme (0.17-2) のトリガを処理しています ...
software-properties-common (0.96.24.32.6) を設定しています ...
software-properties-gtk (0.96.24.32.6) を設定しています ...
$ sudo apt-get -y install software-properties-common
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  python3-software-properties software-properties-gtk
以下のパッケージはアップグレードされます:
  python3-software-properties software-properties-common software-properties-gtk
アップグレード: 3 個、新規インストール: 0 個、削除: 0 個、保留: 253 個。
85.6 kB のアーカイブを取得する必要があります。
この操作後に追加で 0 B のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 software-properties-common all 0.96.24.32.6 [9,916 B]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 software-properties-gtk all 0.96.24.32.6 [53.6 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-software-properties all 0.96.24.32.6 [22.1 kB]
85.6 kB を 0秒 で取得しました (1,039 kB/s)             
(データベースを読み込んでいます ... 現在 167352 個のファイルとディレクトリがインストールされています。)
.../software-properties-common_0.96.24.32.6_all.deb を展開する準備をしています ...
software-properties-common (0.96.24.32.6)(0.96.24.32.5 に) 上書き展開しています ...
.../software-properties-gtk_0.96.24.32.6_all.deb を展開する準備をしています ...
software-properties-gtk (0.96.24.32.6)(0.96.24.32.5 に) 上書き展開しています ...
.../python3-software-properties_0.96.24.32.6_all.deb を展開する準備をしています ...
python3-software-properties (0.96.24.32.6)(0.96.24.32.5 に) 上書き展開しています ...
mime-support (3.60ubuntu1) のトリガを処理しています ...
desktop-file-utils (0.23-1ubuntu3.18.04.1) のトリガを処理しています ...
libglib2.0-0:amd64 (2.56.2-0ubuntu0.18.04.2) のトリガを処理しています ...
man-db (2.8.3-2) のトリガを処理しています ...
shared-mime-info (1.9-2) のトリガを処理しています ...
python3-software-properties (0.96.24.32.6) を設定しています ...
gnome-menus (3.13.3-11ubuntu1.1) のトリガを処理しています ...
dbus (1.12.2-1ubuntu1) のトリガを処理しています ...
hicolor-icon-theme (0.17-2) のトリガを処理しています ...
software-properties-common (0.96.24.32.6) を設定しています ...
software-properties-gtk (0.96.24.32.6) を設定しています ...
docker@LesPaul:~$ sudo apt-add-repository -y ppa:ansible/ansible
ヒット:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease
ヒット:3 http://archive.ubuntulinux.jp/ubuntu bionic InRelease
ヒット:4 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease
ヒット:5 https://download.docker.com/linux/ubuntu bionic InRelease
ヒット:6 http://archive.ubuntulinux.jp/ubuntu-ja-non-free bionic InRelease
ヒット:7 http://security.ubuntu.com/ubuntu bionic-security InRelease
取得:8 http://ppa.launchpad.net/ansible/ansible/ubuntu bionic InRelease [15.9 kB]
取得:9 http://ppa.launchpad.net/ansible/ansible/ubuntu bionic/main i386 Packages [536 B]
取得:10 http://ppa.launchpad.net/ansible/ansible/ubuntu bionic/main amd64 Packages [536 B]
取得:11 http://ppa.launchpad.net/ansible/ansible/ubuntu bionic/main Translation-en [344 B]
17.3 kB を 4秒 で取得しました (4,909 B/s)
パッケージリストを読み込んでいます... 完了
$ sudo apt-get update
ヒット:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease
ヒット:3 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease
ヒット:4 http://archive.ubuntulinux.jp/ubuntu bionic InRelease
ヒット:5 http://archive.ubuntulinux.jp/ubuntu-ja-non-free bionic InRelease
ヒット:6 https://download.docker.com/linux/ubuntu bionic InRelease
ヒット:7 http://ppa.launchpad.net/ansible/ansible/ubuntu bionic InRelease
ヒット:8 http://security.ubuntu.com/ubuntu bionic-security InRelease
パッケージリストを読み込んでいます... 完了
$ sudo apt-get -y install ansible
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  python-asn1crypto python-cffi-backend python-crypto python-cryptography python-enum34 python-httplib2 python-idna python-ipaddress python-jinja2 python-markupsafe python-paramiko python-pkg-resources
  python-pyasn1 python-setuptools python-six python-yaml sshpass
提案パッケージ:
  python-crypto-doc python-cryptography-doc python-cryptography-vectors python-enum34-doc python-jinja2-doc python-gssapi python-setuptools-doc
以下のパッケージが新たにインストールされます:
  ansible python-asn1crypto python-cffi-backend python-crypto python-cryptography python-enum34 python-httplib2 python-idna python-ipaddress python-jinja2 python-markupsafe python-paramiko python-pkg-resources
  python-pyasn1 python-setuptools python-six python-yaml sshpass
アップグレード: 0 個、新規インストール: 18 個、削除: 0 個、保留: 253 個。
5,512 kB のアーカイブを取得する必要があります。
この操作後に追加で 42.9 MB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-markupsafe amd64 1.0-1build1 [13.0 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-jinja2 all 2.10-1 [94.6 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-yaml amd64 3.12-1build2 [115 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-asn1crypto all 0.24.0-1 [72.7 kB]
取得:5 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-cffi-backend amd64 1.11.5-1 [63.4 kB]
取得:6 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-enum34 all 1.1.6-2 [34.8 kB]
取得:7 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-idna all 2.6-1 [32.4 kB]
取得:8 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-ipaddress all 1.0.17-1 [18.2 kB]
取得:9 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-six all 1.11.0-2 [11.3 kB]
取得:10 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python-cryptography amd64 2.1.4-1ubuntu1.2 [221 kB]
取得:11 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-pyasn1 all 0.4.2-3 [46.7 kB]
取得:12 http://jp.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python-paramiko all 2.0.0-1ubuntu1.2 [110 kB]
取得:13 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-httplib2 all 0.9.2+dfsg-1 [34.6 kB]
取得:14 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-crypto amd64 2.6.1-8ubuntu2 [244 kB]
取得:15 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-pkg-resources all 39.0.1-2 [128 kB]
取得:16 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 python-setuptools all 39.0.1-2 [329 kB]
取得:17 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 sshpass amd64 1.06-1 [10.5 kB]
取得:18 http://ppa.launchpad.net/ansible/ansible/ubuntu bionic/main amd64 ansible all 2.7.5-1ppa~bionic [3,931 kB]
5,512 kB を 16秒 で取得しました (349 kB/s)

以前に未選択のパッケージ python-markupsafe を選択しています。
(データベースを読み込んでいます ... 現在 167352 個のファイルとディレクトリがインストールされています。)
.../00-python-markupsafe_1.0-1build1_amd64.deb を展開する準備をしています ...
python-markupsafe (1.0-1build1) を展開しています...
以前に未選択のパッケージ python-jinja2 を選択しています。
.../01-python-jinja2_2.10-1_all.deb を展開する準備をしています ...
python-jinja2 (2.10-1) を展開しています...
以前に未選択のパッケージ python-yaml を選択しています。
.../02-python-yaml_3.12-1build2_amd64.deb を展開する準備をしています ...

~中略~

python-six (1.11.0-2) を設定しています ...
sshpass (1.06-1) を設定しています ...
python-enum34 (1.1.6-2) を設定しています ...
man-db (2.8.3-2) のトリガを処理しています ...
python-ipaddress (1.0.17-1) を設定しています ...
python-setuptools (39.0.1-2) を設定しています ...
python-jinja2 (2.10-1) を設定しています ...
python-cryptography (2.1.4-1ubuntu1.2) を設定しています ...
python-paramiko (2.0.0-1ubuntu1.2) を設定しています ...
ansible (2.7.5-1ppa~bionic) を設定しています ...
$ ansible --version
ansible 2.7.5
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/docker/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]

参考資料

Learning Ansible 2, Second Edition

Learning Ansible 2, Second Edition

スポンサーリンク