Ansibleは今や自動化のデファクトスタンダードです
- 簡単(Simple)
- 強力(Powerfull)
- SSHが届けば操作可能(Agent Less)
- Play book
4点揃っていて、Ansible環境が持ち運べれば どこでも自動化が可能 というわけです
WindowsでAnsible実行環境を用意する方法もありますが今回はWindows10のHyper-V上にCentOSにインストールしてしまおうと思います
昨今のWindowsノートPCもスペックが上がって、複数のLinux/Windowsを動作させても軽快に動きますし
準備
Hyper-V機能を有効化します
CentOS7.5をインターネット接続可能な状態にします
ゲストOSのCentOS7.5にAnsibleインストール
さぁ、Ansibleをインストールしていきましょう
手順は非常に簡単です
Pythonバージョン確認
python --version
でインストールバージョンを確認
[root@centos75 ~]# python --version Python 2.7.5 [root@centos75 ~]#
Ansibleインストール
AnsibleはYUMに入っていないので、EPEL(Extra Packages for Enterprise Linux)からインストールします
コマンド yum install -y epel-release
を実行
[root@centos75 ~]# yum install -y epel-release 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.riken.jp * extras: ftp.riken.jp * updates: ftp.riken.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ epel-release.noarch 0:7-11 を インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================================================= Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================================================= インストール中: epel-release noarch 7-11 extras 15 k トランザクションの要約 ================================================================================================================= インストール 1 パッケージ 総ダウンロード容量: 15 k インストール容量: 24 k Downloading packages: 警告: /var/cache/yum/x86_64/7/extras/packages/epel-release-7-11.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY epel-release-7-11.noarch.rpm の公開鍵がインストールされていません epel-release-7-11.noarch.rpm | 15 kB 00:00:00 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Package : centos-release-7-5.1804.el7.centos.x86_64 (@anaconda) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : epel-release-7-11.noarch 1/1 検証中 : epel-release-7-11.noarch 1/1 インストール: epel-release.noarch 0:7-11 完了しました! [root@centos75 ~]#
続いて yum install ansible
コマンドでAnsibleをインストールします、
yum install ansible
[root@centos75 ~]# yum install ansible 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile epel/x86_64/metalink | 9.9 kB 00:00:00 * base: ftp.riken.jp * epel: ftp.riken.jp * extras: ftp.riken.jp * updates: ftp.riken.jp epel | 3.2 kB 00:00:00 (1/3): epel/x86_64/group_gz | 88 kB 00:00:00 (2/3): epel/x86_64/updateinfo | 950 kB 00:00:03 (3/3): epel/x86_64/primary | 3.6 MB 00:00:03 epel 12731/12731 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ ansible.noarch 0:2.7.0-1.el7 を インストール --> 依存性の処理をしています: sshpass のパッケージ: ansible-2.7.0-1.el7.noarch --> 依存性の処理をしています: python2-jmespath のパッケージ: ansible-2.7.0-1.el7.noarch --> 依存性の処理をしています: python-paramiko のパッケージ: ansible-2.7.0-1.el7.noarch --> 依存性の処理をしています: python-keyczar のパッケージ: ansible-2.7.0-1.el7.noarch --> 依存性の処理をしています: python-jinja2 のパッケージ: ansible-2.7.0-1.el7.noarch --> 依存性の処理をしています: python-httplib2 のパッケージ: ansible-2.7.0-1.el7.noarch --> 依存性の処理をしています: python-crypto のパッケージ: ansible-2.7.0-1.el7.noarch --> トランザクションの確認を実行しています。 ---> パッケージ 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-keyczar.noarch 0:0.71c-2.el7 を インストール ---> パッケージ python-paramiko.noarch 0:2.1.1-4.el7 を インストール ---> パッケージ python2-crypto.x86_64 0:2.6.1-15.el7 を インストール --> 依存性の処理をしています: libtomcrypt.so.0()(64bit) のパッケージ: python2-crypto-2.6.1-15.el7.x86_64 ---> パッケージ python2-jmespath.noarch 0:0.9.0-3.el7 を インストール ---> パッケージ sshpass.x86_64 0:1.06-2.el7 を インストール --> トランザクションの確認を実行しています。 ---> パッケージ libtomcrypt.x86_64 0:1.17-26.el7 を インストール --> 依存性の処理をしています: libtommath >= 0.42.0 のパッケージ: libtomcrypt-1.17-26.el7.x86_64 --> 依存性の処理をしています: libtommath.so.0()(64bit) のパッケージ: libtomcrypt-1.17-26.el7.x86_64 ---> パッケージ python-babel.noarch 0:0.9.6-8.el7 を インストール ---> パッケージ python-markupsafe.x86_64 0:0.11-10.el7 を インストール --> トランザクションの確認を実行しています。 ---> パッケージ libtommath.x86_64 0:0.42.0-6.el7 を インストール --> 依存性解決を終了しました。 依存性を解決しました ==================================================================================================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ==================================================================================================================================================================================== インストール中: ansible noarch 2.7.0-1.el7 epel 11 M 依存性関連でのインストールをします: libtomcrypt x86_64 1.17-26.el7 extras 224 k libtommath x86_64 0.42.0-6.el7 extras 36 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-keyczar noarch 0.71c-2.el7 epel 218 k python-markupsafe x86_64 0.11-10.el7 base 25 k python-paramiko noarch 2.1.1-4.el7 extras 268 k python2-crypto x86_64 2.6.1-15.el7 extras 477 k python2-jmespath noarch 0.9.0-3.el7 extras 39 k sshpass x86_64 1.06-2.el7 extras 21 k トランザクションの要約 ==================================================================================================================================================================================== インストール 1 パッケージ (+11 個の依存関係のパッケージ) 総ダウンロード容量: 14 M インストール容量: 73 M Is this ok [y/d/N]: y Downloading packages: (1/12): libtommath-0.42.0-6.el7.x86_64.rpm | 36 kB 00:00:00 (2/12): python-httplib2-0.9.2-1.el7.noarch.rpm | 115 kB 00:00:00 (3/12): libtomcrypt-1.17-26.el7.x86_64.rpm | 224 kB 00:00:00 (4/12): python-markupsafe-0.11-10.el7.x86_64.rpm | 25 kB 00:00:00 (5/12): python-paramiko-2.1.1-4.el7.noarch.rpm | 268 kB 00:00:01 (6/12): python-jinja2-2.7.2-2.el7.noarch.rpm | 515 kB 00:00:01 (7/12): python2-jmespath-0.9.0-3.el7.noarch.rpm | 39 kB 00:00:00 warning: /var/cache/yum/x86_64/7/epel/packages/python-keyczar-0.71c-2.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY python-keyczar-0.71c-2.el7.noarch.rpm の公開鍵がインストールされていません (8/12): python-keyczar-0.71c-2.el7.noarch.rpm | 218 kB 00:00:02 (9/12): sshpass-1.06-2.el7.x86_64.rpm | 21 kB 00:00:00 (10/12): python-babel-0.9.6-8.el7.noarch.rpm | 1.4 MB 00:00:03 (11/12): python2-crypto-2.6.1-15.el7.x86_64.rpm | 477 kB 00:00:02 (12/12): ansible-2.7.0-1.el7.noarch.rpm | 11 MB 00:00:10 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 合計 1.3 MB/s | 14 MB 00:00:10 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 から鍵を取得中です。 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <epel@fedoraproject.org>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-11.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 上記の処理を行います。よろしいでしょうか? [y/N]y Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : python-babel-0.9.6-8.el7.noarch 1/12 インストール中 : python-paramiko-2.1.1-4.el7.noarch 2/12 インストール中 : python-httplib2-0.9.2-1.el7.noarch 3/12 インストール中 : sshpass-1.06-2.el7.x86_64 4/12 インストール中 : libtommath-0.42.0-6.el7.x86_64 5/12 インストール中 : libtomcrypt-1.17-26.el7.x86_64 6/12 インストール中 : python2-crypto-2.6.1-15.el7.x86_64 7/12 インストール中 : python-keyczar-0.71c-2.el7.noarch 8/12 インストール中 : python2-jmespath-0.9.0-3.el7.noarch 9/12 インストール中 : python-markupsafe-0.11-10.el7.x86_64 10/12 インストール中 : python-jinja2-2.7.2-2.el7.noarch 11/12 インストール中 : ansible-2.7.0-1.el7.noarch 12/12 検証中 : python-keyczar-0.71c-2.el7.noarch 1/12 検証中 : python-markupsafe-0.11-10.el7.x86_64 2/12 検証中 : python-jinja2-2.7.2-2.el7.noarch 3/12 検証中 : python2-jmespath-0.9.0-3.el7.noarch 4/12 検証中 : python2-crypto-2.6.1-15.el7.x86_64 5/12 検証中 : libtomcrypt-1.17-26.el7.x86_64 6/12 検証中 : libtommath-0.42.0-6.el7.x86_64 7/12 検証中 : sshpass-1.06-2.el7.x86_64 8/12 検証中 : python-httplib2-0.9.2-1.el7.noarch 9/12 検証中 : python-paramiko-2.1.1-4.el7.noarch 10/12 検証中 : python-babel-0.9.6-8.el7.noarch 11/12 検証中 : ansible-2.7.0-1.el7.noarch 12/12 インストール: ansible.noarch 0:2.7.0-1.el7 依存性関連をインストールしました: libtomcrypt.x86_64 0:1.17-26.el7 libtommath.x86_64 0:0.42.0-6.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-keyczar.noarch 0:0.71c-2.el7 python-markupsafe.x86_64 0:0.11-10.el7 python-paramiko.noarch 0:2.1.1-4.el7 python2-crypto.x86_64 0:2.6.1-15.el7 python2-jmespath.noarch 0:0.9.0-3.el7 sshpass.x86_64 0:1.06-2.el7 完了しました! [root@centos75 ~]#
Ansibleコマンド ansible --version
でバージョンが表示できればインストール完了です
ansible --version
[root@centos75 ~]# ansible --version ansible 2.7.0 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@centos75 ~]#
関連記事です
CentOS7になって従来のコマンド、ファイル体系が大きく変わっています。起動ランレベル変更もその一つです
S2D HDI構築手順です
以上