ansible
server01のipアドレスと鍵の場所はprovisioning/inventory/hogehogeに書かれている前提。
roleはprovisioning/site.ymlに指定されている前提。
skip-tags
文法チェック
最近よく使う
ansible-playbook -i provisioning /inventory/zabbix provisioning /zabbix .yml - v -K -k -s -U root
|
ping
ansible -i provisioning /inventory/hogehoge server -m ping
|
シェルコマンド実行 shellはリモートノードのシェル(/bin/sh)を通して実行される。 | や* を使用できる。
ansible -K -i provisioning /inventory/production -u fractale -m shell -a "sudo gzip /hogehoge/piyo/app.2014*.log" server01
|
commandは上記のものが使用できない。
ansible -K -i provisioning /inventory/production -u fractale -m command -a "ls -lah" server
|
tag指定して yes/no で答えながら複数サーバにansibleを流す。
ansible-playbook -i provisioning /inventory/production provisioning /site .yml -t "tag" --limit=server01,server02 - v -K -k -s -U root --step
|
tag指定
ansible-playbook -i provisioning /inventory/production provisioning /site .yml -t "tag" --limit=server01 - v -K -k -s -U root
|
ansible -K -i provisioning /inventory/production -u fractale -m command -a "sudo sed -i -e '/# EnableRemoteCommands=0/a\EnableRemoteCommands=1' /etc/zabbix/zabbix_agentd.conf" server
|
ansible -K -i provisioning /inventory/production -u fractale -m command -a "sudo sed -i -e '/# Timeout=3/a\Timeout=30' /etc/zabbix/zabbix_agentd.conf" server
|
ansible -K -i provisioning /inventory/production -u fractale -m command -a "sudo service zabbix-agent restart" server
|
ansible -K -i provisioning /inventory/production -u fractale -m command -a "sudo sed -i -e 's/# access_log \/var\/log\/nginx\/access.log main;/ access_log \/var\/log\/nginx\/access.log main;/g' /etc/nginx/nginx.conf" server
|
ansible -K -i provisioning /inventory/production -u fractale -m command -a "sudo sed -i -e 's/\"\$request_time\" \"\$upstream_response_time\"/\$request_time \$upstream_response_time/g' /etc/nginx/nginx.conf" server
|
ansible -K -i provisioning /inventory/production -u fractale -m command -a "sudo service nginx reload" server
|
roleのテンプレを作るコマンド
[astel@MacBook-Pro] $ ansible-galaxy init hbase
hbase was created successfully
[astel@MacBook-Pro] $ cd hbase
[astel@MacBook-Pro] $ ls
README.md defaults/ files/ handlers/ meta/ tasks/ templates/ vars/
|
大体使うのはfiles,tasks,templates,varsくらいなので他の消しちゃうんですけどね…
ディレクトリの中にmain.ymlとかもできるので便利な時もあるかも
hosts設定
portが22では無い時は
sshパスワード入力の際はオプションをつける