タイムインターメディア技術部会資料
構成管理ツール。
セットアップスクリプトを記述し、パッケージインストールやデーモンの起動をリモート設定できる。
- リモート側にAnsibleをインストールする必要がない
- スクリプトは記述した順番に実行される
- YAMLによるシンプルな文法
- 各種のモジュールが利用できる。ex. serviceモジュール、yumモジュール、homebrewモジュール、etc.
- 冪等性
serviceモジュールは、リモートサーバーへのパッケージインストール、デーモン起動、サーバー再起動時の自動起動などをシンプルに記述できる。
- name: Install monit And Start And On Boot
service: name=monit enabled=yes state=started
https://github.com/eyasuyuki/ansible-macbook
ansible.cfg
[defaults]
inventory = ./hosts
[ssh_connection]
ssh_args = -o ControlMaster=no -F ./ssh.config
ssh.config
Host *
IdentityFile /home/yasuyuki/.ssh/id_rsa
ProxyCommand ssh -W %h:%p endo@gatewayhost
起動オプションに -vvvv を付けるとssh -vvv で動作する。
ansible-playbook hoge.yml -vvvv -K
起動オプションに -K を付けるとsudoパスワードのプロンプトが表示される。
これによってスクリプト内部にパスワードを平文で記述する必要がなくなる。
(ターゲットホストが複数ある場合は全て同じパスワードにしておく必要がある)