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.