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
4 Signs Your Business is Dying
shpigford
184
22k
Faster Mobile Websites
deanohume
307
31k
Optimizing for Happiness
mojombo
379
70k
Embracing the Ebb and Flow
colly
86
4.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
920
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Code Reviewing Like a Champion
maltzj
524
40k
Speed Design
sergeychernyshev
31
990
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Six Lessons from altMBA
skipperchong
28
3.8k
Documentation Writing (for coders)
carmenintech
71
4.9k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
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