そういうことだったんですね

いろいろ調べたり学んだりしたことを忘れないように書き連ねています

chef

chef + vagrant - 仮想環境をラクにする

(adsbygoogle = window.adsbygoogle || []).push({}); vagrant (べいぐらんと) を使って仮想環境をラクに使えるようだ。 chef のテストに便利。設定ファイルを用意したり概念を理解したりで 敷居がちょっと高いが、慣れれば簡単だった。vagrantの使い方を説…

chef - git レポジトリを扱う

(adsbygoogle = window.adsbygoogle || []).push({}); 最近のアプリケーションは git clone してパスを設定するだけ、 というものも増えてますが、chefにも git リソースがあります。git のリモートリポジトリと同期をとり、更新を検出してくれる 点で execu…

chef - knife solo を使う

chef-solo を簡単に使うには knife solo を使います。 chef-serverを使わなくてもリモート実行できるので楽に一元管理できます。 前提 以下の準備が必要です。 ssh でリモートアクセスできること (パスフレーズ無が好ましい) sudo でroot権限になれること イ…

chef - ohai でシステム情報を確認する

chef-client (chef-solo) で使用している、システムのインベントリ情報を JSON形式で出力するツールが用意されています。 $ ohai { "languages": { "ruby": { "platform": "x86_64-linux", "version": "2.0.0", "release_date": "2013-11-22", "target": "x8…

chef - レシピの基礎(4)

ユーザやグループを作成したい システムのユーザおよびグループを追加するには、userリソースとgroupリソースを使います。 user user "www" do comments "web server" home "/home/www" shell "/sbin/nologin" uid 200 gid 200 supports :manage_home => fal…

chef - レシピの基礎(3)

サービスの設定をする サーバ類の起動・終了などをchef-clientで管理するには service リソースを使います。次の例では、mysqld をマシン起動時に自動起動させるようにし、 かつ、mysqldサーバを起動します。 service "mysqld" do action [:enable, :start] …

chef - レシピの基礎(2)

コマンドを実行する execute リソースを使います execute "do command" do command "foo bar" end packageリソースなどとは異なり、冪等性(何度操作しても 同じ状態となる性質)が確保されません。not_if / only_if などで制御する必要があります。 execute…

chef - レシピの基礎(1)

一部を変数として使いたい Attributes を使います。設定方法は、/cookbooks/attributes/default.rb に、 以下のように指定します。もちろんruby の文法が使えます。attributes/default.rb default["ruby"]["version"] = "2.1.0" recipe中で使用するには node…

chef - サーバ構成を管理する

サーバの設定(ソフトのインストールやサーバの起動など)をスクリプト に記述して、更新対象のサーバで実行させるツールです。 このツールで、同じ役割のサーバの状態を同じに保つことができます。 (もちろんデータベースの中身やログなどは異なりますが)…