Jak zainstalować serwer szefa kuchni, stacja robocza i klienta szefa kuchni na Ubuntu 18.04

Jak zainstalować serwer szefa kuchni, stacja robocza i klienta szefa kuchni na Ubuntu 18.04

Chef to narzędzie do zarządzania konfiguracją na podstawie rubinu używane do definiowania infrastruktury jako kodu. Umożliwia to użytkownikom automatyzację zarządzania wieloma węzłami i utrzymanie spójności w tych węzłach. Przepisy deklarują pożądany stan dla zarządzanych węzłów i są tworzone na stacji roboczej użytkownika za pomocą pakietu stacji roboczej Chef. Twoje przepisy są dystrybuowane między węzłami za pośrednictwem serwera szefa kuchni. Klient szefa kuchni, zainstalowany w każdym węźle, jest odpowiedzialny za zastosowanie przepisu do odpowiedniego węzła. Ten przewodnik pokaże, jak zainstalować i skonfigurować stacja robocza szefa kuchni i szefa kuchni. Będziemy również ładować węzeł do zarządzania z szefem kuchni.

W tym samouczku nauczysz się:

  • Zainstaluj i skonfiguruj serwer Chef
  • Utwórz użytkownika i organizację szefa kuchni
  • Zainstaluj i skonfiguruj stacja robocza szefa kuchni
  • Skonfiguruj nóż i ładowanie węzła klienta

Architektura szefa kuchni.

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Ubuntu Linux 18.04
Oprogramowanie Chef Server Core, szef kuchni, klient szefa kuchni, zestaw do rozwoju szefa kuchni
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Zainstaluj i skonfiguruj serwer Chef

Serwer szefa kuchni to centrum interakcji między wszystkimi stacji roboczych i węzłów w ramach zarządzania szefem kuchni. Zmiany dokonane w kodzie konfiguracji na stacjach roboczych są przesuwane do serwera szefa kuchni, a następnie pobierane przez szefa kuchni węzła, aby zastosować konfiguracje.

Pobierz najnowszy serwer Chef, uruchamiając poniższe polecenie:

# wget https: // pakiety.szef kuchni.IO/Files/Stable/Chef-Server/12.18.14/Ubuntu/18.04/Chef-Server-Core_12.18.14-1_AMD64.Deb 


Teraz zainstaluj pakiet serwera według następującego polecenia:

# dpkg -i Chef-Server-Core_*.Deb 

Serwer Chef zawiera narzędzie wiersza poleceń o nazwie Chef-Server-CTL. Uruchom szefa kuchni-server-ctl, aby uruchomić usługi serwera Chef Server.

# Chef-Server-Ctl Reconfigure 

Po pomyślnej konfiguracji serwera szefa kuchni zobaczysz poniższy komunik.

Klient szefa kuchni zakończony, 493/1100 Zasoby zaktualizowane w 12 minut 02 sekundy serwer szefa kuchni! 
root@UbuntuBox1: ~# Chef-Server-CTL Status Uruchom: (PID 1435) 6644S; Uruchom: log: (PID 1440) 6644S Uruchom: nginx: (PID 1235) 6653s; Uruchom: log: (PID 1744) 6631S Uruchom: OC_BIFROST: (PID 1196) 6657s; Uruchom: log: (PID 1203) 6657S Uruchom: OC_ID: (PID 1220) 6655s; Uruchom: log: (PID 1227) 6655S Uruchom: OpsCode-Erchef: (PID 4376) 6432s; Uruchom: log: (PID 1508) 6644S Uruchom: OpsCode-Expander: (PID 1335) 6648s; Uruchom: log: (PID 1431) 6646S Uruchom: Opscode-Solr4: (PID 1244) 6650s; Uruchom: log: (PID 1285) 6649S Uruchom: PostgreSQL: (PID 1176) 6659s; Uruchom: log: (PID 1180) 6659S Uruchom: Rabbitmq: (PID 4188) 6443s; Uruchom: log: (PID 1748) 6631S Uruchom: redis_lb: (PID 27397) 6931s; Uruchom: log: (PID 1735) 6632S root@ubuntubox1: ~# 

