Chef - File e pacchetti

In Chef, la creazione di file di configurazione e lo spostamento di pacchetti sono i componenti chiave. Ci sono diversi modi in cui Chef gestisce lo stesso. Esistono diversi modi in cui Chef supporta nella gestione dei file e dei pacchetti software.

Installazione di pacchetti da repository di terze parti

Step 1 - Modifica la ricetta predefinita del ricettario.

[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 - Modifica i metadati per aggiungere dipendenza dal ricettario di apt.

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

Step 3 - Carica il ricettario modificato sul server Chef.

Step 4 - Verifica che il pacchetto che stai tentando di installare non sia ancora installato.

Step 5 - Convalida il repository predefinito.

Step 6 - Esegui Chef-Client sul nodo.

Step 7 - Convalida che il pacchetto richiesto sia installato.

Installazione del software dall'origine

Se è necessario installare un software che non è disponibile come pacchetto per una data piattaforma, è necessario compilarlo da soli. In Chef, possiamo farlo utilizzando la risorsa script.

Step 1 - Modifica la ricetta predefinita.

[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 - Carica il ricettario modificato sul server Chef.

Step 3 - Esegui lo Chef-Client sul nodo.

Step 4 - Verifica che nginx sia installato.