Chef - Configuração do Cliente

Para fazer o nó Chef se comunicar com o servidor Chef, você precisa configurar o cliente Chef no nó.

Cliente Chef

Este é um dos principais componentes do nó Chef, que recupera os livros de receitas do servidor Chef e os executa no nó. Ele também é conhecido como provisionador Chef.

Aqui, usaremos o Vagrant para gerenciar VM. O Vagrant também pode ser configurado com o provisionador, como script Shell, Chef e Puppet para colocar a VM em um estado desejado. Em nosso caso, usaremos o Vagrant para gerenciar VMs usando o VirtualBox e o cliente Chef como provisionador.

Step 1 - Baixe e instale o VirtualBox de https://www.virtualbox.org/wiki/downlod

Step 2 - Baixe e instale o Vagrant em http://downloads.vagrantup.com

Step 3 - Instale o plugin Vagrant Omnibus para permitir que o Vagrant instale o cliente Chef na VM.

$ vagrant plugin install vagrant-omnibus

Criação e inicialização virtual

Step 1- Podemos baixar a caixa Vagrant necessária do repositório Opscode vagrant. Baixe a caixa opscode-ubuntu-12.04 no seguinte URLhttps://opscode-vmbento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box

Step 2 - Assim que tiver o arquivo Vagrant, baixe o caminho que você precisa para editar o arquivo 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

No programa acima, você precisa atualizar o nome <YOUR_ORG> com o nome da organização correto ou obrigatório.

Step 3- O próximo passo após a configuração é levantar a caixa do vagrant. Para isso, você precisa ir até o local onde a caixa do Vagrant está localizada e executar o seguinte comando.

$ vagrant up

Step 4 - Assim que a máquina estiver ligada, você pode fazer login nela usando o seguinte comando.

$ vagrant ssh

No comando acima, vagrantfile é escrito em Ruby Domain Specific Language (DSL) para configurar a máquina virtual vagrant.

No arquivo vagrant, temos o objeto config. O Vagrant usará este objeto de configuração para configurar a VM.

Vagrant.configure("2") do |config| 
……. 
End

Dentro do bloco de configuração, você dirá ao vagrant qual imagem VM usar, para inicializar o nó.

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

Na próxima etapa, você dirá ao Vagrant para baixar o plugin omnibus.

config.omnibus.chef_version = :latest

Depois de selecionar a caixa VM para inicializar, configure como provisionar a caixa usando Chef.

config.vm.provision :chef_client do |chef| 
….. 
End

Dentro disso, você precisa configurar instruções sobre como conectar o nó virtual ao servidor Chef. Você precisa dizer ao Vagrant onde você precisa armazenar todas as coisas do Chef no nó.

chef.provisioning_path = "/etc/chef"