Chef - Configuration du client

Pour que le nœud Chef communique avec le serveur Chef, vous devez configurer le client Chef sur le nœud.

Chef Client

C'est l'un des composants clés du nœud Chef, qui récupère les livres de recettes du serveur Chef et les exécute sur le nœud. Il est également connu sous le nom de fournisseur Chef.

Ici, nous utiliserons Vagrant pour gérer VM. Vagrant peut également être configuré avec l'approvisionneur tel que le script Shell, Chef et Puppet pour mettre la VM dans un état souhaité. Dans notre cas, nous utiliserons Vagrant pour gérer les machines virtuelles en utilisant VirtualBox et le client Chef en tant que provisionneur.

Step 1 - Téléchargez et installez VirtualBox depuis https://www.virtualbox.org/wiki/downlod

Step 2 - Téléchargez et installez Vagrant sur http://downloads.vagrantup.com

Step 3 - Installez le plugin Vagrant Omnibus pour permettre à Vagrant d'installer le client Chef sur la VM.

$ vagrant plugin install vagrant-omnibus

Création et démarrage de Virtual

Step 1- Nous pouvons télécharger la boîte Vagrant requise à partir du repo vagrant Opscode. Téléchargez la boîte opscode-ubuntu-12.04 à partir de l'URL suivantehttps://opscode-vmbento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box

Step 2 - Une fois que vous avez le fichier Vagrant, téléchargez le chemin dont vous avez besoin pour éditer le fichier 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

Dans le programme ci-dessus, vous devez mettre à jour le nom <YOUR_ORG> avec le nom d'organisation correct ou requis.

Step 3- La prochaine étape après la configuration est de faire monter la boîte de vagabonds. Pour cela, vous devez vous déplacer vers l'emplacement où se trouve la boîte Vagrant et exécuter la commande suivante.

$ vagrant up

Step 4 - Une fois la machine en marche, vous pouvez vous connecter à la machine à l'aide de la commande suivante.

$ vagrant ssh

Dans la commande ci-dessus, vagrantfile est écrit dans un Ruby Domain Specific Language (DSL) pour configurer la machine virtuelle vagrant.

Dans le fichier vagrant, nous avons l'objet config. Vagrant utilisera cet objet de configuration pour configurer la VM.

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

À l'intérieur du bloc de configuration, vous indiquerez à vagrant quelle image de VM utiliser, afin de démarrer le nœud.

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

Dans l'étape suivante, vous direz à Vagrant de télécharger le plugin omnibus.

config.omnibus.chef_version = :latest

Après avoir sélectionné la case VM pour démarrer, configurez comment provisionner la box à l'aide de Chef.

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

À l'intérieur, vous devez configurer des instructions sur la façon de connecter le nœud virtuel au serveur Chef. Vous devez indiquer à Vagrant où vous devez stocker tous les éléments de Chef sur le nœud.

chef.provisioning_path = "/etc/chef"