Chef-client-setup
シェフ-クライアントのセットアップ
ChefノードがChefサーバーと通信できるようにするには、ノードでChefクライアントをセットアップする必要があります。
シェフクライアント
これはChefノードの主要コンポーネントの1つであり、Chefサーバーからクックブックを取得し、ノードで実行します。 Chefプロビジョニングツールとも呼ばれます。
ここでは、Vagrantを使用してVMを管理します。 Vagrantは、シェルスクリプト、Chef、Puppetなどのプロビジョニングツールで構成して、VMを目的の状態にすることもできます。 私たちの場合、Vagrantを使用して、VirtualBoxとChefクライアントをプロビジョニング機能として使用してVMを管理します。
- ステップ1 *-https://www.virtualbox.org/wiki/Downloads[https://www.virtualbox.org/wiki/downlod]からVirtualBoxをダウンロードしてインストールします
ステップ2 *- http://downloads.vagrantup.com*でVagrantをダウンロードしてインストールします
- ステップ3 *-Vagrant Omnibusプラグインをインストールして、VagrantがVMにChefクライアントをインストールできるようにします。
$ vagrant plugin install vagrant-omnibus
仮想の作成と起動
- ステップ1 *-Opscode vagrantリポジトリから必要なVagrantボックスをダウンロードできます。 次のURLからopscode-ubuntu-12.04ボックスをダウンロードしますhttp://www.vagrantbox.es/[https://opscode-vmbento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box]
- ステップ2 *-Vagrantファイルを入手したら、Vagrantファイルを編集するために必要なパスをダウンロードします。
vipin@laptop:~/chef-repo $ subl Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "opscode-ubuntu-12.04"
config.vm.box_url = https://opscode-vm-bento.s3.amazonaws.com/
vagrant/opscode_ubuntu-12.04_provisionerless.box
config.omnibus.chef_version = :latest
config.vm.provision :chef_client do |chef|
chef.provisioning_path = "/etc/chef"
chef.chef_server_url = "https://api.opscode.com/
organizations/<YOUR_ORG>"
chef.validation_key_path = "/.chef/<YOUR_ORG>-validator.pem"
chef.validation_client_name = "<YOUR_ORG>-validator"
chef.node_name = "server"
end
end
上記のプログラムでは、正しいまたは必要な組織名で<YOUR_ORG>名を更新する必要があります。
- ステップ3 *-構成後の次のステップは、浮浪者ボックスを立ち上げることです。 そのためには、Vagrant boxがある場所に移動して、次のコマンドを実行する必要があります。
$ vagrant up
- ステップ4 *-マシンが起動したら、次のコマンドを使用してマシンにログインできます。
$ vagrant ssh
上記のコマンドでは、vagrantfileは、vagrant仮想マシンを構成するためのRubyドメイン固有言語(DSL)で記述されています。
vagrantファイルには、configオブジェクトがあります。 Vagrantはこの構成オブジェクトを使用してVMを構成します。
Vagrant.configure("2") do |config|
…….
End
構成ブロック内で、ノードを起動するために、使用するVMイメージをvagrantに指示します。
config.vm.box = "opscode-ubuntu-12.04"
config.vm.box_url = https://opscode-vm-bento.s3.amazonaws.com/
vagrant/opscode_ubuntu-12.04_provisionerless.box
次のステップでは、Vagrantにオムニバスプラグインをダウンロードするように指示します。
config.omnibus.chef_version = :latest
起動するVMボックスを選択したら、Chefを使用してボックスをプロビジョニングする方法を構成します。
config.vm.provision :chef_client do |chef|
…..
End
この中に、仮想ノードをChefサーバーに接続する方法に関する指示をセットアップする必要があります。 Vagrantに、ノード上のすべてのChefのものを保存する必要がある場所を伝える必要があります。
chef.provisioning_path = "/etc/chef"