Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ansible徹底入門で学んだこと.pdf
Search
Takaoka Shuichi
April 27, 2017
0
760
Ansible徹底入門で学んだこと.pdf
Takaoka Shuichi
April 27, 2017
Tweet
Share
More Decks by Takaoka Shuichi
See All by Takaoka Shuichi
高集積ホスティングにおけるセキュリティとPHP実行基盤の高速化
tshst
0
3.7k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
It's Worth the Effort
3n
187
29k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Navigating Team Friction
lara
191
16k
We Have a Design System, Now What?
morganepeng
54
7.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Thoughts on Productivity
jonyablonski
73
5k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Speed Design
sergeychernyshev
33
1.4k
Raft: Consensus for Rubyists
vanstee
141
7.2k
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