Szef kuchni - konfiguracja solo
Chef-Solo to narzędzie o otwartym kodzie źródłowym, które działa lokalnie i umożliwia udostępnianie maszyn gości za pomocą książek kucharskich Chef bez komplikacji związanych z konfiguracją klienta i serwera Chef. Pomaga w wykonywaniu książek kucharskich na samodzielnie utworzonym serwerze.
Przed uruchomieniem Chef-Solo na komputerze lokalnym należy zainstalować następujące dwa pliki na komputerze lokalnym.
Solo.rb - Ten plik informuje szefa kuchni o tym, gdzie znaleźć książki kucharskie, role i torby z danymi.
Node.json - Ten plik ustawia listę uruchomień i wszelkie atrybuty specyficzne dla węzła, jeśli jest to wymagane.
solo.rb Konfiguracja
Poniżej przedstawiono kroki konfiguracji solo.rb.
Step 1 - Utwórz plik solo.rb w repozytorium szefa kuchni.
current_dir = File.expand_path(File.dirname(__FILE__))
file_cache_path "#{current_dir}"
cookbook_path "#{current_dir}/cookbooks"
role_path "#{current_dir}/roles"
data_bag_path "#{current_dir}/data_bags"
Step 2 - Dodaj plik do repozytorium git.
$ git add solo.rb
Step 3 - Utwórz plik node.json w repozytorium szefa kuchni z następującą zawartością.
{
"run_list": [ "recipe[ntp]" ]
}
Step 4 - Zdobądź książkę kucharską ntp w repozytorium szefa kuchni za pomocą noża.
vipin@laptop:~/chef-repo $ knife cookbook site install ntp
Installing ntp to /Users/mma/work/chef-repo/cookbooks
…TRUNCATED OUTPUT…
Cookbook ntp version 1.3.0 successfully installed
Step 5 - Dodaj plik node.json do Git.
$ git add node.json
Step 6 - Zatwierdź i prześlij pliki do repozytorium git.
vipin@laptop:~/chef-repo $ git commit -m "initial setup for Chef Solo"
vipin@laptop:~/chef-repo $ git push
Counting objects: 4, done.
Delta compression using up to 4 threads.
...TRUNCATED OUTPUT...
To [email protected]:mmarschall/chef-repo.git
b930647..5bcfab6 master -> master
Uruchamianie książki kucharskiej na Node
Step 1 - Zaloguj się do węzła, w którym chcesz udostępnić Chef-Solo.
Step 2 - Sklonuj repozytorium szefa kuchni na komputerze.
$ git clone $URL_PATH
Step 3 - płyta CD do repozytorium szefa kuchni.
$ cd chef-repo
Na koniec uruchom Chef-Solo, aby połączyć węzeł -
$ sudo chef-solo -c solo.rb -j node.json
[2017-20-08T22:54:13+01:00] INFO: *** Chef 11.0.0 ***
[2017-20-08T22:54:13+01:00] INFO: Setting the run_list to
["recipe[ntp]"] from JSON
...TRUNCATED OUTPUT...
[2012-12-08T22:54:16+01:00] INFO: Chef Run complete in 2.388374
seconds
[2012-12-08T22:54:16+01:00] INFO: Running report handlers
solo.rb konfiguruje Chef-Solo do wyszukiwania swoich książek kucharskich, ról i worków z danymi w bieżącym katalogu: repozytorium Chef.
Chef-Solopobiera konfigurację węzła z pliku JSON. W naszym przykładzie nazwaliśmy go node.json. Jeśli zamierzasz zarządzać wieloma serwerami, potrzebujesz osobnego pliku dla każdego węzła. Następnie Chef-Solo po prostu wykonuje uruchomienie Chef na podstawie danych konfiguracyjnych znalezionych w solo.rb i node.json.