chef

TerraformをDigital Oceanで試してみる3 - provisionerにchefを使う

Terraformのprovisionerとしてchefを使うにはChefサーバが必要になります。 Chefサーバの準備が面倒な場合は、Hosted Chefで代用できます。Hosted Chefの設定については前回の記事が参考にしてください。 Chef Clientのインストール provisionerにChefを指定…

Hosted Chefを使ってみる

サーバがインターネットに接続可能でChefサーバを建てるまではないけど、少しChefサーバを使ってみたいというようなときにHosted Chefが便利なので使ってみました。 Chef 12のオープンソース版と25ノード制限について を見ると、5ノードまでは問題なく使える…

Omnibus InstallerでインストールしたChefのRubyでserverspecを実行する

chefのバージョンを確認する。 # chef-client -v Chef: 12.0.3 Rubyのバージョンを確認する。 /opt/chef/embedded/bin/ruby -v ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-linux] rubyなどはchef/embeddedに入っているので、serverspecのインスト…

chefdashを試す

chefdash by sidebolt を試してみます。 chefdashはchef-clientのノードの登録や、environment毎やserver毎にcookbookを実行するWebUIを提供するWebアプリケーションです。 必要なものを事前にインストールしておきます。 sudo apt-get install git git-core…

VagrantのCentOS 6.4にChef-Serverをインストールしようとはまった

sudo chef-server-ctl reconfigureを実行しようとしたら、次のようなエラーが出た。 Expected process to exit with [0], but received '22' ---- Begin output of curl -sf http://127.0.0.1:8000/_status ---- STDOUT: STDERR: ---- End output of curl -s…

ChefのCookBookで、virtualenvを使えるようにする

poise/python · GitHub を使ってPython環境を作ると、自作のCookBookでpipやvirtualenvが使えるようになります。 poise/python · GitHub で は、Pythonのインストール、pipのインストール、virtualenvのインストールを行います。 インストールする場合はbuil…

opscodeのCookBook(selinux)を読む

まずは、比較的難しいことをしておらず、シンプルなopscodeのCookBookを読んでみます。 今回の読んでみるCookBookは、opscode-cookbooks/selinux · GitHub です。 ディレクトリ構成は次のようになっています。 `-- selinux |-- CHANGELOG.md |-- CONTRIBUTIN…

chefのレシピを読み書きするときに知っておくと便利なこと1

only_if only_ifは評価結果がtrue(return値が0)の時に実行。 ruby_block ruby_blockを使うと、rubyのコードが記述可能になる。 ruby_block "{リソース名}" do block do Rubyのコードを記述 : end action {:create(Rubyのコードを実行する)|:nothing(何も…

Chefのお勉強2 - recipeの登録、利用

Workstation(今回はChefサーバ)で実行 利用するレシピはOPSCODEのgetting-started。レシピをChef Serverにアップロードする。 getting-startedはホームディレクトリに、chef-getting-started.txt を作成するレシピ。 # git clone https://github.com/opsco…

Chefのお勉強1 - CentOSでのChef Server環境の構築

今回はChefサーバ(Chef Server、兼Workstation(Chef Client))と、管理対象ノード(Nodes)の2台構成(CentOS 6.4)で環境を作ります。 事前準備 ホスト名を解決出来るようにしておく。 DNSを使わない場合は、/etc/hosts、/etc/sysconfig/networkを修正して、…