Chef - Configuración del cliente

Para que el nodo Chef se comunique con el servidor Chef, es necesario configurar el cliente Chef en el nodo.

Cliente Chef

Este es uno de los componentes clave del nodo Chef, que recupera los libros de cocina del servidor Chef y los ejecuta en el nodo. También se le conoce como el aprovisionador Chef.

Aquí, usaremos Vagrant para administrar VM. Vagrant también se puede configurar con el aprovisionador, como el script Shell, Chef y Puppet para llevar la VM al estado deseado. En nuestro caso, usaremos Vagrant para administrar VM usando VirtualBox y el cliente Chef como aprovisionador.

Step 1 - Descargue e instale VirtualBox desde https://www.virtualbox.org/wiki/downlod

Step 2 - Descargue e instale Vagrant en http://downloads.vagrantup.com

Step 3 - Instale el complemento Vagrant Omnibus para permitir que Vagrant instale el cliente Chef en la VM.

$ vagrant plugin install vagrant-omnibus

Creación y arranque virtual

Step 1- Podemos descargar la caja Vagrant requerida desde el repositorio vagabundo de Opscode. Descargue el cuadro opscode-ubuntu-12.04 de la siguiente URLhttps://opscode-vmbento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box

Step 2 - Una vez que tenga el archivo Vagrant, descargue la ruta que necesita para editar el archivo Vagrant.

[email protected]:~/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

En el programa anterior, debe actualizar el nombre de <YOUR_ORG> con el nombre de organización correcto o requerido.

Step 3- El siguiente paso después de la configuración es levantar la caja de vagabundos. Para esto, debe moverse a la ubicación donde se encuentra Vagrant box y ejecutar el siguiente comando.

$ vagrant up

Step 4 - Una vez que la máquina está encendida, puede iniciar sesión en la máquina usando el siguiente comando.

$ vagrant ssh

En el comando anterior, vagrantfile está escrito en un lenguaje específico de dominio de Ruby (DSL) para configurar la máquina virtual vagrant.

En el archivo vagrant, tenemos el objeto de configuración. Vagrant usará este objeto de configuración para configurar la VM.

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

Dentro del bloque de configuración, le dirás a vagrant qué imagen de VM usar para iniciar el nodo.

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

En el siguiente paso, le indicará a Vagrant que descargue el complemento ómnibus.

config.omnibus.chef_version = :latest

Después de seleccionar la caja de VM para arrancar, configure cómo aprovisionar la caja usando Chef.

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

Dentro de esto, debe configurar instrucciones sobre cómo conectar el nodo virtual al servidor Chef. Debe decirle a Vagrant dónde debe almacenar todas las cosas de Chef en el nodo.

chef.provisioning_path = "/etc/chef"