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 |
次に、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 |
※ /root/chef-repo/.chef/bootstrap/centos-client.erbは、前回準備したknife bootstrapのテンプレートファイル
インストール結果の確認
以下のコマンドで、Chef Serverが今回インストールしたChef Clientを認識できているかを確認してみる。
※ Chef Serverノードにて実施 # knife client list |
上記の「XXXX」にChef Clientのインストール対象ノードのホスト名が表示されていればOK!