Ansibleを導入して使用してみました[cloudpack大阪ブログ]

f:id:itanami5885:20161008155037p:plain

参考資料

www.oreilly.co.jp

Ansibleとは

多数のサーバーや複数のクラウドインフラを統一的に制御できる構成管理ツール
→PuppetやChefもある

Ansibleインストール

sudo pip install ansible

サーバーの事をAnsibleに知らせる

・playbookディレクトリを作成
私は下記に作りました。
/etc/ansible/playbooks

・playbook配下にhostsファイルを作成
→インベントリファイル
AWS環境を使用したので下記内容にしました。

<エイリアス> ansible_ssh_host=<IPアドレス> ansible_ssh_port=22 ansible_ssh_user=<SSHユーザー名> ansible_ssh_private_key_file=<キーファイル格納場所>

実際に確認してみると下記のようになります。
<コマンド>

ansible <エイリアス名> -i hosts -m ping

f:id:itanami5885:20161008173524j:plain

※動作が成功しなかった時は-vvvフラグを追加すると詳しくエラーが表示されます。

ansible <エイリアス名> -i hosts -m ping -vvv

ansible.cfgによる簡略化

ansible.cfgでデフォルト値を設定する事でインベントリファイルやコマンドを簡略化できます。

例)
・下記場所にansible.cfgを作成
ファイル場所:/private/etc/ansible
内容

[defaults]
hostfile = hosts
remote_user = <ユーザー名>
private_key_file = <ファイルキー格納場所>
host_key_checking = False

・-i hostnameの引数を抜いてチェック
f:id:itanami5885:20161008173635j:plain

playbookを実行

playbookはネット上にアップされているymlを参考に動かしてみました。

ansible-playbook -i <ymlファイル>

まだ導入レベルなので理解度も初歩的な所ですが他のツールも使いながら学習していきます。