WindowsでAnsibleを実行する

2016/07/20

AnsibleはLinux、Macでは動くがWindowsでは動かない。Windowsで実行するためには、仮想でLinuxを立ち上げて、そこにAnsibleをインストールする必要がある。

Windowsで『初めてのAnsible』の「1.9 テスト用サーバーのセットアップ」相当の内容を実行する方法を、次の構成で確かめていく。
・Windows 7
・VirtualBox 5.0.20
・Vagrant 1.8.4
・CentOS 6.7
・Ansible 2.1.0

読書ノート:『初めてのAnsible』読書ノート

目次

1.WindowsにVirtualBoxとVagrantをインストールする
2.VagrantでCentOSを2台起動する
3.Ansible用CentOSにAnsibleをインストールする
4.別のCentOSにAnsibleでアクセスする

1.WindowsにVirtualBoxとVagrantをインストールする

WindowsにVirtualBoxVagrantをインストールする。

2.VagrantでCentOSを2台起動する

コマンドプロンプトを開いて、VagrantにCentOSのBOXを追加する。

Windows上に今回のテスト用のディレクトリ(test)を作成する。

test内にVagrantfileを作成する。
Vagrantfile

config.ssh.insert_key = false は『初めてのAnsible』でも説明されているが、Vagrantの各ホストごとに異なるSSH鍵を使うというデフォルトの設定をOFFにして、すべてのホストで同じSSH鍵を使う昔の動作にするために行っている。

vagrant0とvagrant1の2台の設定を行い、vagrant0をAnsible用、vagrant1をAnsibleによる構成管理対象用とする。
private_networkの設定を行っている理由は、Vagrantマシン間でSSH通信をできるようにするため。
※参考:vagrantのネットワークについて

Vagrantファイルを保存したら、vagrant upを実行してvagrant0とvagrant1の起動を行う。

Warning: Remote connection disconnect. Retrying...が出力されても、しばらく待つと接続できるようになる。
vagrant0にアクセスできるかどうか確認する。
確認方法はvagrant sshコマンドを使用するか、Tera Term等で接続するかの2通りがある。
・vagrant sshコマンドの場合

・Tera Termの場合

Windowsからvagrant0にアクセスできたら、vagrant0からvagrant1にSSHでアクセスできるように、C:\Users\%USERNAME%\.vagrant.d\insecure_private_keyをvagrant0にアップロードし、id_rsaとして保存する。

3.Ansible用CentOSにAnsibleをインストールする

vagrant0にAnsibleをインストールする。CentOSではyumでAnsibleをインストールする場合、エンタープライズLinux用の拡張パッケージ(EPEL) を使えるようにする必要がある。

4.別のCentOSにAnsibleでアクセスする

vagrant0からvagrant1にAnsibleでアクセスできるか、『初めてのAnsible』の「1.9.2 テストサーバーのことをAnsibleに知らせる」に沿って確認する。

次は『初めてのAnsible』の「1.9.3 ansible.cfgによる簡略化」に沿って確認する。

-Linux, Windows
-,