Chef-client-setup

提供:Dev Guides
移動先:案内検索

シェフ-クライアントのセットアップ

ChefノードがChefサーバーと通信できるようにするには、ノードでChefクライアントをセットアップする必要があります。

シェフクライアント

これはChefノードの主要コンポーネントの1つであり、Chefサーバーからクックブックを取得し、ノードで実行します。 Chefプロビジョニングツールとも呼ばれます。

ここでは、Vagrantを使用してVMを管理します。 Vagrantは、シェルスクリプト、Chef、Puppetなどのプロビジョニングツールで構成して、VMを目的の状態にすることもできます。 私たちの場合、Vagrantを使用して、VirtualBoxとChefクライアントをプロビジョニング機能として使用してVMを管理します。

ステップ2 *- http://downloads.vagrantup.com*でVagrantをダウンロードしてインストールします

  • ステップ3 *-Vagrant Omnibusプラグインをインストールして、VagrantがVMにChefクライアントをインストールできるようにします。
$ vagrant plugin install vagrant-omnibus

仮想の作成と起動

  • ステップ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"