タグ

Chefに関するlibero18のブックマーク (229)

  • 【資料公開】Chef ベーシックトレーニング

    みなさんこんにちは。@ryuzeeです。 これから新たにChefを学ぶ人向けに非常に基的なトレーニングの資料を作ったので公開します。 資料の構成は以下のとおりです。 まずDevOpsの文脈から自動化が必要な背景を説明Infrastructure as Codeについての利点を説明ChefのアーキテクチャChefの用語解説Vagrantで仮想マシンを2台使った一番単純なハンズオン(boxも用意済み)Serverspecを使ったCookbookのテストの書き方(VirtualBoxの仮想マシンの中でDockerを使っています)その他なお、2-3時間でさくっと触りながら全体像を掴むことを目的にしているので、網羅性はありません。 ハンズオン用のVagrantのboxには、あらかじめ、Chef DK(Development Kit)、Dockerなどが含まれており、すぐに触れると思います(ただしb

    【資料公開】Chef ベーシックトレーニング
  • Vagrantでknife-zeroを使うためのベストプラクティス | 割り箸ポテチ

    Vagrantでknife-zeroを試そうとして挫折する人が多いらしいので、自分の考えるベストプラクティスを書いてみます。 追記:記事の一部を更新しました。詳細は末尾の更新履歴でご確認ください。 以下、Vagrantを開発環境で利用することを想定しています。 下記のドキュメントを参考にしました。 Knife-ZeroとVagrant(単品VM) - Qiita TL;DRプライベートネットワークモードで立ち上げた2つのVMに、knife-zeroでレシピを適用する具体的な手順を説明します。 基方針は下記の通り。 コマンドラインでのパラメータを極力減らす。 IPアドレスの記述は.envrcに集約して、その他の設定ファイルやコマンドラインでは環境変数を使う。 適切に設定ファイルを書けば、下記のような一連のコマンドでレシピの適用まで実行することができます。 % cd knife_zero_e

  • Chefレシピ逆引きメモ - Qiita

    よく使うものを逆引きできるように。 アンチパターンを知る http://www.slideshare.net/JulianDunn/beginner-chef-antipatterns http://www.creationline.com/lab/3080 すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう cookbooksにはバージョンがあるが、environmentsやrolesにはない cookbooksとして分割すべきものはリポジトリを分けるべき 会社名つきの巨大なCookbookを作ってしまう 来組み合わせるべきでないものが混ざる危険がある プロジェクト別に分けるべき Environmentsを論理的な環境以上の目的で使ってしまう developmentとかproductionとか論理的な環境で使い、クラスタとかデータセンターといった割り当てに使わない Co

    Chefレシピ逆引きメモ - Qiita
  • あなたに合ったChefはどれ? 〜 おすすめ構成確認チャート #getchef - クリエーションライン株式会社

    一口にChef-Clientといっても、Chef-Solo、Chef-Clientローカルモード、Knife-Solo、Knife-Zeroとたくさんあるので、どれを選べばいいか迷ってしまうでしょう。さらにクライアント・サーバ構成を取ろうとすると、オンプレミス版Chef-Server、ホステッド版Chef-Serverが出てきます。 まずChefを活用する前に、あなたのインフラにはどのような構成がふさわしいか、チャートで簡単に確認してみましょう。なお、Chefバージョン12を前提としています。 Chef-Serverの機能が必要? Chef-Serverの機能とは、次のものが挙げられます。 Search Organization, Group, User 認証 承認 まず、おおざっぱにこれらの機能が必要かどうかを確認します。ここで注意してほしいのは、確認するのはChef-Serverの機能

    あなたに合ったChefはどれ? 〜 おすすめ構成確認チャート #getchef - クリエーションライン株式会社
  • #17 うわさのdatabase.ymlをどうしているか カヤックCW編 - KAYAC engineers' blog

    こんばんは。クライアントワーク(受託開発)チームのnobu_ohtaです。 この記事は tech.kayac.com Advent Calendar 2014 17日目です。 この記事では、弊社クライアントワーク(受託開発)チームで production 環境で Railsdatabase.yml と secrets.yml をどう運用しているかを紹介したいと思います。 この話題最近ちょくちょく見かけますが、@mirakuiさんがやっているPodcastの Admins Bar #3: Fluentd, Rails, ActiveRecord でも取り上げられています。 なぜ機密情報をハードコードしないほうがいいか Rails 4.1からsecrets.ymlやdatabase.ymlで機密情報は直書きせずに環境変数から読む設定ファイルが生成されるようになりました。 アプリのリポジト

    #17 うわさのdatabase.ymlをどうしているか カヤックCW編 - KAYAC engineers' blog
  • Chefを学ぶのが面倒な人のInfrastructure as Code with JSON - tkak's tech blog

    最近、いかにChefの学習コストを小さくしつつ、組織にインフラのコード化(Infrastructure as Code)を導入するか、について悶々と考えていたので、まとめてみた。 Chefの辛み インフラのコード化をするにあたって、Chefは最初に覚えることが多くてなかなか辛い、という話をよく耳にする。Chefの動作概念、Chefの各種リソースの使い方、Chefの周辺ツール群の使い方、Cookbookのコーディング規約など、Chefを使い始めるために覚えるべき内容は結構多い。組織が大きくなればなるほど学習コストはバカにならないし、インフラエンジニアに日常的にコードを書いてもらうことはなかなか難しい。そんな環境でInfrastructure as Codeを広めようとしても、現実的になかなかうまくいかない。インフラをコード化して業務改善がしたいのに、いつの間にかみんなにChefを広めることが

    Chefを学ぶのが面倒な人のInfrastructure as Code with JSON - tkak's tech blog
  • Knife-ZeroをマスターしてChef Soloの引退に備えよう! | さくらのナレッジ

    今年の6月にChef Soloは役割を終え、今後引退への道をたどると言うアナウンスがChefの公式ブログでありました。Chef Soloがなくなるということは、必ずChef Serverが必要になると言うことでしょうか?答えはなんとYesです。 しかし安心してください。そのためにChef Zeroが用意されています。一言で言うと、Chef Zeroはローカルで動かせるChef Serverです。 そしてChef Clientをローカルモードで動かすことでローカルのChef Zeroに接続するため、別のChef Serverは必要ありません。要するにChef Soloと同じような感覚でChefを使い続けることができます。 更にKnife-Zeroを使うとChef Solo同様にセットアップ先のマシンにChef Clientを簡単に入れることができます。そこで今回はこのKnife-Zeroを使

    Knife-ZeroをマスターしてChef Soloの引退に備えよう! | さくらのナレッジ
  • 2014年のChefとInfrastructure as code

    Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例

    2014年のChefとInfrastructure as code
  • Chefに挫折した人でも学べるはず "Chef実践入門" - Copy/Cut/Paste/Hatena

    Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus) 作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴出版社/メーカー: 技術評論社発売日: 2014/05/22メディア: 単行(ソフトカバー)この商品を含むブログ (4件) を見る どうもこんにちは。Chefに挫折したk1LoWです。 この度、CakePHP的なご縁から"Chef実践入門"のレビューをさせてもらうという貴重な機会をもらい、良い経験をさせてもらったあげく、さらに見誌をいただきました。 ありがとうございます!! というわけで、書籍の紹介をさせてください。 Chefを挫折した人でも学べる入門書 なぜおまえがChefなのか それは自分も疑問に思うところではありますが、「Chefに挫折した人間」として、レビューを通してChefに再入門させてもらいました。 逆にいうとこのは "

    Chefに挫折した人でも学べるはず "Chef実践入門" - Copy/Cut/Paste/Hatena
  • test-kitchenでインフラのTDDに挑戦[Rails/nginx/MySQL/rbenv]

    これまでVagrantやChefをつかってインフラのコード化を勉強してきましたが、今回はさらに一歩進めてServerspecを使ったインフラのテストと、『test-kitchen』を使ったTDDにチャレンしてみました! 慣れてくるとtest-kitchenのコマンドで設定をやり直し => インフラのテストがソースコードを書くような感覚で、インフラを構築できるのがすごく心地良かったです。 ようやくですが、localのvagrantと『AWS EC2』、『Digital Ocean』に対応しました。コマンドひとつでChefを適用したり、Serverspecでリモートの環境をテストできます! (05-02 08:35) Rubyサーバ・デプロイまでのチェックリストを追加 🐝 今回のソースコードVagrant/Digital Ocean/AWS EC2上にnginx/MySQL/rbenv/Ru

    test-kitchenでインフラのTDDに挑戦[Rails/nginx/MySQL/rbenv]
  • コンテナ事例 CircleCI, Cucumber-Chef

    dots. IT勉強会で発表させて頂きました、ランサーズ開発環境のDocker移行に関する資料です。 サービスの拡張に伴い、多数の開発環境が必要になったため、それを効率良く管理するためDockerを採用した話です。 ・既存開発環境との互換性維持 ・番環境との構成共通化 ・非エンジニアでも構築、運用できる仕組み を意識した、目的達成の手段としてのDocker運用方法を紹介いたしました。

    コンテナ事例 CircleCI, Cucumber-Chef
  • chefでインストール済みかどうかの判定にpacoを使うと便利 - UNIX的なアレ

    cookbookを書くときの冪等性 cookbookはインストール時だけでなく、何度実行しても同じ状態に保たれることが重要視されます。 chef業界ではこれを冪等性(べきとうせい)と読んでいたりします。これは設定ファイルやパッケージのインストールなど、すべてに当てはまります。 例えば、パッケージシステム経由でvimをインストールするようば場合のrecipeは以下のようにして書きます。 package 'vim' このようにすることで、それぞれのディストリビューションにあったパッケージシステムをつかってvimをインストールしてくれます。当然、二重にインストールされることはありません。 sourceからインストールするcookbook たとえばCentOSにphpをパッケージ経由でインストールすると、ちょっと古いバージョンのものがインストールされてしまいます。 新しいバージョンを使いたい場合は

    chefでインストール済みかどうかの判定にpacoを使うと便利 - UNIX的なアレ
  • busser-rspec による Serverspec テスト #opschef_ja - クリエーションライン株式会社

    Busser::RunnerPlugin::Rspec(以下 busser-rspec)とは、テストフレームワークBusserのRSpecプラグインです。 Cookbookテストフレームワークtest-kitchen 1.0にて、RSpecを用いたテストを行えます。 また、ServerspecはRSpecテストなので、Busser::RunnerPlugin::Serverspec(以下 busser-serverspec)を用いずにbusser-rspecで実行することも可能です。 Serverspecの適用 まず、作業マシンにてRubyGemsでServerspecをインストールしてください。 % gem install serverspec --no-rdoc --no-ri Fetching: serverspec-0.5.0.gem (100%) Successfully ins

    busser-rspec による Serverspec テスト #opschef_ja - クリエーションライン株式会社
  • グリーのインフラに Chef を導入した話 | GREE Engineering

    類似のソフトウェアとして、Puppet や Ansible といったものもあります。こういったインフラ自動化まわりのソフトウェアについてはペパボの宮下さんの インフラ系技術の流れ が参考になります。 Chef in グリー さて、グリーでのChefまわりの構成をご紹介します。下図が全体の構成です。 開発環境 開発は各個人のマシン上で仮想マシンを立ち上げて行なっています。クックブックの開発では、クックブックを開発する人が serverspec でテストを書くようにしていて、構築後のサーバが期待通り動くことをテストしています。一つのクックブックでも設定値などの条件によって動作が変わってくるため、test-kitchen を用いて複数の条件(ランリストやノードのアトリビュート(以下、「アトリビュート」)などの組み合わせ)でテストを行っています。 また、一部仮想マシンを使う必要がないテスト(att

    グリーのインフラに Chef を導入した話 | GREE Engineering
  • 2013年Chefの話題を一挙に振り返るまとめ | Engine Yard Blog JP

    早いもので2013年もまもなく終わります。特にChefについては今年は大きな飛躍の1年になりました。Chefについては話題の流れも多く、自身としても何があったのかを即座には思い出せません。今回はすでにChefを使っている人の話題の復習や、Chefをまだキャッチアップしていない人が今からでも間に合う情報収集としてまとめてみます。 はてなブックマーク上でも2013年の記事でChefタグが付けられた3ブックマーク以上の記事が800エントリを超え、ブックマークの回数は3万2千回を超えるというとてつもない状況です。今回はその中でも100ブックマーク以上が付いた記事の中から特に注目が集まった話題を時系列で振り返ります。 2013年1月:「兆し」 2013年早々にChefの大躍進の契機になるエントリが@naoya_itoさんのブログに投稿されます。「開発メモ#4 : EC2スナップショットとの差分は c

    2013年Chefの話題を一挙に振り返るまとめ | Engine Yard Blog JP
  • Chefのレシピは上から下に実行されるという誤解 | Engine Yard Blog JP

    Engine Yardを含むさまざまな場面で利用が広がったChefですが、その動作原理やアーキテクチャについてご存じない方もいることに気が付きました。細かなアーキテクチャを理解しなくても使うことができるというChefの長所を示しているともいえますが、細かな挙動を制御する際にはやはり動作原理などの知識があると役立ちます。 今回は表題のとおりレシピが実行される際のサイクルについてあまり知られていない部分を紹介します。 Chefの実行サイクルとリソースコレクション Chef(Chef Client、Chef Solo)が実行された際には直ちにサーバの設定が始まるわけではなく、さまざまなステップ毎に処理が実行されます。大まかには下記のようなステップになります。 Chef Serverとの通信、認証処理 Chef Serverからのクックブック、データの取得 クックブックのコンパイル ノードの設定

    Chefのレシピは上から下に実行されるという誤解 | Engine Yard Blog JP
  • chefとかvagrantとかfabricとか - wyukawa's diary

    chefを使いそうなのでその辺素振りしてみる。 chefの前にまずvagrantとvirtualboxをそれぞれダウンロードしてインストール Boxファイルの追加 $ vagrant box add centos63 https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box $ vagrant init centos63 $ vagrant box list centos63 (virtualbox) saharaプラグインの追加 $ vagrant plugin install sahara $ vagrant plugin list sahara (0.0.16) sandbox on $ vagrant sandbox on 0%...10%...20%...30%...40%...50%...60%

    chefとかvagrantとかfabricとか - wyukawa's diary
  • 英語で検索しづらいchef vs ロゴがイマイチなansible

    ■まえがき 構成管理ツールが便利だよねっていう話を数年前から良く聞いていて、僕みたいな別にインフラ専門じゃないエンジニアでも使うようになる時代がやってきました。 個人的な話ですが、主な用途はvagrantへのミドルウェアデプロイです。まっさらなVMに必要なものをインストールしたりするだけで、目的が浅いw(設定ファイルとかはデフォww) 今回はchefとansibleを両方触ってみて、色んな人の記事を見た上で色々比較してみようと思います。 ただ、できることは両方やろうと思えば出来ると思うので、アレが出来ないこれが出来ないっていう比較はマサカリ怖いのであまり書かないようにします。。(わかってないなと思ったらやさしく教えてください><。) というわけで今回比較すべきはとっつきやすさと運用方針の観点から比べてみたいなと思いました。 ■それぞれの特徴比較 下記スライドがわかりやすかった。22ページ目

    英語で検索しづらいchef vs ロゴがイマイチなansible
  • knife-soloを使わない低依存なChef&Vagrant連携術 · DQNEO日記

    knife-soloのインスコに半日を費やしたあげくインスコできなかったDQNEOですこんにちは。 knife-soloは何がいいのかというと、 「手元のレシピをリモートにrsyncで転送した後chef-soloを実行し、その出力をストリームで送り返してくれる」のです。 ふむふむ。 え、ちょっと待って。 それってrsyncとsshでやればよくね? しかもVagrantはデフォルトでホストとゲストでディレクトリ共有できる機能があるので、レシピを共有領域に置いておけばrsyncで転送する必要もないわけです。 とういわけでやってみたらできました。 手順 ホスト側のマシン(WindowsとかCygwinとかMacとか)でクックブックを編集した後、 ssh remotehost 'cd /vagrant/chef-repo && sudo chef-solo -c solo.rb -j ./loca

    knife-soloを使わない低依存なChef&Vagrant連携術 · DQNEO日記
  • ChefでRaspberry Piをセットアップする - AnyType

    仕事で複数台のRaspberry Piをセットアップすることになったので、Chefを使ってセットアップを自動化することにした。Chef、Vagrant、Serverspecなどいろいろな周辺ツールの全体像を整理したり、それらを使ったワークフローを体験できてよかったので、ブログとして残しておく。 また、セットアップに使ったChefのレポジトリはgithubホストしてあるので参考にどうぞ。 https://github.com/naoty/chef-repo 今回、Chefで自動化したのは以下の通り。 apt-getの更新 gitのインストール rbenvを使ってRuby 2.0.0-p247をインストール nodebrewを使って最新安定版のnode.jsをインストール Wiringpi(GPIOを簡単に操作するためのライブラリ)のインストール mjpg-streamer(Webカメラを使

    ChefでRaspberry Piをセットアップする - AnyType