Chef - Pliki i pakiety

W Chef tworzenie plików konfiguracyjnych i przenoszenie pakietów to kluczowe elementy. Chef zarządza tym samym na wiele sposobów. Istnieje wiele sposobów, w jakie Chef obsługuje pliki i pakiety oprogramowania.

Instalowanie pakietów z repozytorium innych firm

Step 1 - Edytuj domyślny przepis z książki kucharskiej.

vipin@laptop:~/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 - Edytuj metadane, aby dodać zależność od książki kucharskiej apt.

vipin@laptop:~/chef-repo $ subl cookbooks/my_cookbook/metadata.rb 
... 
depends "apt"

Step 3 - Prześlij zmodyfikowaną książkę kucharską na serwer Chef.

Step 4 - Sprawdź, czy pakiet, który próbujesz zainstalować, nie jest jeszcze zainstalowany.

Step 5 - Sprawdź poprawność domyślnego repozytorium.

Step 6 - Uruchom Chef-Client na węźle.

Step 7 - Sprawdź, czy wymagany pakiet jest zainstalowany.

Instalowanie oprogramowania ze źródła

Jeśli trzeba zainstalować oprogramowanie, które nie jest dostępne w pakiecie dla danej platformy, należy je samodzielnie skompilować. W Chef możemy to zrobić za pomocą zasobu skryptu.

Step 1 - Edytuj domyślną recepturę.

vipin@laptop:~/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 - Prześlij zmodyfikowaną książkę kucharską na serwer Chef.

Step 3 - Uruchom Chef-Client na węźle.

Step 4 - Sprawdź, czy nginx jest zainstalowany.