福岡県福岡市中央区今泉1丁目20番2号 天神MENTビル4F
私たちGroovenautsでは提供するサービスを支えるインフラやテストの自動化に力を入れており、最近ではChefとserverspecに注目しています。
これらの製品を使ってインフラ関連業務を効率的にするための知識、社内外で共有したいと思っております。
また今回は、特別ゲストに 10x Labの春山さんをお呼びして、実際にChefを使用したご経験から "chef-soloを使ったミニマムなスタートの仕方(仮)"と題して、お話いただきます。
前回のRubyの入門編とは大きく異なる内容ですが、Chefやserverspecに興味のあるインフラエンジニアの皆様、インフラに関わっていこうとする開発者の皆様、DevOpsやろうぜという皆様、是非お越しください。
事前準備に不安のあるかたは17:00から開場致しますので、早めにお越しいただいてセットアップをお願いします。
まずserverspecを動かすためにはRubyが必要ですので、Rubyのインストールをお願いします。
gem install chef
gem install knife-solo
gem install serverspec
当日のハンズオンでは、VagrantからVirtualBox上の仮想サーバを起動してサーバのセットアップと
そのテストを行いますので、参加される皆様はその事前準備をお願いします。
Vagrant の Getting Started を参考に
http://www.vagrantbox.es/ からお手持ちの環境に合う CentOS 6.4 をインストールしてきてください。
以下はインストールの例になります。
gem install vagrant
vagrant box add cent64 http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box
Opscode Communityのホームページ でアカウントを作成してください
サインアップ後にprivate keyを取得して以下のファイルを作成してください
$ vi ~/.chef/ユーザ名.pem # ローカルマシンのログインユーザ名に合わせておくと良いと思います
$ chmod 600 ~/.chef/ユーザ名.pem
Chefは Opscode社が公開しているOSS製品です。
http://www.opscode.com/chef/
https://github.com/opscode/chef のREADME.md によるとこんな説明がされています。
Chef is a configuration management tool designed to bring automation to your entire infrastructure.
直訳だと「インフラに関わるものをまるごと自動化するように設計された設定管理ツール」ということですね。
実際に使ってみるとかなり簡単に環境構築ができちゃったりして驚きます。
また、Chefで使用する構築のためのレシピ群(== cookbook)も公開されています。
https://github.com/opscode-cookbooks
現時点で138もの製品についてのレシピがあり、よく使われているOSSのミドルウェアのレシピはありそうです。
serverspecは Gosuke Miyashitaさんが公開しているOSS製品です。
http://serverspec.org/ にこんな説明があります。
With serverspec, you can write RSpec tests for checking your servers are provisioned correctly.
「serverspecを使うとサーバがちゃんと準備できたのかをチェックするテストをRSpecで書けます」
日々RSpecでテストを書いている身からすると非常にありがたい仕組みです。
https://speakerdeck.com/spring_mt/chef-solofalsejian-dan-nashi-ifang