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.