Utwórz użytkownika i organizację szefa kuchni

Aby połączyć stacje robocze i węzły z serwerem szefa kuchni, utwórz administrator i organizację z powiązanymi klawiszami prywatnymi RSA.
Z katalogu domowego stwórz .Katalog szefa kuchni do przechowywania kluczy.

# mkdir .szef kuchni 

Użyj szefa kuchni-Server-CTL, aby utworzyć użytkownika. W tym przykładzie zmień następujące czynności, aby dopasować swoje potrzeby: nazwa_serby, nazwa pierwszej, nazwa last_name, e -mail i hasło. Dostosuj nazwę_ użytkownika.pem i zostaw .rozszerzenie PEM.

Szef Chef-Server-CTL Użytkownik Użytkownik_name First_name Last_name E-mail „Hasło”--filename ~/.nazwa szefa kuchni/użytkownika.pem
root@UbuntuBox1: ~# Chef-Server-CTl-Create-Create Chefadmin Administrator Chefadmin @@ UbuntuBox1.com '*******' - -filename ~/.Chef/Chefadmin.pem 

Aby wyświetlić listę wszystkich użytkowników na swoim serwerze szefa kuchni, następujące polecenie:

root@ubuntubox1: ~# szef kuchni-server-ctl lista użytkowników Chefadmin Pivotal 

Utwórz organizację i dodaj użytkownika utworzonego w poprzednim kroku. Zastąp nazwę org_name na krótki identyfikator organizacji, org_full_name na pełną nazwę organizacji, nazwa_ użytkownika utworzona w powyższym etapie i nazwa org_name.PEM z krótkim identyfikatorem organizacji, a następnie .pem.

Szef Chef-Server-Ctl org-create org_name "org_full_name" --ssociation_user user_name--filename ~//.nazwa szefa kuchni/org_name.pem
root@ubuntubox1: ~# Chef-Server-cTl org-create Chef-on-ubuntu „Chef Infrastructure na Ubuntu 18.04 " -Association_user Chefadmin - -filename ~/.Szef kuchni/szefa kuchni-Uubuntu.pem 


Aby wyświetlić listę wszystkich organizacji na serwerze szefa kuchni, użyj następującego polecenia:

root@ubuntubox1: ~# szef kuchni-server-ctl org-list chef-on-ebuntu 

Po zainstalowaniu serwera szefa kuchni i wygenerowaniu klawiszy RSA, zaczniemy konfigurować stacja robocza szefa kuchni. Stacja robocza polega na tym, że dla twoich węzłów zostaną utworzone wszystkie główne konfiguracje.

Zainstaluj i skonfiguruj stacja robocza szefa kuchni

Stacja robocza szefa kuchni to miejsce, w którym tworzysz i konfigurujesz wszelkie przepisy, książki kucharskie, atrybuty i inne zmiany niezbędne do zarządzania węzłami. Chociaż może to być komputer lokalny z dowolnym systemem operacyjnym, utrzymanie zdalnego serwera jest pewne korzyści, aby uzyskać do niego dostęp z dowolnego miejsca.

W tej sekcji pobierasz i zainstalujesz pakiet stacji roboczej Chef, który zapewnia wszystkie narzędzia dołączone również do szefa kuchni, szefa kuchni.

Pobierz najnowszą stację roboczą szefa kuchni:

