LoginSignup
17
17

More than 5 years have passed since last update.

研究室でAnsible使ってる話

Last updated at Posted at 2014-12-05

うどん大学 情報系 院1年の堀内です.

Ansibleを使い始めて4ヶ月目ですが,Advent Calendarに参加してみました!
研究室のサーバ管理や,研究の実験で使っているので,その話をしようと思います.

20141007175919.png

Ansibleとの出会い

8月末に参加したヤフーのインターンシップで,始めて触りました.
簡単なデプロイ演習で,使うツールは自由だったので,選びました.

他の構成管理ツールも考えてみたのですが….

  • Chef: クライアントが必要,レシピが上から下に実行されない
  • Fabric: RubyistなのでPython分からない
  • Capistrano: 学習コストが高そう

研究室のサーバ管理で

同時期に,サーバ監視ツールのSensuも使い始めました.
研究室にはVM含め20台以上のサーバがあるので,sensu-clientを流し込むのに使っています.

他にも,今まで手動でやっていたことも,Ansibleで自動化しています.

  • パッケージ(apt)の更新とサーバの再起動
  • 実験で必要なRubyのコンパイル

PlaybookはGitHubに上げています.
hico-horiuchi/ansible-playbooks

研究の実験で

クラウド上のWebサーバをオートスケールするシステムの研究開発をしています.

Vagrant

実験のために大量のVMを構築する必要があり,そこでAnsibleを使っています.

Vagrantを使っているので,以下の処理をさせています.
プロビジョニングにもAnsibleを使っています.

  1. vagrant-libvirtvagrant-mutateのインストール
  2. templateVagrantfileの生成と転送
  3. kvmboxの追加とlibvirtへの変換
  4. vagrant upvagrant provision

PlaybookはGitHubに上げています.
ansible-playbooks/vagrant

Apache Bench (ab)

システムのベンチマークをするのにApache Benchを使っています.
複数のクライアントで,時間差で実行させるのに使っています.

  1. hostsでクライアント毎のパラメタを指定
  2. templateab実行用shellscriptの生成と転送
  3. nohupを付けてshellscriptを実行

PlaybookはGitHubに上げています.
ansible-apache-bench/hico-horiuchi

まとめ

インターンシップで触って,研究室で使うようになった話でした.
sshだけで動作し,モジュールが豊富なのが良いですね.

今後は,roleも使って,もっと便利にできればと思います.
(Playbookのレビュー,プルリクもお待ちしてます!)

ちなみに,Railsのデプロイにも使っていたりします.
AnsibleでRailsをデプロイ - 12FF5B8

参考

17
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
17