Qcon Tokyo2015 での発表スライド
Engine Yardを含むさまざまな場面で利用が広がったChefですが、その動作原理やアーキテクチャについてご存じない方もいることに気が付きました。細かなアーキテクチャを理解しなくても使うことができるというChefの長所を示しているともいえますが、細かな挙動を制御する際にはやはり動作原理などの知識があると役立ちます。 今回は表題のとおりレシピが実行される際のサイクルについてあまり知られていない部分を紹介します。 Chefの実行サイクルとリソースコレクション Chef(Chef Client、Chef Solo)が実行された際には直ちにサーバの設定が始まるわけではなく、さまざまなステップ毎に処理が実行されます。大まかには下記のようなステップになります。 Chef Serverとの通信、認証処理 Chef Serverからのクックブック、データの取得 クックブックのコンパイル ノードの設定
nanapiでは社内のチャットツールに、Slackを導入しています。Slackの便利なところはintegration周りで、要するに他のツールとの連携が非常にし易いんですね。そういった、Chatを中心にした業務効率化を最近ではChatOpsと呼んだりします。 http://nanapi.co.jp/blog/2014/07/24/nanapi_chatops/ ChatOpsの重要な点はコンテキストを共有できる点ですよね。「○○ってエラーログが出てるよ」みたいな情報を直接誰かに伝えるのではなく、ログが出ているという状態をChatを経由して同じものを見ることで、説明が非常にラクになります。 ほかにもデプロイをHubot経由で指示したり、ステータス取得をしたりなど様々な使い方がありますがやはり重要なのは同じ画面を皆が見ているということですね。そういった点がChatOpsの大きなメリットとしてあ
概要 npm cookbook の使い方を覚えて npm_package 'pm2' などと書くことができるようになった。 手順はこんな感じ。 npm と、依存する cookbooks を取ってくる cookbooks を入れてあるディレクトリで git clone https://github.com/balbeko/chef-npm.git npm などして取ってくる。 ディレクトリ名は npm で! あと、chef-npm が依存してる nodejs とか、nodejs が依存してる apt とか yum とか build-essential を取ってくる。 面倒臭ければ Berksfile に cookbook 'npm' 書けば一発なんじゃないかな 自分の cookbook の metadata.rb に depends 'npm' を書き足す。 これで、npm_package
About V2 Serverspec/Specinfra v2 has been just released. See the document about v2. About With Serverspec, you can write RSpec tests for checking your servers are configured correctly. Serverspec tests your servers’ actual state by executing command locally, via SSH, via WinRM, via Docker API and so on. So you don’t need to install any agent softwares on your servers and can use any configuration
みなさんお料理頑張ってますか?僕は毎日cookbookのrecipeみながらkitchenでknife使ってChef気分です(意味不明)。 今日はopscodeが提供しているphpのcookbookをみて中身を解説したいと思います。 コードはここです。https://github.com/opscode-cookbooks/php(なお、build-essentialとxmlとmysqlのcookbookに依存性がありますので、それぞれ入手してください) この記事の目的は、標準的なcookbookの構成の把握とopscodeでのcookbookの作り方の紹介とそれを利用したカスタマイズ方法を紹介することです。 ディレクトリ構成まずソースコードのディレクトリ構成をみてみます。当たり前ですが通常のcookbookのディレクトリ構成と同じです。├── CHANGELOG.md ├── CONTR
要件 最近、chef ネタばっかりですいません redis という Key Value Store タイプのデータベースをインストールしてみる サービスの起動も設定する execute に一切頼らない方法! とは言え... execute で書いてみる remote_file "/usr/local/src/redis-2.6.9.tar.gz" do source "http://redis.googlecode.com/files/redis-2.6.9.tar.gz" end # execute "unpack_redis" do command "cd /usr/local/src/ && tar zxvf redis-2.6.9.tar.gz" end # execute "install_redis" do command "cd /usr/local/src/redis-2.
レシピにwgetと書くのはリスクがありますよという話。 wget先のファイルがいつもあるとは限らない 覚えたてのChef-soloでレシピをもりもり書いて、完成したーー!!ってなって、 翌日、まっさらの仮想マシンでレシピを実行しなおしたら見事にコケました。 コケたのはこれ。 wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.8.7-2.tar.gz ImageMagickをソースからコンパイルするレシピ。 なんでやねんと思って kddlabsさんのサイトをブラウザで開いてみたらぎょっとした。 ImageMagick-6.8.7-3.tar.gz がめでたくリリースされていて、ImageMagick-6.8.7-2.tar.gz は消えていました。orz ああ、そうか、そうだよな。 人様が運営しているFTPサーバに
■さくらVPSにChefをインストール - 初めてのシステムと日記 http://bosssato.hatenablog.com/entry/2013/06/23/135552 前回の記事でさくらVPSにChefをインストールしました。 今回はChefを使ってApache、PHPをソースインストールするレシピを書いて実際にインストールしてみます。 (package使えば入るっぽいですが、たぶんyumインストールな気が。。) 今回の内容は私のGitHubに公開しているので、そちらを参考にして頂ければです。 (というのを前から言ってみたかった。) https://github.com/bossato/chef リポジトリ作成 まずは今回のレシピを格納するリポジトリを作成します。 // chefというリポジトリを作成 $ knife solo init chef クックブック作成 次にApach
はじめに 前回の記事では、Chef環境の構築から仮想マシンの基本設定を行うレシピの実行までを解説しました。今回は、LAMP環境を構築するレシピを作成し、プロビジョニングを行う方法を解説します。 構築前の準備 今回構築するLAMP環境は、LAMP開発環境の構築方法~LAMP環境構築編と同様です。 また、Chefプロビジョニングで使用するサーバー設定ファイルを、LAMP環境構築編で作成したサーバーからローカルにコピーします。 $ cd ~/vagrant/lamp $ vagrant up $ vagrant ssh $ cp /etc/httpd/conf/httpd.conf /vagrant $ cp /etc/php.ini /vagrant $ cp /etc/my.cnf /vagrant $ cd ~/vagrant/lamp $ vagrant up Bringing mach
vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境 巷で話題のvagrant、chefを試してみました。 折角なのでそれぞれ最新バージョンを積極的に入れてみることにしました。(結構苦労しました…) とりあえず手っ取り早く環境を作る手順を書いて行きます。 前提環境 ホストマシン環境 MacOS 10.9 VirtualBox 4.3.6 Vagrant 1.4.1 Chef 11.8.2 vagrant-omnibus 1.2.1 ruby 2.0.0p247 gem 2.0.3 仮想マシン環境 CentOS 6.5 64bit Apache2.2 (yumレポジトリ) PHP5.5 (remiレポジトリ) MySQL5.5 (公式rpm) 各種ソフトウェアのインストール VirtualBox 仮想マシンソフトです。以下URLからダウンロードしてインストー
vagrant-fuelphpがUbuntuだったので、CentOSでのFuelPHP用の開発環境をVagrantで作成することにします。 (2013-11-18 追記) この記事の内容よりもう少し改良したものを、GitHubに公開しました。詳しくは、vagrant-fuelphp-centos6を使ってFuelPHPの開発用のCentOS 6.4を30分で構築するを参照してください。 CentOS Boxファイルの取得 まず、http://www.vagrantbox.es/にあるCentOS 6.4(64bit)のboxファイルをダウンロードします。かなり時間がかかります。 $ vagrant box add centos6.4_64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v2013073
ホストはWindows7、ゲストはCentOSです。 Vagrantのインストール http://vagrantup.com/ からダウンロードします。インストーラーが出来て便利になりましたね。 とりあえず起動 どのBoxがよいのかよくわからないけどとりえあず今はminimal-centos-56使っています。他は http://www.vagrantbox.es/ から探しましょう。 > vagrant box add minimal-centos-56 http://dl.dropbox.com/u/9227672/centos-5.6-x86_64-netinstall-4.1.6.box > vagrant init minimal-centos-56 > vagrant upChef-soloを使う場合でも、とりあえずは何もせずに一度VMを起動して、VM内でknifeコマンドなど
Base CentOS boxes for Vagrant. View the GitHub repo for more details. Latest File Description Size Direct: CentOS-6.7-x86_64-v20151108.box CentOS 6.7 x86_64 Minimal (VirtualBox Guest Additions 5.0.8, Chef: 12.5.1, Puppet 3.8.4) sha256sum: a33b81d37c37172858718ea5ef06e9fce7f650e9f2f90a570c9940ed0e857bf8
いまはやりのローカルに開発環境をつくる方法です。 一度作ってしまえば環境をコピーするのは簡単そうなのですが、いろいろ覚えないといけないことがあって意外と大変でした。 Vagrant、Chef、BerkShelfがそれぞれ何ものなのかは、、、 他のサイトで確認してみてください(^^;) タイトルでLAMPといいつつも今回はPostgreSQLをインストールしてます。 Vagrantのインストール ここはそんなに問題ないです。 当たり前の話なのですが、、、Boxは本番環境に合わせてちゃんと選びましょう。 例えばCentOSにしたい場合は http://www.vagrantbox.es/ ここからCentOSのURLを選びます。 $ vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6
ローカル Windows 7(64bit) VirtualBox 4.3.6 Vagrant 1.4.3 ruby 1.9.3 chef 11.8.2 Berkshelf 2.0.13 CentOS 6.5 apache 2.2.15 MySQL 5.1.71 php 5.3.3 手順 VirtualBoxのインストール Vagrantのインストール rubyのインストール RubyInstallerとDEVELOPMENT KITの両方が必要 http://rubyinstaller.org/ Windowsで2.0を使おうとすると問題が多発するので、1.9を強くお勧めします! RubyInstaller実行 インストール先はc:\Rubyにしました。 DEVELOPMENT KITのインストール アーカイブを実行すると、解凍先を聞かれるので、好きな場所(インストール先になります)に解凍
社内でBerkshelfがウワサになっていたので試してみた。 Berkshelfとは? Berkshelfとは、「Chefのcookbookとその依存関係を管理するツール」らしい。 要するに、定義ファイルに使うcookbookを定義しておけば、リポジトリから勝手に依存関係を解消した上で 落としてきてくれるらしい。RubyのBundlerみたいな感じ。 同じようなので、Librarian-Chefというのもあるが、Berkshelfの方が現時点で主流っぽい。 Berkshelfの使い方 Berkshelfはgemで配布されているので、gem installでインストールできる。 使用したいcookbookを定義するBerksfileを作成する。 Berkshelfの公式サイトにも書いてあるが、opscodeからmysqlとnginxのcookbookを使う場合はこんな感じ。 cookbook
Chef、流行っていますね。僕も最近の流れを受けて始めたばかりのにわかChef使いなのですが、例によってWindowsでChefを動かすのは結構大変です。 今回はChef clientのインストールをするとともに、Chefを開発しているopscodeの提供しているrecipeを使ってWindows向けの便利なコードを使えるようにしたいと思います。 #なお、gemを使ってインストールする方法もありますが、今回はインストーラー(msi)を使います。 Chef clientのインストール 0. gitがインストールされていない場合はmsgitなどを使ってインストールしておいてください。 1. こちらのページのStep2にあるリンクからChefのインストーラーをダウンロードし、実行してください。 インストール後にコンソールでchef-soloなどのバージョンが表示されればOKです。 > chef-
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く