root@ubuntubox2: ~# wget https: // pakiety.szef kuchni.IO/Files/Stable/Chef-Workstation/0.2.43/Ubuntu/18.04/Chef-Workstation_0.2.43-1_AMD64.Deb-2019-06-03 13: 35: 51-- https: // pakiety.szef kuchni.IO/Files/Stable/Chef-Workstation/0.2.43/Ubuntu/18.04/Chef-Workstation_0.2.43-1_AMD64.Deb rozwiązywanie pakietów.szef kuchni.IO (pakiety.szef kuchni.io)… 151.101.142.110 Łączenie z pakietami.szef kuchni.IO (pakiety.szef kuchni.io) | 151.101.142.110 |: 443… Połączone. Wysłane żądanie HTTP, oczekiwanie na odpowiedź… 200 OK Długość: 129713682 (124M) [Aplikacja/X-Debian-Package] Zapisanie na: „Chef-Workstation_0.2.43-1_AMD64.Deb 'Chef-Workstation_0.2.43-1_AMD64.Deb 100%[============================================================== ======================================>] 123.70m 1.51 MB/s w latach 80. 2019-06-03 13:37:17 (1.55 MB/s) - „Chef -Workstation_0.2.43-1_AMD64.Deb 'uratowany [129713682/129713682] 

Zainstaluj stacja robocza szefa kuchni:

root@ubuntubox2: ~# dpkg -i Chef -Workstation_*.Deb wybieranie wcześniej niezbędnego pakietu szefa kuchni. (Czytanie bazy danych… 117468 plików i aktualnie zainstalowanych katalogów.) Przygotowanie do rozpakowania szefa kuchni-robotnika_00.2.43-1_AMD64.Deb… rozpakowywanie szefa kuchni (0.2.43-1)… Konfigurowanie szefa kuchni (0.2.43-1)… Aby uruchomić eksperymentalną aplikację do stacji roboczej, użyj menedżera pakietów platformy, aby zainstalować te zależności: LibgConf-2.Więc.4 => Nie znaleziono, możesz następnie uruchomić aplikację, uruchamiając „szef kuchni-stacji”. Aplikacja będzie następnie dostępna w tacy systemowej. Dziękujemy za zainstalowanie stacji roboczej szefa kuchni! Możesz znaleźć kilka wskazówek na temat rozpoczęcia pracy w https: // Chef.cii/ 

Teraz musimy utworzyć repozytorium szefa kuchni. Katalog Chef-Repo będzie przechowywał książki kucharskie Chef i inne powiązane pliki.

# szef kuchni generuj Repo Chef-Repo 

Stwórz .Podkrektorka szefa kuchni. .Podkajkodory szefa kuchni będzie przechowywać plik konfiguracyjny noża i .Pliki PEM używane do uwierzytelniania pary kluczy RSA z serwerem Chef. Przejdź do katalogu szefa kuchni:

root@ubuntubox2: ~# mkdir ~/Chef-Repo/.Chef root@UbuntuBox2: ~# CD Chef-Repo root@ubuntubox2: ~/Chef-Repo# 


Uwierzytelnianie między serwerem szefa kuchni a stacją roboczą i/lub węzłami jest wypełnione szyfrowaniem klucza publicznego. Zapewnia to, że serwer szefa kuchni komunikuje się tylko z zaufanymi maszynami. W tej sekcji klawisze prywatne RSA, generowane podczas konfigurowania serwera szefa kuchni, zostaną skopiowane do stacji roboczej, aby umożliwić komunikowanie się między serwerem szefa kuchni a stacją roboczą.

Wygenerujemy parę kluczową RSA na serwerze stacji roboczej. Ten pary kluczowe zostanie użyte do uzyskania dostępu do serwera szefa kuchni, a następnie przeniesienia ich .Pliki PEM:

root@ubuntubox2: ~# ssh -keygen -b 4096 Generowanie publicznej/prywatnej pary kluczy RSA. Wprowadź plik, w którym zapisz klucz (/root/.ssh/id_rsa): utworzono katalog '/root/.ssh '. Wprowadź paszę (pusta dla braku hasła): Wprowadź ponownie tę samą przełom: Twoja identyfikacja została zapisana w /root /.ssh/id_rsa. Twój klucz publiczny został zapisany w /root /.ssh/id_rsa.pub. Kluczowy odcisk palca to: SHA256: SR+NLOQ6VSC7RX4ZMMINP3SKDK4FYEJH1ILOKNM1YMG [email protected] Losowy obraz klucza to: + --- [RSA 4096] ---- + |… o. |. |.E+ OO… | |. * o.O… | | + O… o + | |… OOS = . |. |. +O = oo+ . |. |. OO+OO. |. |. ooo.+. |. |. o = B =*. |. + ---- [SHA256] -----+ root@ubuntubox2: ~# 

