Výukový program pre kuchárov - Transformácia infraštruktúry do kódu



Chef Tutorial je druhý blog zo série blogov Chef. Tento blog s príkladmi vysvetľuje architektúru šéfkuchára a komponenty šéfkuchára, ako sú kuchárske knihy, recepty atď.

Výukový program pre kuchárov

Chef Tutorial je druhý blog zo série blogov Chef. V mojom predchádzajúci blog Vysvetlil som, čo je Chef, Configuration Management a ako Chef dosahuje Configuration Management pomocou prípadu použitia Gannettu.

V tejto príručke pre šéfkuchárov sa budeme venovať nasledujúcim témam:





Som si istý, že po prečítaní môjho predchádzajúci blog musíte byť zvedaví, ako presne šéfkuchár funguje. Prvá časť tohto blogu Chef Tutorial vám podrobne vysvetlí architektúru Chef, ktorá zbaví všetky vaše pochybnosti.



Výukový program pre kuchárov - Architektúra šéfkuchárov

Ako ukazuje nasledujúci diagram, existujú tri hlavné komponenty šéfkuchára:

  • Pracovná stanica
  • Server
  • Uzly

Chef Architecture - Chef Tutorial - Edureka

Výukový program pre kuchárov - pracovná stanica



Pracovná stanica je umiestnenie, z ktorého sú všetky konfigurácie šéfkucháraorganizovaný. Tento prístroj uchováva všetky konfiguračné údaje, ktoré je možné neskôr odoslať na centrálny server Chef Server. Tieto konfigurácie sú na pracovnej stanici testované pred vložením do servera šéfkuchára. Pracovná stanica sa skladá z nástroja príkazového riadku s názvom Nôž, ktorý sa používa na interakciu so serverom Chef. Môže existovať viac pracovných staníc, ktoré spoločne spravujú centrálny šéfkuchársky server.

Pracovné stanice sú zodpovedné za vykonávanie nasledujúcich funkcií:

  • Písanie kuchárskych kníh a receptov, ktoré budú neskôr presunuté na centrálny šéfkuchársky server
  • Správa uzlov na centrálnom serveri šéfkuchára

Poďme teda po jednom porozumieť vyššie uvedeným bodom.

Písanie kuchárskych kníh a receptov, ktoré budú neskôr presunuté na centrálny šéfkuchársky server

Recepty: Recept je skupina zdrojov, ktorá popisuje konkrétnu konfiguráciu alebo politiku. Opisuje všetko, čo je potrebné na konfiguráciu časti systému. Používateľ napíše recepty, ktoré popisujú, ako šéfkuchár spravuje aplikácie a pomocné programy (napríklad Apache HTTP Server, MySQL alebo Hadoop) a ako sa majú konfigurovať.

Tieto recepty popisujú sériu zdrojov, ktoré by mali byť v konkrétnom stave, tj. Balíky, ktoré by mali byť nainštalované, služby, ktoré by mali byť spustené, alebo súbory, ktoré by mali byť zapísané.

Neskôr v blogu , Ukážem vám, ako napísať recept na inštaláciu balíka Apache2 na Chef Nodes napísaním rubínového kódu v Chef Workstation.

Kuchárske knihy: Je možné zoskupiť viac receptov a vytvoriť tak kuchársku knihu. Kuchárska kniha definuje scenár a obsahuje všetko, čo je potrebné na podporu tohto scenára:

  • Recepty, ktoré špecifikujú zdroje, ktoré sa majú použiť, a poradie, v akom sa majú použiť
  • Hodnoty atribútov
  • Distribúcie súborov
  • Šablóny
  • Rozšírenia šéfkuchára, ako sú knižnice, definície a vlastné zdroje

Správa uzlov na centrálnom serveri šéfkuchára

Systém Workstation bude mať požadované obslužné programy príkazového riadku na riadenie a správu všetkých aspektov centrálneho servera šéfkuchára. Veci ako pridanie nového uzla do centrálneho šéfkuchárskeho servera, odstránenie uzla z centrálneho šéfkuchárskeho servera, úprava konfigurácií uzlov atď., Je možné spravovať zo samotnej pracovnej stanice.

Teraz sa pozrime, aké komponenty pracovnej stanice sú potrebné na vykonávanie vyššie uvedených funkcií.

Pracovné stanice majú dve hlavné súčasti:

Užitočnosť noža: Tento nástroj príkazového riadku možno použiť na komunikáciu s centrálnym serverom šéfkuchárov z pracovnej stanice. Pridávanie, odstraňovanie, zmena konfigurácií uzlov v centrálnom serveri šéfkuchára sa bude vykonávať pomocou tohto nástroja Knife. Pomocou obslužného programu Knife je možné ukladať kuchárske knihy na centrálny šéfkuchársky server a na role, taktiež je možné spravovať prostredia. V zásade možno každý aspekt centrálneho servera Chef Server ovládať z pracovnej stanice pomocou nástroja Knife.

Miestne úložisko šéfkuchárov: Na tomto mieste sú uložené všetky konfiguračné komponenty centrálneho servera Chef Server. Toto úložisko šéfkuchárov je možné synchronizovať s centrálnym serverom šéfkuchárov (opäť pomocou samotného nástroja noz).

Výukový program pre šéfkuchárov - Server pre šéfkuchárov

Chef Server funguje ako rozbočovač konfiguračných údajov. Na serveri Chef sú uložené kuchárske knihy, zásady, ktoré sa uplatňujú na uzly, a metaúdaje, ktoré popisujú každý zaregistrovaný uzol, ktorý spravuje klient Chef.

Uzly používajú klienta Chef-Client na požiadanie servera Chef o podrobnosti konfigurácie, ako sú recepty, šablóny a distribúcia súborov. Chef-klient potom urobí čo najviac konfiguračnej práce na samotných uzloch (a nie na Chef serveri). Každý uzol má nainštalovaný softvér Chef Client, ktorý stiahne konfiguráciu z centrálneho servera Chef Server, ktorá je pre daný uzol použiteľná. Tento škálovateľný prístup distribuuje úsilie o konfiguráciu v celej organizácii.

Výukový program pre kuchárov - Uzly šéfkuchára

Uzlami môžu byť cloudový virtuálny server alebo fyzický server vo vašom vlastnom dátovom centre, ktorý sa spravuje pomocou centrálneho servera Chef Server. Hlavnou súčasťou, ktorá musí byť na uzle, je agent, ktorý nadviaže komunikáciu s centrálnym šéfkuchárskym serverom. Toto sa nazýva Chef Client.

Chef Client vykonáva nasledujúce funkcie:

  • Je zodpovedný za interakciu s centrálnym serverom šéfkuchára.
  • Spravuje počiatočnú registráciu uzla na centrálnom serveri šéfkuchára.
  • Stiahne kuchárske knihy a použije ich v uzle na ich konfiguráciu.
  • Pravidelné dotazovanie centrálneho servera šéfkuchára na načítanie nových konfiguračných položiek, ak existujú.

Kliknutím sem sa dozviete, ako nainštalovať Chef Server, Workstation a Node

Výukový program pre šéfkuchárov - Výhody šéfkuchára:

Tento výukový program pre kuchárov bude neúplný, ak nezahrniem kľúčové výhody šéfkuchára:

  • Celú infraštruktúru môžete automatizovať pomocou aplikácie Chef. Všetky úlohy, ktoré sa robili manuálne, je teraz možné vykonať pomocou nástroja Chef.
  • Pomocou aplikácie Chef môžete nakonfigurovať tisíce uzlov v priebehu niekoľkých minút.
  • Chef automation pracuje s väčšinou ponúk verejného cloudu, ako je .
  • Šéfkuchár nielenže automatizuje veci, ale bude aj dôsledne kontrolovať systémy a potvrdí, že systém je v skutočnosti nakonfigurovaný tak, ako je požadované (šéfkuchár / klient robí túto prácu). Ak niekto urobí chybu úpravou súboru, šéfkuchár to napraví.
  • Celú infraštruktúru je možné zaznamenať vo forme úložiska šéfkuchárov, ktoré je možné použiť ako plán na opätovné vytvorenie infraštruktúry od nuly.

Dúfam, že sa vám tento tutoriál šéfkuchára doteraz páčil, dosť už teoretických príspevkov! Poďme sa trochu zabaviť pri praktickom cvičení.

Výukový program pre kuchárov Začíname s kuchárom Edureka

Výukový program pre kuchárov - praktický výcvik

Tu vám vysvetlím, ako vytvoriť recept, kuchársku knihu a šablónu na pracovnej stanici šéfkuchára. Tiež vám vysvetlím, ako nasadiť kuchársku knihu z pracovnej stanice do Chef-Client (Chef Node).

Používam dva virtuálne obrázky, jeden pre Chef Workstation a druhý pre Chef Node. Pre server Chef budem používať hosťovanú verziu Chef (v cloude). Fyzický stroj môžete použiť aj pre server Chef Server.

