Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ansible徹底入門で学んだこと.pdf
Search
Takaoka Shuichi
April 27, 2017
0
730
Ansible徹底入門で学んだこと.pdf
Takaoka Shuichi
April 27, 2017
Tweet
Share
More Decks by Takaoka Shuichi
See All by Takaoka Shuichi
高集積ホスティングにおけるセキュリティとPHP実行基盤の高速化
tshst
0
3.6k
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.4k
Gamification - CAS2011
davidbonilla
81
5.3k
Done Done
chrislema
184
16k
Designing for humans not robots
tammielis
253
25k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Into the Great Unknown - MozCon
thekraken
39
1.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Cult of Friendly URLs
andyhume
79
6.5k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Why Our Code Smells
bkeepers
PRO
337
57k
Transcript
Ansible徹底入門で学んだこと 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 Shuichi Takaoka
自己紹介 • 高岡 修一(たかおか しゅういち) • ホスティングのインフラエンジニア&マネジメント少々 • Python/Pythonで作られたものが好きです •
Ansibleは初心者レベル Twitter: @tshst__ GitHub: @tshst 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 2
アジェンダの前に • Ansbile輪読会#0でじゃんけんに買って、本頂きました! 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 3
2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 4
で、ちゃんと学習しました • Chapter1 - Chapter4までですがw • アウトプット • やったことのメモ •
GitHubのコミット • Blog 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 5
アジェンダ • Dynamic Inventory スクリプト • Dynamic Inventoryの使い所 • Inventoryの管理/運用
2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 6
Dynamic Inventory スクリプト • 動的にホスト情報を取得 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 7 Ansible
dynamic-inventory script (Apache Libcloud) Returns JSON-data to the python script
Dynamic Inventory スクリプト • 公式GitHubで各種スクリプトを配布している • 各種IaaS(Azure, AWS EC2, GCE,
OpenStack) • 監視システム(Nagios, Zabbix) • オーケストレーションツール(Serf, Consul) 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 8
Dynamic Inventory スクリプト • 実行可能なpythonプログラム • 実行結果は、JSON形式で標準出力に出力される 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1
9 $ ./vagrant.py –list {"_meta": {"hostvars": {"default": {"ansible_ssh_host": "127.0.0.1", "ansible_ssh_port": "2222", "ansible_ssh_user": "vagrant", "ansible_ssh_private_key_file": ”~/virtualbox/private_key"} } }, "vagrant": ["default"] }
Dynamic Inventory スクリプト • InventoryファイルかDynamic Inventoryファイルかの判定は ファイルの実行権限の有無で行っている • 実行権限がないファイルは静的Inventoryとして扱う •
実行権限が付いていればDynamicInventoryスクリプトとみなす • 実行方法 • ansible-playbook -i vagrant.py site.yml 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 10
Dynamic Inventoryの使い所 • Inventoryファイルの更新頻度が高い • サーバの負荷状況に応じてインスタンス台数が変動するとか • 他なにかありますかね? 2017/04/27 Ansible徹底⼊⾨輪読もくもく会
#1 11
Dynamic Inventory まとめ • 思った以上に便利ではなかった • もっと便利に使える気がする • もくもくしていきます 2017/04/27
Ansible徹底⼊⾨輪読もくもく会 #1 12
Inventoryの管理/運用 • 前職でやっていたこと • Inventoryファイルはgitで管理 • メンバーが各自でローカルマシンにgit pullしてAnsible実行 • Inventoryファイルが提供サービス単位で複数存在する
• Inventoryのファイルの中身は認証ユーザでグループ化 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 13
Inventoryの管理/運用 • 「Ansible徹底入門」で学んで改善したいと思ったこと • Inventoryは、監視サーバのホスト情報をベースにしたい • グループの管理を見直したい • Ansible専用のサーバから実行したい 2017/04/27
Ansible徹底⼊⾨輪読もくもく会 #1 14
Inventoryの管理/運用 • Inventoryは、監視サーバの情報をベースにしたい • 情報の一元管理 • オンプレのホスト情報は、cobblerにある • パブリッククラウドのホスト情報はcobblerにはない •
情報の正確性の保証 • 複数人で1つのファイルを管理していると、正しい情報がわからなくなるときが ある • 正しい情報を保証してくれるのは、サービスを監視している監視サーバなので は? 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 15
Inventoryの管理/運用 • グループの管理を見直したい • groupの名称をサービスの役割の名称に変更する • group_varsを有効活用したい • 設定ファイルをtemplate化して、proxyサーバと非proxyサーバで設定変える等 •
同じRoleでも時代によって認証情報が異なる問題はif文とかで解決できそう • 複数のgroupに属するように変更する • 提供サービス毎にInventoryファイルが別れていたものを一元化 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 16
Inventoryの管理/運用 • Ansible専用のサーバから実行したい • 特定のサーバからデプロイするメリットがありそう • 通知を受け取ってデプロイ処理を実行できそう • cronとかで、定期実行する処理があれば便利そう •
デメリットないの? • シングルポイントになるので、死んだら終わり • でも、今の時代、いろんな方法あるので、そこまでのデメリットにならなそう 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 17
Inventoryの管理/運用まとめ • オンプレとクラウドが混在して、ホストの管理が複雑になって いくなかで、Ansibleを運用していくには、Inventoryの中身を 理解して、効率よくかつシンプルにしていくことが重要だと感 じました。 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 18
ご清聴ありがとうございました。 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 19