Ansibleとは
AnsibleとはPuppet・Chefなどと同じプロビジョニングツールになります。
Puppet・Chefとの違いとしてはクライアントツールのインストールを必要としません。
またコアのコードはPythonを使用しておりPythonを使用できる環境であればAnsibleを動かすことができます。
クライアント側の必要環境がSSHで接続ができるのであれば使用することができるなどが特徴です。
インストールもCnetOSでなら比較的に簡単で
epelリポジトリを使用すればyum簡単にインストールできます。
CentOS6インストール手順
- epel リポジトリの追加とansible・sshpassのインストール
yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install ansible sshpass -y
ansible hostsファイル
ansibleは管理を明示的にしてあるサーバーにしかセキュリティ上接続させることができません。
hostsファイルはデフォルト下記のpathになります。
/etc/ansible/hosts
hostsファイル例
#クライアントの追加
127.0.0.1
test.example.com
#クライアント名のグループ化
[webserver]
web1.example.com
web2.example.com
web3.example.com
#複数のクライアントの略称化
dns[1:3].example.com
疎通確認
#初めてSSHで接続するサーバーの公開鍵をknown_hostsに書き込む
ssh-keyscan 127.0.0.1 >> ~/.ssh/known_hosts
#パスワード接続の場合
ansible 127.0.0.1 -m ping -k
#秘密鍵接続の場合
ansible 127.0.0.1 -m ping -i 秘密鍵