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"