Krok 1: Nainštalujte si Chef DK (Development Kit) do svojej pracovnej stanice Chef.

Chef DK je balík, ktorý obsahuje všetky vývojové nástroje, ktoré budete potrebovať pri kódovaní Chef. Tu je odkaz na stiahnutie Kuchár DK .

Tu vyberte operačný systém, ktorý používate. Používam CentOS 6.8. Takže kliknem na Red Hat Enterprise Linux .

Skopírujte odkaz podľa verzie CentOS, ktorú používate. Používam CentOS 6, ako vidíte, že som to zvýraznil na vyššie uvedenej snímke obrazovky.

Prejdite do terminálu pracovnej stanice a pomocou príkazu wget si stiahnite Chef DK a vložte odkaz.

Vykonajte toto:

wget https://packages.chef.io/stable/el/6/chefdk-1.0.3-1.el6.x86_64.rpm

Balík je teraz stiahnutý. Je čas nainštalovať tento balík pomocou rpm.

Vykonajte toto:

rpm -ivh chefdk-1.0.3-1.el6.x86_64.rpm

aký je rozdiel medzi java a c ++

Chef DK je teraz nainštalovaný na mojej pracovnej stanici.

Krok 2: Vytvorte recept na pracovnej stanici

Začnime vytvorením receptu na pracovnej stanici a otestujeme ho lokálne, aby sme sa uistili, že funguje.Vytvorte priečinok s názvom chef-repo. V tejto zložke môžeme vytvárať naše recepty.

Vykonajte toto:

mkdir chef-repo cd chef-repo

V tomto adresári kuchár-repo vytvorím recept s názvom edureka.rb. .rb je prípona používaná pre rubín. Použijem editor vim, môžete použiť akýkoľvek iný editor, ktorý chcete ako gedit, emac, vi atď.

Vykonajte toto:

vim edureka.rb

Tu pridajte nasledovné:

súbor '/ etc / motd' obsah 'Vitajte na kuchára' koniec

Tento R.ecipe je dureka .rb vytvorí súbor s názvom / etc / motd s obsahom „Welcome to Chef“.

prejsť okolo hodnoty vs prejsť okolo java

Teraz použijem tento recept na kontrolu, či funguje.

Vykonať toto:

kuchár-aplikuj edureka.rb

Takže v šéfkuchári je vytvorený súbor, ktorý má obsah Vitajte v šéfkuchári.

Krok 3: Modifikácia súboru receptov na inštaláciu balíka httpd

Upravím recept na inštaláciu balíka httpd na moju pracovnú stanicu a skopírovaním súboru index.html do predvoleného koreňa dokumentu potvrdím inštaláciu. Predvolenou akciou pre zdroj balíka je inštalácia, a preto nemusím túto akciu špecifikovať osobitne.

Vykonať toto:

vim edureka.rb

Sem pridajte nasledujúce:

balík 'httpd' služba 'httpd' urobiť akciu [: povoliť,: spustiť] koncový súbor '/var/www/html/index.html' urobiť obsah 'Vitajte na Apache in Chef' koniec

Teraz tieto konfigurácie použijem vykonaním nasledujúceho príkazu:

Vykonať toto:

kuchár-aplikuj edureka.rb

Vykonanie príkazu jasne popisuje každú inštanciu v recepte. Nainštaluje balík Apache, povolí a spustí službu httpd na pracovnej stanici. A vytvorí súbor index.html v predvolenom koreňovom priečinku dokumentu s obsahom „Vitajte na serveri Apache in Chef“.

Teraz potvrďte inštaláciu Apache2 otvorením webového prehľadávača. Zadajte svoju verejnú IP adresu alebo meno hostiteľa. V mojom prípade je to localhost.

Krok 4: Teraz vytvoríme našu prvú kuchársku knihu.

Vytvorte adresár s názvom kuchárske knihy a vykonaním nižšie uvedeného príkazu vygenerujte kuchársku knihu.

Vykonať toto:

kuchárske knihy mkdir kuchárske knihy cd kuchár generuje kuchársku knihu httpd_deploy

httpd_deploy je názov, ktorý dostal kuchárska kniha. Môžete dať ľubovoľné meno, ktoré chcete.

Presuňme sa do tohto nového adresára httpd_deploy.

Vykonať toto:

cd httpd_deploy

Teraz sa pozrime na štruktúru súborov vytvorenej kuchárskej knihy.

