際際滷

際際滷Share a Scribd company logo
pyvmomiと 
AnsibleのDynamic Inventory
徭失B初 
¢ 采勸宗湊席(@kawken) 
¢ シナジ`マ`ケティング幄 
¢ 碧並 
o WEBアプリ_k 
? SIのお碧並 
? Ruby on Rails を麼に聞ってる 
o _kh廠の個鋲 
? レガシ`なh廠をモダンにするような試 
? 芙坪の_k喘サ`バ砿尖
Dynamic Inventory とは 
¢ インベントリファイルに、g佩慙泙原嚥 
されているとg佩Y惚を聞喘する碧Mみ 
返 
1. JSONを竃薦するスクリプトを恬撹 g佩 
慙泙鮓錦 
2. インベントリファイルとしてスクリプトを 
峺協する 
ansible-playbook -i hosts.py site.yml
Dynamic Inventory のル`ル 
¢ スクリプトはpython參翌でもOK 
¢ --list, --host のコマンドライン哈方が局って 
くる 
o デフォルトは--list 
o ホストが峺協されているときは--host 
¢ スクリプト喘のO協ファイルはiniファイル 
が容X 
¢ g佩rにO協したい、廊h廠篳で局す參 
翌なさそう 
https://github.com/ansible/ansible/tree/devel/plugins/inventory
pyvmomiとは 
¢ VMware vSphere APIのPythonバインディン 
グ 
o VMware vSphere APIとは 
? VMware ESXなどで砿尖している∀襯曠好箸 
荷恬 
¢ VMware巷塀 
o https://github.com/vmware/pyvmomi 
¢ VMOMI 
o Virtualization Management Object 
Management Infrastructure 
¢ iみ圭は´
pyvmomiのサンプル 
https://github.com/vmware/pyvmomi/blob/master/sample/poweronvm.py# 
L116 
なぜか3スペ`スなのがつらい
聞いどころ 
¢ 芙坪の_k喘サ`バのBVMware 
1. pyvmomiで∀襯泪轡B 
2. CentOSのkickstartで徭咼ぅ鵐好肌`ル 
3. Ansibleでプロビジョニング 
DHCPのためFQDNとIPがわからないので、 
pyvmomiでVMwareの砿尖兆からIPを函誼している 
TARGET_HOST="$vmname" ansible-playbook -i target.py site.yml
target.pyのg佩Y惚 
$ TARGET_HOST=sample.local vmware/target.py 
{ 
"all": { 
"hosts": [ 
"192.168.0.123" 
], 
"vars": { 
"target_hostname": "sample.local" 
} 
} 
}
まとめ 
¢ Dynamic Inventory 
o gなスクリプトから兵められる 
o VMWareやAWS貧にBされた、IPやEnd Pointが 
わからないようなサ`バを蒙協して、プロビジョニ 
ングすることができる 
¢ pyvmomi 
o pyvmomiはVMwareの荷恬がgにできる 
o サンプルをると採となくわかるので、Pythonがわ 
かればg
歌深 
Ansible巷塀ドキュメント 
Dynamic Inventory のh苧 
http://docs.ansible.com/intro_dynamic_inventory.html 
スクリプトの恬り圭 
http://docs.ansible.com/developing_inventory.html 
Dyanmic Inventory のサンプル 
https://github.com/ansible/ansible/tree/devel/plugins/inventory 
pyvmomi 
https://github.com/vmware/pyvmomi 
VMOMI 
https://github.com/vmware/pyvmomi/wiki/VMOMI 
VMware vSphere Web Services SDK Documentation 
https://www.vmware.com/support/developer/vc-sdk/

More Related Content

Pyvmomiとansibleのdynamic inventory

  • 2. 徭失B初 ¢ 采勸宗湊席(@kawken) ¢ シナジ`マ`ケティング幄 ¢ 碧並 o WEBアプリ_k ? SIのお碧並 ? Ruby on Rails を麼に聞ってる o _kh廠の個鋲 ? レガシ`なh廠をモダンにするような試 ? 芙坪の_k喘サ`バ砿尖
  • 3. Dynamic Inventory とは ¢ インベントリファイルに、g佩慙泙原嚥 されているとg佩Y惚を聞喘する碧Mみ 返 1. JSONを竃薦するスクリプトを恬撹 g佩 慙泙鮓錦 2. インベントリファイルとしてスクリプトを 峺協する ansible-playbook -i hosts.py site.yml
  • 4. Dynamic Inventory のル`ル ¢ スクリプトはpython參翌でもOK ¢ --list, --host のコマンドライン哈方が局って くる o デフォルトは--list o ホストが峺協されているときは--host ¢ スクリプト喘のO協ファイルはiniファイル が容X ¢ g佩rにO協したい、廊h廠篳で局す參 翌なさそう https://github.com/ansible/ansible/tree/devel/plugins/inventory
  • 5. pyvmomiとは ¢ VMware vSphere APIのPythonバインディン グ o VMware vSphere APIとは ? VMware ESXなどで砿尖している∀襯曠好箸 荷恬 ¢ VMware巷塀 o https://github.com/vmware/pyvmomi ¢ VMOMI o Virtualization Management Object Management Infrastructure ¢ iみ圭は´
  • 7. 聞いどころ ¢ 芙坪の_k喘サ`バのBVMware 1. pyvmomiで∀襯泪轡B 2. CentOSのkickstartで徭咼ぅ鵐好肌`ル 3. Ansibleでプロビジョニング DHCPのためFQDNとIPがわからないので、 pyvmomiでVMwareの砿尖兆からIPを函誼している TARGET_HOST="$vmname" ansible-playbook -i target.py site.yml
  • 8. target.pyのg佩Y惚 $ TARGET_HOST=sample.local vmware/target.py { "all": { "hosts": [ "192.168.0.123" ], "vars": { "target_hostname": "sample.local" } } }
  • 9. まとめ ¢ Dynamic Inventory o gなスクリプトから兵められる o VMWareやAWS貧にBされた、IPやEnd Pointが わからないようなサ`バを蒙協して、プロビジョニ ングすることができる ¢ pyvmomi o pyvmomiはVMwareの荷恬がgにできる o サンプルをると採となくわかるので、Pythonがわ かればg
  • 10. 歌深 Ansible巷塀ドキュメント Dynamic Inventory のh苧 http://docs.ansible.com/intro_dynamic_inventory.html スクリプトの恬り圭 http://docs.ansible.com/developing_inventory.html Dyanmic Inventory のサンプル https://github.com/ansible/ansible/tree/devel/plugins/inventory pyvmomi https://github.com/vmware/pyvmomi VMOMI https://github.com/vmware/pyvmomi/wiki/VMOMI VMware vSphere Web Services SDK Documentation https://www.vmware.com/support/developer/vc-sdk/