Chef - Fichiers et paquets

Dans Chef, la création de fichiers de configuration et le déplacement de packages sont les composants clés. Chef gère la même chose de plusieurs manières. Chef prend en charge plusieurs manières de traiter les fichiers et les progiciels.

Installation de packages à partir d'un dépôt tiers

Step 1 - Modifiez la recette par défaut du livre de cuisine.

[email protected]:~/chef-repo $ subl cookbooks/test_cookbook/recipes/default.rb 
include_recipe "apt" 
apt_repository "s3tools" do 
   uri "http://s3tools.org/repo/deb-all" 
   components ["stable/"] 
   key "http://s3tools.org/repo/deb-all/stable/s3tools.key" 
   action :add 
end 
package "s3cmd"

Step 2 - Modifiez les métadonnées pour ajouter une dépendance au livre de recettes apt.

[email protected]:~/chef-repo $ subl cookbooks/my_cookbook/metadata.rb 
... 
depends "apt"

Step 3 - Téléchargez le livre de cuisine modifié sur le serveur Chef.

Step 4 - Vérifiez que le package que vous essayez d'installer n'est pas encore installé.

Step 5 - Validez le dépôt par défaut.

Step 6 - Exécutez Chef-Client sur le nœud.

Step 7 - Vérifiez que le package requis est installé.

Installation du logiciel à partir de la source

Si l'on a besoin d'installer un logiciel qui n'est pas disponible en tant que package pour une plateforme donnée, il faut le compiler soi-même. Dans Chef, nous pouvons le faire en utilisant la ressource de script.

Step 1 - Modifiez la recette par défaut.

[email protected]:~/chef-repo $ subl cookbooks/my_cookbook/recipes/ 
default.rb 
version = "1.3.9" 
bash "install_nginx_from_source" do 
   cwd Chef::Config['file_cache_path'] 
   code ≪-EOH 
      wget http://nginx.org/download/nginx-#{version}.tar.gz 
      tar zxf nginx-#{version}.tar.gz && 
      cd nginx-#{version} && 
      ./configure && make && make install 
   EOH

Step 2 - Téléchargez le livre de cuisine modifié sur le serveur Chef.

Step 3 - Exécutez le Chef-Client sur le nœud.

Step 4 - Vérifiez que le nginx est installé.