Ansibleでローカル環境にインストールしてみる

VirtualBoxにCentOSをとりあえずインストール
の続き

VitualBoxのCentOS上でAnsibleを実行して、
ローカルの環境にインストールしてみる。

Ansibleのインストール

まずepelのリポジトリを追加する。

$ sudo rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

epelは明示的に指定したいので、enableを0にする。

$ sudo vi /etc/yum.repos.d/epel.repo
enable=1enable=0

ansibleをインストールする。

$ sudo yum -y install ansible --enablerepo=epel

hostsを書き換えて、デフォルトのホストをローカルにする。

$ sudo vi /etc/ansible/hosts
127.0.0.1 ansible_connection=local
別にhostsを作成してもOK。

$ vi ansible.cfg
[defaults]
hostfile = ./hosts

$ vi hosts
127.0.0.1 ansible_connection=local

プレイブックを実行してみる

今回はtreeコマンドをインストールするプレイブックを作成してみる。

$ vi sample.yml
---
- hosts: all
  sudo: yes
  tasks:
    - yum: name=tree state=latest

プレイブックを実行する。

$ ansible-playbook sample.yml

sudoでパスワードが必要な場合は「-K」または「--ask-sudo-pass」を指定する。

$ ansible-playbook sample.yml -K

treeコマンドがインストールされる。

$ tree
.
└── sample.yml
sudoをパスワード無しにしたい場合は、下記のように設定する。

$ sudo usermod -G wheel hoge
$ sudo visudo
・・・
%wheel  ALL=(ALL)       NOPASSWD: ALL	←コメントを解除
・・・

(補足)

$ su -

でrootになった後、下記のコピペでAnsibleの実行環境が一気にできます。

rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
sed -i "s/^enabled\s*=\s*1/enabled=0/g" /etc/yum.repos.d/epel.repo
yum -y install ansible --enablerepo=epel
echo "127.0.0.1 ansible_connection=local" > /etc/ansible/hosts