ロール適用ツール ~ansible art~
TRANSCRIPT
ロール適用ツール~ ansible-art~Ansible Practice Meetup
2017/02/23bbrfkr
初めまして!
bbrfkr(ビビリフクロウ )
TIS株式会社
ミッション
インフラ構築・運用・保守の自動化推進
趣味
サーバ構築
メモリ量
128 GB!!
インフラ大好きbbrfkr
(ビビリフクロウ )
ここからが本題
Ansible Life楽しんでますか?
Ansible便利ツール
ansible-art
ロールをターゲットに適用したい…
• ロールの作成• ロールを実行する playbookの作成• インベントリの作成• host_varsなどの変数の作成• playbookの実行
ロール実行用 playbookの作成って面倒 !!
こんな playbook書いてませんか?
- name: apply sample_role hosts: all roles: - sample_role
①ターゲットの指定②ロールの指定
ロールが増える度にこれを作りたいですか?
作りたくない !!ロールとターゲットを引数にとるコマンドがあれば…
$ ansible-playbook \> <ロール名 > <ターゲット >
そんな Ansibleユーザの願いを叶えるコマンド
ansible-art
使い方
$ ansible-art apply \> <ロール名 > <インベントリ >
simple!!
内部的にはほぼansible-playbookを叩いているだけ
だから機能的にもansible-art ansible-playbook≒
[group01]192.168.100.10192.168.100.11[group02]192.168.100.12
$ ansible-art apply \ > <ロール名 > <インベントリ > \> -a "-l group01"
playbook実行中の詳細を表示「 -vvvvv」
$ ansible-art apply \ > <ロール名 > <インベントリファイル > \> -a "-vvvvv"
ansible-art ansible-playbook≒
ansible-artのみの便利機能
あるターゲットに二つ以上の状態を定義したい…
クラウド上の仮想サーバの生死の切替
os_server: name: test01 flavor: m1.small ... state: present
os_server: name: test01 flavor: m1.small ... state: absent
この二つの状態どうやって切り替えますか ?
xxx.xxx.xxx.xxx_01 xxx.xxx.xxx.xxx_02
xxx.xxx.xxx.xxxxxx.xxx.xxx.xxx
コピー作業が面倒…
yamlファイルを管理しづらい…
host_varsディレクトリを切り替えられたら…
ansible-artのもう一つの機能
host_vars指定機能
host_vars01/192.168.100.10.ymlos_server: name: test01 flavor: m1.small ... state: present
生きている状態↓
host_vars01
host_vars02/192.168.100.10.ymlos_server: name: test01 flavor: m1.small ... state: absent
死んでいる状態↓
host_vars02
仮想サーバを生きている状態にするときは
$ ansible-art apply \> <ロール名 > <インベントリ > \> -p host_vars01
仮想サーバを死んでいる状態にするときは
$ ansible-art apply \> <ロール名 > <インベントリ > \> -p host_vars02
同様のことがgroup_varsにもできます!
$ ansible-art apply \> <ロール名 > <インベントリ > \> -g group_vars01
ロールを直接適用できるツールansible-art
ロールを直接適用できるツールansible-art
=
apply role tool
art
使いたい方試したい方は
# pip install ansible-art
Qiita記事にも使い方公開中 !!
Googleで「 qiita ansible-art」と検索 !!
インフラ大好きbbrfkr
(ビビリフクロウ )
Thank you!!