Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ansible徹底入門で学んだこと.pdf

Takaoka Shuichi
April 27, 2017
640

 Ansible徹底入門で学んだこと.pdf

Takaoka Shuichi

April 27, 2017
Tweet

Transcript

  1. で、ちゃんと学習しました • Chapter1 - Chapter4までですがw • アウトプット • やったことのメモ •

    GitHubのコミット • Blog 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 5
  2. Dynamic Inventory スクリプト • 公式GitHubで各種スクリプトを配布している • 各種IaaS(Azure, AWS EC2, GCE,

    OpenStack) • 監視システム(Nagios, Zabbix) • オーケストレーションツール(Serf, Consul) 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 8
  3. 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"] }
  4. Dynamic Inventory スクリプト • InventoryファイルかDynamic Inventoryファイルかの判定は ファイルの実行権限の有無で行っている • 実行権限がないファイルは静的Inventoryとして扱う •

    実行権限が付いていればDynamicInventoryスクリプトとみなす • 実行方法 • ansible-playbook -i vagrant.py site.yml 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 10
  5. Inventoryの管理/運用 • Inventoryは、監視サーバの情報をベースにしたい • 情報の一元管理 • オンプレのホスト情報は、cobblerにある • パブリッククラウドのホスト情報はcobblerにはない •

    情報の正確性の保証 • 複数人で1つのファイルを管理していると、正しい情報がわからなくなるときが ある • 正しい情報を保証してくれるのは、サービスを監視している監視サーバなので は? 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 15
  6. Inventoryの管理/運用 • グループの管理を見直したい • groupの名称をサービスの役割の名称に変更する • group_varsを有効活用したい • 設定ファイルをtemplate化して、proxyサーバと非proxyサーバで設定変える等 •

    同じRoleでも時代によって認証情報が異なる問題はif文とかで解決できそう • 複数のgroupに属するように変更する • 提供サービス毎にInventoryファイルが別れていたものを一元化 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 16
  7. Inventoryの管理/運用 • Ansible専用のサーバから実行したい • 特定のサーバからデプロイするメリットがありそう • 通知を受け取ってデプロイ処理を実行できそう • cronとかで、定期実行する処理があれば便利そう •

    デメリットないの? • シングルポイントになるので、死んだら終わり • でも、今の時代、いろんな方法あるので、そこまでのデメリットにならなそう 2017/04/27 Ansible徹底⼊⾨輪読もくもく会 #1 17