Vykonať toto:

strom

Krok 5: C.vytvorte súbor šablóny.

Predtým som vytvoril súbor s určitým obsahom, ale to sa nezmestí do mojich štruktúr Recepty a Kuchárka. Pozrime sa teda, ako môžeme vytvoriť šablónu pre stránku index.html.

Vykonať toto:

kuchár vygeneruje šablónu httpd_deploy index.html

Ak teraz vidíte moju štruktúru súborov Cookbook, existuje priečinok vytvorený pomocou šablón názvov so súborom index.html.erb. Upravím tento súbor šablóny index.html.erb a pridám k nemu svoj recept. Pozrite si príklad uvedený nižšie:

Prejdite do predvoleného adresára

Vykonať toto:

cd / root / chef-repo / kuchárska kniha / httpd_deploy / templates / default

Tu upravte šablónu index.html.erb pomocou ľubovoľného editora, ktorý vám vyhovuje. Použijem editor vim.

Vykonať toto:

vim index.html.erb

Teraz pridajte nasledujúce:

Vitajte v nasadení šéfkuchára Apache

Krok 6: C.pripravte recept s touto šablónou.

Prejdite do adresára Recepty.

Vykonať t jeho:

cd / root / chef-repo / kuchárske knihy / httpd_deploy / recepty

Teraz upravte súbor default.rb pomocou ľubovoľného editora, ktorý chcete. Použijem editor vim.

Vykonať toto:

vim default.rb

Sem pridajte nasledujúce:

balík 'httpd' služba 'httpd' urobiť akciu [: povoliť,: spustiť] koniec šablóny '/var/www/html/index.html' urobiť zdroj 'index.html.erb' koniec

Teraz sa vrátim do priečinka chef-repo a spustím / otestujem svoj recept na svojej pracovnej stanici.

Vykonať toto:

cd / root / chef-repo chef-client --local-mode --runlist 'recept [httpd_deploy]'

Podľa môjho receptu je Apache nainštalovaný na mojej pracovnej stanici, služba sa spúšťa a povoľuje pri bootovaní. V mojom predvolenom koreňovom priečinku dokumentu bol tiež vytvorený súbor šablóny.

Teraz, keď som otestoval svoju pracovnú stanicu. Je čas nastaviť Chef Server.

Krok 7: Nastavte server šéfkuchára

Budem používať hostovanú verziu servera Chef Server v cloude, ale môžete použiť aj fyzický stroj. Tento Chef-Server je prítomný na manage.chef.io

Ak ešte nemáte účet, vytvorte si ho. Po vytvorení účtu sa prihláste pomocou svojich prihlasovacích údajov.

Takto vyzerá Chef Server.

Ak sa prihlasujete prvýkrát, úplne prvou vecou, ​​ktorú urobíte, je vytvorenie organizácie. Organizácia je v podstate skupina strojov, ktoré budete spravovať pomocou servera Chef Server.

Najskôr prejdem na kartu správy. Tam som už vytvoril organizáciu s názvom edu. Potrebujem teda stiahnuť štartovaciu súpravu do svojej pracovnej stanice. Táto štartovacia súprava vám pomôže poslať súbory z pracovnej stanice na server šéfkuchára. Kliknite na ikonu nastavení na pravej strane a potom na Starter Kit.

Kliknutím tam získate možnosť stiahnuť si Starter Kit. Jednoduchým kliknutím naň stiahnete súbor ZIP Starter Kit.

Presuňte tento súbor do koreňového adresára.Teraz rozbaľte tento súbor zip pomocou príkazu unzip vo vašom termináli. Všimnete si, že obsahuje adresár s názvom chef-repo.

Vykonať toto:

rozbaľte kuchár-štartér.zip

Teraz presuňte túto štartovaciu súpravu do adresára kuchárskych kníh v adresári chef-repo.

Vykonať toto:

mv štartér / root / kuchár-repo / kuchárka

Kuchárske knihy kuchárov sú k dispozícii na super trhu s kuchárkami, môžeme ísť do supermarketu kuchárov. Stiahnite si požadované kuchárske knihy z supermarket.chef.io . Sťahujem jednu z kuchárskych kníh, aby som odtiaľ nainštaloval Apache.

ako nastaviť zatmenie pre

Vykonať e t h je:

cd kuchársky repo nôž stránky s kuchárskymi knihami stiahnite si learn_chef_httpd

Pre kuchársku knihu Apache je stiahnutá guľa Tar. Teraz musíme extrahovať obsah z tohto stiahnutého súboru Tar. Na to použijem príkaz tar.

