ダメSE uramonの奮闘記

インフラ関連技術など

Chef Clientのインストール

 前回準備したknife bootstrapの仕組みを利用して、Chef Clientをインストールしてみる。

 

環境など

 今回のChef Clientのインストール対象ノードの環境と、Chef Clientのバージョンは以下の通り。

  OS

CentOS 6.4 ※ちなみに、Chef Serverのノードも同一OS

Chef Clientのバージョン

11.4.0 ※ OPSCODE社のホームページから、RPMをダウンロードしておく。

 

SSHの自動ログインの設定

 knife bootstrapでは、sshの自動ログインを利用する為、事前にChef Serverノードの公開鍵をChef Clientインストール対象ノードに設定しておく必要がある。

 まずは、以下をChef Serverノードで実行する。

※ Chef Serverノードにて実施

# ssh-keygen -t rsa
   Generating public/private rsa key pair
   :
   Your public key has been saved in ~/.ssh/id_rsa.pub.
   :

 

 次に、Chef Clientノードの~/.ssh/authorized_keysにChef Serverノードで作成した公開鍵(id_rsa.pub)の中身を追記する。

※ Chef Clientインストール対象ノードにて実施

# vi ~/.ssh/authorized_keys

 

Chef ClientのRPM配置

 今回は、インターネット非接続環境でのインストールなので、knife bootstrapを使用する場合でも、インストール対象ノード上にRPMが事前に配置されている必要がある。

 そこで、scpでChef Serverノードからインストール対象ノードの/tmpにRPMを配置してやる。

※ Chef Serverノードにて実施

# scp /root/chef-repo/.chef/rpm/chef-11.4.0-1.el6.x86_64.rpm xxx.xxx.xxx.xxx:/tmp

  ※ 今回は、/root/chef-repo/.chef/rpmというディレクトリにRPMを準備しておいた。「XXX.XXX.XXX.XXX」は、インストール対象ノードのIPアドレス

 

knife bootstrapの実行

 準備が整ったので、早速実行してみる。

※ Chef Serverノードにて実施

# knife bootstrap XXX.XXX.XXX.XXX --template-file /root/chef-repo/.chef/bootstrap/centos-client.erb
Bootstrapping Chef on XXXX

Chef Client finished, 0 resources updated

  ※ /root/chef-repo/.chef/bootstrap/centos-client.erbは、前回準備したknife bootstrapのテンプレートファイル

 

インストール結果の確認

 以下のコマンドで、Chef Serverが今回インストールしたChef Clientを認識できているかを確認してみる。

※ Chef Serverノードにて実施

# knife client list
XXXX
chef-validator
chef-webui

 

 上記の「XXXX」にChef Clientのインストール対象ノードのホスト名が表示されていればOK!