Prześlij klucz publiczny węzła stacji roboczej do węzła serwera Chef.

root@ubuntubox2: ~# ssh-copy-id [email protected]/usr/bin/ssh-copy-id: informacja: Źródło klawiszów do zainstalowania: "/root/.ssh/id_rsa.pub "/usr/bin/ssh-copy-id: Informacje: próba zalogowania się z nowymi klawiszami, w celu odfiltrowania każdego, które są już zainstalowane/usr/bin/ssh-copy-id: Info: 1 Klucz (s) pozostać do zainstalowania - jeśli masz monit, teraz ma zainstalować nowe klawisze [email protected]ło COM: liczba klawiszów (y) Dodano: 1 Teraz spróbuj zalogować się do komputera, z: „ssh” [email protected] '"i sprawdź, czy dodano tylko klucze, które chciałeś. root@ubuntubox2: ~# 

Skopiuj .Pliki PEM z serwera szefa kuchni do stacji roboczej za pomocą polecenia SCP.

root@ubuntubox2: ~# scp [email protected]: ~/.szef kuchni/*.PEM ~/Chef-Repo/.Chef/ Chefadmin.PEM 100% 1674 27 27.9KB/s 00:00 Chef-on-Uuntu.PEM 100% 1674 496.8KB/s 00:00 

Potwierdź, że pliki zostały pomyślnie skopiowane, wymieniając zawartość .Katalog szefa kuchni. .Pliki PEM powinny być wymienione.

root@ubuntubox2: ~# ls ~/Chef-Repo/.Chefadmin.PEM Chef-on-Ebuntu.pem 


Wygeneruj nową książkę kucharską szefa kuchni:

root@ubuntubox2: ~# szef kuchni generuj książkę kucharską szef kuchni-syfry z książkami są zniechęcane w nazwach książek kucharskich, ponieważ mogą powodować problemy z zasobami niestandardowymi. Patrz https: // dokumenty.szef kuchni.IO/CTL_CHEF.HTML#Chef-Generate-Cookbook, aby uzyskać więcej informacji. Generowanie książki kucharskiej Chef -First -Cookbook - Upewnienie prawidłowej zawartości pliku książki kucharskiej - Zapewnienie konfiguracji dostawy - Zapewnienie prawidłowej kompilacji dostawy Książka kucharska Twoja książka kucharska jest gotowa. Wpisz „CD Chef-First-Cookbook”, aby go wprowadzić. Istnieje kilka poleceń, które możesz uruchomić, aby rozpocząć lokalne opracowywanie i testowanie książki kucharskiej. Wpisz „Dostawa lokalna -Help”, aby zobaczyć pełną listę. Dlaczego nie zacznij od napisania testu? Testy dla domyślnego przepisu są przechowywane na: test/integracja/default/default_test.RB Jeśli wolisz zanurzyć się w prawo, domyślny przepis można znaleźć na: przepisy/domyślne.RB 

Wygeneruj szefa kuchni i przejdź do nowo utworzonego katalogu:

# Chef Generate App Chef-Repo # CD Chef-Repo 

Skonfiguruj nóż i ładowanie węzła klienta

Utwórz plik konfiguracyjny noża, nawigując do ~/Chef-Repo/.Katalog szefa kuchni i tworzenie pliku o nazwie Config.RB za pomocą preferowanego edytora tekstu.

Skopiuj następującą konfigurację do konfiguracji.plik RB:

 plik current_dir =.dirname (__ plik__) log_level: Info log_location stdout node_name „node_name” użytkownik Client_Key ”.PEM „Validation_Client_Name” org_name-walidator „Validation_key” Organization-Validator.PEM "Chef_Server_Url 'https: // ubuntubox1.com/organizations/org_name 'cache_type' podstawowy plik cache_options (: ścieżka => "#env ['home']/.Szef Chef/Checkksuss ") Cookbook_path ["#current_dir/…/książki kucharskie "] 