tar -xvf learn_chef_httpd-0.2.0.tar.gz

Podľa tejto kuchárskej knihy sa automaticky vytvárajú všetky požadované súbory. Nie sú potrebné žiadne úpravy. Pozrime sa na popis receptu v priečinku mojich receptov.

Vykonať t h je :

cd / root / chef-repo / learn_chef_httpd / recepty mačka default.rb

Teraz už len nahrám túto kuchársku knihu na môj šéfkuchársky server, pretože sa mi zdá dokonalá.

Krok 8: Nahrajte kuchársku knihu na server šéfkuchára.

Ak chcete nahrať stiahnutú kuchársku knihu Apache, najskôr presuňte tento súbor learn_chef_httpd do priečinka Cookbooks v priečinku chef-repo. Potom zmeňte adresár na kuchárske knihy.

Vykonať t h je :

mv / root / chef-repo / learn_chef_httpd / root / chef-repo / kuchárske knihy

Teraz prejdite do tohto adresára kuchárskych kníh.

Vykonajte toto:

cd kuchárske knihy

Teraz v tomto adresári spustite nasledujúci príkaz a nahrajte Apache Cookbook:

Exec ute t h je:

nahranie kuchárskej knihy s nožom learn_chef_httpd

Skontrolujte kuchársku knihu z konzoly Chef Server Management. V sekcii politiky nájdete kuchársku knihu, ktorú ste nahrali. Pozri snímku obrazovky nižšie:

Teraz je naším posledným krokom pridanie šéfkuchárskeho uzla. Nastavil som pracovnú stanicu, server Chef a teraz potrebujem na automatizáciu pridať svojich klientov na server Chef.

Krok 9: Pridanie uzla šéfkuchára na server šéfkuchára.

Na demonštračné účely použijem jeden stroj CentOS ako Chef Node. K jednému Chef Serveru môžu byť pripojené stovky uzlov. Farba terminálu môjho zariadenia Node sa líši od pracovnej stanice, takže budete môcť rozlišovať medzi oboma.

Potrebujem iba IP adresu môjho uzla, aby som vykonal nasledujúci príkaz v mojom uzlovom strojije.

Exec u t je t h je:

ifconfig

Pridám svoj Chef Node na server vykonaním príkazu Knife Bootstrap, v ktorom uvediem IP adresu The Chef Node a jej meno. Vykonajte zobrazený príkazv:

Exec ute t h je:

nôž bootstrap 192.168.56.102 --ssh-root používateľa --ssh-heslo edureka --node-name chefNode

Tento príkaz tiež inicializuje inštaláciu Chef-Client v uzle Chef. Môžete to overiť z rozhrania CLI na pracovnej stanici pomocou príkazu Knife, ako je to zobrazené nižšiev:

Exec ute t h je:

Zoznam uzlov nožov

Môžete tiež overiť na serveri Chef. Prejdite na kartu uzlov v konzole na správu servera a tu si všimnete, že je prítomný uzol, ktorý ste pridali. Pozri snímku obrazovky nižšie.

Krok 10: Spravovať zoznam spustených uzlov

Pozrime sa, ako môžeme pridať kuchársku knihu do uzla a spravovať jej zoznam spustení zo servera šéfkuchára. Ako vidíte na snímke obrazovky nižšie, kliknite na kartu Akcie a výberom možnosti Upraviť zoznam spustenia spravujte zoznam Spustiť.

V zozname Dostupné recepty môžete vidieť náš recept Learn_chef_httpd, ktorý môžete pretiahnuť z dostupných balíkov do aktuálneho zoznamu spustení a uložiť zoznam spustení.

Teraz sa prihláste do svojho uzla a stačí spustiť kuchárskeho klienta, aby spustil Run List.

Exec ute t h je:

hlavný klient

Dúfam, že sa vám tento Chef Tutorial páčil a dozvedeli ste sa, ako je možné Chef použiť na konfiguráciu stoviek uzlov. Šéfkuchár hrá v mnohých organizáciách zásadnú úlohu pri dosahovaní DevOps. Vďaka organizácii Chef organizácie vydávajú aplikácie častejšie a spoľahlivejšiebsklo.

Ak ste našli tento blog na “ Výukový program pre kuchárov „Relevantné, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Kurz certifikácie EdOkaka DevOps Certification Training pomáha študentom získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Chef, Jenkins, Nagios a GIT na automatizáciu viacerých krokov v SDLC.