Jak zainstalować serwer szefa kuchni, stacja robocza i klienta szefa kuchni na Ubuntu 18.04
- 1990
- 610
- Laura Zygmunt
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
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