Szef kuchni - Ruby Gems with Recipes

Przepisy są kluczowymi elementami składowymi książki kucharskiej, która jest w zasadzie kodem Rubiego. W przepisie Chefa można używać wszystkich funkcji języka Ruby. W większości przypadków wbudowana funkcjonalność Rubiego jest wystarczająca, ale czasami może być konieczne użycie dodatkowych klejnotów Ruby. Na przykład, jeśli trzeba uzyskać dostęp do bazy danych MySQL z samego przepisu.

Przepis szefa kuchni umożliwia zdobycie wymaganych klejnotów Ruby, aby użyć ich w ramach tego samego przepisu.

Używanie iptable Gem w podanym przepisie

Step 1 - Edytuj domyślny przepis z książki kucharskiej i zainstaluj klejnot, który będzie używany w przepisie.

vipin@laptop:~/chef-repo $ subl 
cookbooks/my_cookbook/recipes/default.rb 
chef_gem 'ipaddress' 
require 'ipaddress' 
ip = IPAddress("192.168.0.1/24") 
Chef::Log.info("Netmask of #{ip}: #{ip.netmask}")

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

vipin@laptop:~/chef-repo $ knife cookbook upload my_cookbook 
Uploading my_cookbook [0.1.0]

Step 3 - Uruchomiony klient Chef, aby zobaczyć dane wyjściowe.

user@server $ sudo chef-client 
...TRUNCATED OUTPUT... 
[2013-01-18T14:02:02+00:00] INFO: Netmask of 192.168.0.1: 
255.255.255.0 
...TRUNCATED OUTPUT...

Metoda pracy

Kroki uruchamiania programu Chef składają się z fazy kompilacji, w której kompiluje wszystkie zasoby, oraz fazy wykonywania, w której Chef uruchamia dostawców zasobów w celu połączenia węzła z żądanym stanem. Jeśli potrzebujesz jakiegoś klejnotu Ruby w książce kucharskiej, musisz zainstalować klejnot w fazie komplikacji.

Zasób chef_gem zrobi dokładnie to samo, aw Chef, Omnibus to jedyny sposób pracy. Jego główną funkcją jest udostępnianie klejnotów samemu Szefowi Kuchni.