This domain may be for sale!
本項はChefConf 2013: Beginner Chef Antipatternsを和訳したものです。 はじめに よく Chefの学習は大変 Chefの学習曲線は急勾配 と言われているので、Opscodeでは緩和するためのコンテンツを色々準備しています。 learnchef.com docs.opscode.com パブリック/プライベート トレーニング Podcasts (Food Fight Show など) 各地のユーザグループ (訳注: 日本なら #opschef_ja ) ChefConf! (訳注: これは ChefConf 2013 で行われたセッションなので) それでも、正しいことをやっているのか知るのは難しく、何か間違ったことをやっているのか知るのはさらに難しいものです。コミュニティの中で「ベストプラクティス」は常に進化してきました。 ベストプラクティスについてもっ
誰のための文書? リーダーや同僚から「Vagrant, Chef を使うと環境構築楽ちんだから、これこれのファイル用意して vagrant up してみなー」と言われるがままに環境構築してみたはいいが、何なのかよくわかっていない人。 Vagrant, Chef と組み合わせて VirtualBox を使っているのに VirtualBox のGUI から起動や終了をしている人。 コマンドラインで構築するやり方はたくさん見たが、それぞれのツールの役割がわかっていない人。 2週間前の自分。 概要 図にまとめてみました 拡大して表示 拡大して表示 ちょっと解説 1, 2ヶ月前に同僚から Vagrant と Chef を使うと便利なことを教わったのですが、中身についてはよくわかっていませんでした。この1週間、Vagrant と Chef と格闘してみて、理解したことをまとめたのが上図です。 Vagr
入門してみた感想を適当に箇条書きで。 Opscode Communityのcookbookインポートするのに登録不要っぽい cookbookインポートするとレポジトリに勝手にコミットするどころか、どのブランチで作業してようがお構いなしにmasterブランチにcheckoutしてコミットするので場合によっては悲惨な事になる 既に設定とかスクリプトを入れてあるレポジトリがあって、chefに移行しようかなーとブランチ切って作業してる場合とか サンプルでNginxのレシピを書いてるけど、opscodeのnginxレシピがあるのでこの程度なら自分で作るまでも無いですよとフォローがあったほうがうれしそう apt / yumレシピは紹介しておいたほうが便利かな サードパーティーのは信用すべきなのか微妙だけど、opscode提供のレシピはそれなりに信用して使って良さそうだし、自分で書くより使い回そうってい
2013年06月12日15:15 カテゴリ vagrant + chef solo + serverspecでテスト駆動サーバ構築を試してみるテスト こんにちは!株式会社PeX の高橋です。 自分はサーバアプリエンジニアではありますが、Provisioning Frameworks Casual Talksなどの影響を受けて最近はProvisioning Framework力を強化中です。 Provisioningとはサーバをサービスが開始できるように設定する事で、Provisioning Frameworkはサーバの設定を自動化するためのフレームワーク(chef、puppet)の事となります。 本記事ではvagrantで作成した仮想環境に対して、chefでサーバ設定を行いSymfony2のwelcome画面を表示する事を行います。serverspecでテストが失敗する事を確認した後にサー
2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。本件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 本件に関する詳細は、プレスリリースをご確認ください。
解りづらいclient chefの要素でclientとnodeがあります。 いろいろ調べる中で、このことを解説しているところがあるのですが、自分は以下のように解釈していました。 Node = 管理対象サーバ client = Chef Serverとやり取りするインタフェース この解釈で概ね誤りは無いようなんですが、一つ大きく勘違いをしているところがありました。 Clientの流用は出来ない どういうことかというと、一つのclient、もっと言えばClientのPrivate Keyを複数のサーバに配布して「Nodeは増えるけど、Clientは増えない」ということは出来なそうな感じです。 chefを使う理由は関するサーバの台数が増えて来て管理が大変なので、一つ例えば「forServer」というclientを作っておいて、そのprivate keyをchef管理下に入るサーバに置いてお
前回は、Chef Client をインストールしたノード上から、簡単な Cookbook を実行するところまで試しました。 今回は比較的よく使いそうな、ユーザ作成を行う Cookbook を試してみようと思います。 GitHub からユーザ作成の Cookbook をクローン opscode の GitHub から users という Cookbook をクローンします。 $ cd ~/chef/chef-repo/cookbooks $ git clone git@github.com:opscode-cookbooks/users.git $ cd users ディレクトリ構成はこんな感じ。 $ tree . ├── CHANGELOG.md ├── CONTRIBUTING ├── LICENSE ├── README.md ├── metadata.rb ├── providers
前回 は、Chef Server のインストールと、Workstation のセットアップまで行いました。 今回は、Node を Chef Server に登録して Recipe を実行するところまでやってみたいと思います。 Node の準備 新たに Node 用の EC2 インスタンスを立ち上げ、セキュリティグループで ssh を許可しておきます。 OS は Amazon Linux、インスタンスタイプは t1.micro で試しました。 Chef Client のインストール EC2 にログインしたら、最初に Chef Client をインストールします。 前回は、RubyGems を使ってインストールを行いましたが、以下の方式でもインストール可能です。 $ sudo true && curl -L https://www.opscode.com/chef/install.sh | s
Cookbook情報 名称: apt 開発元: opscode Opscode site: http://community.opscode.com/cookbooks/apt Source: github.com/opscode-cookbooks/apt 評価したバージョン: v1.7.0 cookbook[apt]のレシピ編、LWRP編はこちら。 概要 debian/ubuntuのパッケージリポジトリ管理システムのaptの設定を行う。 解説 ubuntu系ではできるだけ入れておいたほうがよい。レシピの役割はパッケージリストの更新と、キャッシュサーバ/クライアントのセットアップ。 キャッシュサーバのクライアント設定はChefServerのSearchを使う参考になります。 サーバのインベントリを自動集約しておくと恩恵がありますよという例のひとつ。 ちなみにサーバをBootstrapしつ
Cookbook情報 名称: apt 開発元: opscode Opscode site: http://community.opscode.com/cookbooks/apt Source: github.com/opscode-cookbooks/apt 評価したバージョン: v1.7.0 cookbook[apt]のLWRP編、レシピ編はこちら。 概要 debian/ubuntuのパッケージリポジトリ管理システムのaptの設定を行う。 解説 cookbook[apt]の持つLWRPについて説明。任意のリポジトリ追加やパッケージのpinningが設定できる。 LWRPはCookbook名+Resource名で指定でき、任意のレシピ内で使います。利用したいResourceをもつCookbookをrun_listに入れておき、他のCookbookを作る時に呼び出します。 apt_repos
chef-soloで環境設定¶ chefはサーバ構成管理ツールです。構成を設定ファイルとして書き残しておき、 chefを実行すればそのとおりにサーバを構築してくれます。また、何度実行し ても同じように構築してくれますし、サーバ構成をいじったとしても修正して くれます。 というわけで、chefを使ってみたのでそのメモ。 事前準備¶ chefはrubyで作られていますので、rubyが必要です。また、chef自体のインス トールにはgemが楽ちんです。 chefにはサーバなどがありますが、今回は単独で実行できる chef-solo のみ を使います。 雛形作成¶ 後述するcookbookなどの雛形を作ってくれるRakefileがopscodeのサイトにあ ります。 githubのopscodeから取ってきます。 この構成をそのまま使うのが吉です。また、ここにあるRakefileを使うことで、 c
Jenkins おじさんと戯れること半日、うまくいったので備忘録を残しておく。 やりたかったのは Chef で構築したサーバーを Jenkins で CI する、というもの。このときサーバーはテストが終わる度に破棄して、テスト開始時に再度真っ新な状態から立ち上げたい。(こういうサーバーを壊して作ってというテストはなんという名前で呼ばれるのだろう?) 仮想サーバーを破棄/作成をプログラマブルにやるのはもちろん Vagrant プロビジョニングは Chef Chef の環境を整えるのに knife-solo 0.3.0.pre3 テストは serverspec コードは Github に上げる (https://github.com/naoya/jenkins-vagrant-test) CI は Jenkins という構成になっている。ひとまず Jenkins や Vagrant はローカル
最近のChefのブレイクで、サーバの構築も自動化でという潮流になっています。そんな中でチラホラ見受けられるのが、アプリのリリースもChefでという考え方です。私は微妙に違うのではないかなぁと思っているので、ちょっと考えを整理してみました。併せてCapistranoの紹介もしてみます。 Chefの役割 まずChefについてです。Chefの役割としては、サーバの状態を管理するものです。ここで言うサーバの状態というのは、各種ミドルウェアのインストール状態&設定です。いわいるサーバ構成ですね。またChefを使う最大のメリットは、開発環境やステージング環境、本番環境と全ての環境を同じスクリプトで構築するので、手作業によるミス等による微妙な差異が発生しなくなることです。 さてここで問題になるのが、サーバ上のアプリケーションのコードやデータベースのテーブル定義は、サーバの状態に入るのかという点です。入る
2013/02/18 2013/02/18 14:41 Vagrant + chef-solo 使って nginx + sinatra で HelloWorld! Markdown 手順書スラスラ書けてまじイノベーティブ!とか言ってたやつ誰だ! ( おれだ! ) Vagrant + chef-solo で nginx + sinatra で HelloWorld! してみました。 amazedkoumei / vagrant-centos-nginx_sinatra きっかけをくれたはこちらのエントリ Vagrant - naoyaのはてなダイアリー ちょっとしたテストのために壊してもいい環境が欲しいというのにももちろん使えますし、方々を見ていると組織の中で標準化された開発環境を全開発者に配布するときなんかにも使われているようですね。自分は EC2 でホストしているステージングサーバーへ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く