Kopiuj

Wartością dla nazwy Node_name powinna być nazwa użytkownika utworzona na serwerze Chef.
Zmień użytkownika.PEM pod Client_Key, aby odzwierciedlić .plik PEM dla użytkownika szefa kuchni.
Nazwa_client_name Validation_Client powinien być nazwa org_name, a następnie walidator.
Walidator organizacji.PEM na ścieżce Validation_Key powinien być ustawiony na nazwę org_name, a następnie -walidator.pem.
Wreszcie Chef_Server_Url powinien być domena serwera Chef z dołączoną /organizacjami /org_name. Pamiętaj, aby zastąpić nazwę org_name na imię organizacji.

Przejdź do katalogu szefa kuchni i skopiuj potrzebne certyfikaty SSL z serwera:

root@ubuntubox2: ~/Chef-Repo/.Szef Chef# CD… root@ubuntubox2: ~/Chef-Repo# Knife SSL Fetch Ostrzeżenie: Certyfikaty z Ubuntubox1.com zostanie pobrane i umieszczone w katalogu Trusted_Cert (/root/chef-repo/.Chef/Trusted_Certs). Nóż nie ma możliwości sprawdzenia, czy są to właściwe certyfikaty. Powinieneś zweryfikować autentyczność tych certyfikatów po pobraniu. Dodanie certyfikatu UbuntuBox1_com w/root/Chef-Repo/.Chef/Trusted_Certs/UbuntuBox1_com.crt 


Potwierdź tę konfigurację.RB jest skonfigurowany poprawnie, uruchamiając listę klientów. To polecenie powinno wyświetlić nazwę walidatora.

root@UbuntuBox2: ~/Chef-Repo# Knife Client List 

Ładowanie węzła instaluje klienta szefa kuchni w węźle i sprawdza węzeł. Umożliwia to odczytanie węzła z serwera szefa kuchni i stosowanie wszelkich potrzebnych aktualizacji konfiguracji wykrytych przez szefa kuchni.
Ze stacji roboczej przejdź do ~/szef.Katalog szefa kuchni:

# CD ~/Chef-Repo/.szef kuchni 

Bootstrap Węzeł klienta albo za pomocą użytkownika węzła klienta lub użytkownika z podwyższonymi uprawnieniami:

root@ubuntubox2: ~/Chef-Repo/.Szef Chef# nóż bootstrap ubuntubox3.COM -x root -p *******-Node-name-client-węzeł tworzenie nowego klienta dla węzła szefa kuchni tworzący nowy węzeł dla węzła szefa kuchni z ubuntubox3.com ubuntux3.com -----> Instalowanie szefa kuchni Omnibus (-v 14) Ubuntubox3.com pobieranie https: // omnitruck-derect.szef kuchni.IO/Chef/Instaluj.SH Ubuntubox3.com do pliku /tmp /instalacji.cii.2019/instalacja.SH Ubuntubox3.com próbować wget… ubuntubox3.com Ubuntu 18.04 x86_64 Ubuntubox3.Com Uzyskanie informacji dla szefa kuchni Stable 14 dla Ubuntu… Ubuntubox3.com pobieranie https: // omnitruck-derect.szef kuchni.IO/STABLE/Chef/Metadata?v = 14 i p = Ubuntu i PV = 18.04 & m = x86_64 Ubuntubox3.com do pliku /tmp /instalacji.cii.2023/Metadata.TXT Ubuntubox3.com próbować wget… ubuntubox3.com sha1 ed9b1fcdaf947d9a3d60e6d196308183a082bcff Ubuntubox3.com SHA256 9DDCD5CEEF19C95ECC1F34BEF080C23D9CB42AE8EBC69FD41DCF1C768A6A708F UBUNTUBOX3.com url https: // pakiety.szef kuchni.IO/Files/Stable/Chef/14.13.11/Ubuntu/18.04/Chef_14.13.11-1_AMD64.Deb Ubuntubox3.com wersja 14.13.11 Ubuntubox3.Plik pobrany przez metadane wygląda na prawidłowe… Ubuntubox3.com pobieranie https: // pakiety.szef kuchni.IO/Files/Stable/Chef/14.13.11/Ubuntu/18.04/Chef_14.13.11-1_AMD64.Deb Ubuntubox3.com do pliku /tmp /instalacji.cii.2023/Chef_14.13.11-1_AMD64.Deb Ubuntubox3.com próbować wget… ubuntubox3.COM Porównujący sumę kontrolną z SHA256Sum… Ubuntubox3.COM Instalowanie szefa kuchni 14 Ubuntubox3.com instalacja z DPKG… Ubuntubox3.COM Wybieranie wcześniej niezbędnego pakietu szefa kuchni. (Czytanie bazy danych… 117468 plików i aktualnie zainstalowanych katalogów.) Ubuntubox3.COM Przygotowanie do rozpakowania… /Chef_14.13.11-1_AMD64.Deb… Ubuntubox3.com rozpakowywanie szefa kuchni (14.13.11-1)… Ubuntubox3.com konfigurowanie szefa kuchni (14.13.11-1)… Ubuntubox3.com Dziękujemy za zainstalowanie szefa kuchni Infra Client! Aby uzyskać pomoc w rozpoczęciu pracy, odwiedź https: // naucz się.szef kuchni.IO Ubuntubox3.com, rozpoczynając pierwszy klient szefa kuchni… Ubuntubox3.com początek klienta szefa kuchni, wersja 14.13.11 Ubuntubox3.COM RESPINGUJĄCE KSIĄŻKI KOSIĄŻKI DO LISTY URUSZCZENIA: [] UBUNTUBOX3.Synchronizujące książki kucharskie: Ubuntux3.COM Instalowanie klejnotów książki kucharskiej: Ubuntux3.kompilacja książek kucharskich… Ubuntubox3.com [2019-06-03T14: 01: 44+04: 00] Ostrzegaj: węzeł szef kuchni ma pustą listę uruchomienia. Ubuntubox3.com converging 0 zasobów Ubuntubox3.com ubuntux3.Com Running Handlers: Ubuntubox3.COM Running Handlers Complete UbuntuBox3.Com Chef Klient zakończony, zasoby 0/0 zaktualizowane w 05 sekund potwierdź, że węzeł został rozbity, wymieniając węzły klientów: root@ubuntubox2: ~/Chef-Repo/.szef kuchni# 

Potwierdź, że węzeł został pomyślnie oparty na wyświetlaniu węzłów:

root@ubuntubox2: ~/Chef-Repo/.Szef Chef# Node Węzeł Node Chef-Client-Node root@ubuntubox2: ~/Chef-Repo/.Szef Chef# Node Node Pokaż Nodę węzłów szefa kuchni-klucza: Szef Chef-Client-Node Środowisko: _default fqdn: Ubuntubox3.com ip: 192.168.1.107 Lista uruchomienia: Role: przepisy: platforma: Ubuntu 18.04 Tagi: 

Wniosek

W tym szczegółowym artykule dowiedzieliśmy się o narzędziu zarządzania konfiguracją szefa kuchni z jego podstawowym zrozumieniem i przeglądem jego komponentów z ustawieniami instalacji i konfiguracji. Możesz dowiedzieć się więcej o szefie kuchni, odwiedzając stronę szefa kuchni I.mi. https: // www.szef kuchni.IO/

Powiązane samouczki Linux:

  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Mastering Bash Script Loops
  • Zagnieżdżone pętle w skryptach Bash
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Jak skonfigurować serwer OpenVPN na Ubuntu 20.04
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Jak często musisz ponownie uruchomić serwer Linux?
  • Ubuntu 20.04 Przewodnik