概要
Ansibleをインストールしてみたのでメモします。
ダウンロード先
- Ansibleの公式Github
https://github.com/ansible/ansible - Ansibleの公式TarBall
https://releases.ansible.com/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
- 作者: Fabio Alessandro Locati
- 出版社/メーカー: Packt Publishing
- 発売日: 2016/11/21
- メディア: ペーパーバック
- この商品を含むブログを見る