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
640
Ansible徹底入門で学んだこと.pdf
Takaoka Shuichi
April 27, 2017
Tweet
Share
More Decks by Takaoka Shuichi
See All by Takaoka Shuichi
高集積ホスティングにおけるセキュリティとPHP実行基盤の高速化
tshst
0
3.3k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
154
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
12
4.6k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
How to name files
jennybc
64
93k
Being A Developer After 40
akosma
56
580k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
A designer walks into a library…
pauljervisheath
199
23k
The MySQL Ecosystem @ GitHub 2015
samlambert
242
12k
Docker and Python
trallard
33
2.7k
Code Reviewing Like a Champion
maltzj
513
39k
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