Chef - Archivos y paquetes

En Chef, la creación de archivos de configuración y el movimiento de paquetes son los componentes clave. Hay varias formas en que Chef gestiona lo mismo. Chef apoya el manejo de archivos y paquetes de software de varias formas.

Instalación de paquetes desde repositorios de terceros

Step 1 - Edite la receta predeterminada del libro de recetas.

[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 - Edite los metadatos para agregar dependencia en el libro de cocina de apt.

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

Step 3 - Cargue el libro de cocina modificado en el servidor de Chef.

Step 4 - Valide que el paquete que está intentando instalar aún no esté instalado.

Step 5 - Validar el repositorio predeterminado.

Step 6 - Ejecute Chef-Client en el nodo.

Step 7 - Valide que el paquete requerido esté instalado.

Instalación de software desde la fuente

Si se necesita instalar un software que no está disponible como paquete para una plataforma determinada, es necesario compilarlo uno mismo. En Chef, podemos hacer esto usando el recurso de script.

Step 1 - Edite la receta predeterminada.

[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 - Cargue el libro de cocina modificado en el servidor de Chef.

Step 3 - Ejecute Chef-Client en el nodo.

Step 4 - Validar que el nginx esté instalado.