Peakoka õpetus - muundage infrastruktuur koodiks

Peakoka õpetus on koka blogisarja teine ​​ajaveeb. See ajaveeb selgitab näidetega koka arhitektuuri ja koka komponente, nagu kokaraamatud, retseptid jne.

Peakoka õpetus

Peakoka õpetus on koka blogisarja teine ​​ajaveeb. Minu eelmine ajaveeb , Olen selgitanud, mis on peakokk, konfiguratsioonihaldus ja kuidas peakokk Gannetti kasutusjuhtumi abil konfiguratsioonihalduse saavutab.



Selles kokaõpetuses käsitletakse järgmisi teemasid:

Olen kindel, et lugesin oma eelmine ajaveeb peate olema uudishimulik, et teada saada, kuidas peakokk täpselt töötab. Selle kokaõpetuse ajaveebi esimeses jaotises selgitatakse teile peakokkade arhitektuuri üksikasjalikult, mis puhastab kõik teie kahtlused.



Peakoka õpetus - kokaarhitektuur

Nagu näidatud alloleval skeemil, on peakokk kolm peamist komponenti:

  • Tööjaam
  • Server
  • Sõlmed

Peakokaarhitektuur - koka õpetus - Edureka

Peakoka õpetus - töökoht



Tööjaam on koht, kust kõik peakokkade konfiguratsioonid asuvadhallatud. See masin hoiab kõiki konfiguratsiooniandmeid, mida saab hiljem kesksesse peakomplekti lükata. Neid konfiguratsioone testitakse tööjaamas enne koka serverisse surumist. Tööjaam koosneb käsurea tööriistast, mida nimetatakse Nuga, mida kasutatakse peakokaserveriga suhtlemiseks. Võib olla mitu tööjaama, mis ühiselt haldavad peamist kokaserverit.

Tööjaamad vastutavad järgmiste funktsioonide täitmise eest:

  • Kokaraamatute ja retseptide kirjutamine, mis hiljem lükatakse kesksesse peakoka serverisse
  • Sõlmede haldamine peakoka serveris

Nüüd mõistame ülalnimetatud punkte ükshaaval.

Kokaraamatute ja retseptide kirjutamine, mis hiljem lükatakse kesksesse peakoka serverisse

Retseptid: Retsept on ressursside kogu, mis kirjeldab konkreetset konfiguratsiooni või poliitikat. See kirjeldab kõike, mis on vajalik süsteemi osa konfigureerimiseks. Kasutaja kirjutab Retseptid, mis kirjeldavad, kuidas peakokk haldab rakendusi ja utiliite (näiteks Apache HTTP Server, MySQL või Hadoop) ja kuidas neid tuleb konfigureerida.

Need retseptid kirjeldavad rida ressursse, mis peaksid olema kindlas olekus, st installitavad paketid, töötavad teenused või kirjutatavad failid.

Hiljem ajaveebis , Ma näitan teile, kuidas kirjutada retsept Apache2 paketi installimiseks peakokkade sõlmedesse, kirjutades Chef Workstationi rubiinkoodi.

Kokaraamatud: Kokaraamatu moodustamiseks saab mitu retsepti grupeerida. Kokaraamat määratleb stsenaariumi ja sisaldab kõike, mis on selle stsenaariumi toetamiseks vajalik:

  • Retseptid, mis määrab kasutatavad ressursid ja nende kasutamise järjekorra
  • Atribuutide väärtused
  • Failijaotused
  • Mallid
  • Chefi laiendused, näiteks teegid, definitsioonid ja kohandatud ressursid

Sõlmede haldamine peakoka serveris

Workstationi süsteemil on nõutavad käsurea utiliidid, et juhtida ja hallata keskse peakokkade serveri kõiki aspekte. Selliseid asju nagu uue sõlme lisamine kesksesse peakomplekti, sõlme kustutamine kesksest peakomplektist, sõlmede konfiguratsioonide muutmine jne, saab kõiki hallata tööjaamast endast.

Vaatame nüüd, milliseid tööjaama komponente on vaja ülaltoodud funktsioonide täitmiseks.

Tööjaamadel on kaks peamist komponenti:

Nuga kasulikkus: Seda käsurea tööriista saab kasutada tööjaama keskse peaserveriga suhtlemiseks. Noodide konfiguratsioonide lisamine, eemaldamine ja muutmine keskses koka serveris toimub selle Knife utiliidi abil. Knife'i utiliidi abil saab kokaraamatuid üles laadida kesksesse peakoka serverisse ja rollidesse, hallata saab ka keskkondi. Põhimõtteliselt saab keskset peakokkade serveri kõiki aspekte tööjaama kaudu juhtida, kasutades utiliiti Knife.

Kohaliku koka hoidla: See on koht, kus on salvestatud kõik peakokkade serveri kõik konfiguratsioonikomponendid. Selle peakokkade hoidla saab sünkroonida peamise peakokk-serveriga (kasutades selleks ka ise nuga-utiliiti).

Peakoka õpetus - koka server

Chef Server toimib konfiguratsiooniandmete jaoturina. Peakokk Server salvestab kokaraamatud, sõlmedele rakendatavad reeglid ja metaandmed, mis kirjeldavad kõiki registreeritud sõlme, mida Chef-Client haldab.

Sõlmed kasutavad peakokk-klienti, et küsida peakokk-serverilt konfiguratsiooni üksikasju, nagu retseptid, mallid ja failijaotused. Seejärel teeb Chef-Client võimalikult palju seadistustööd sõlmedes endas (ja mitte Chef Serveris). Igal sõlmel on installitud Chef Client tarkvara, mis tõmbab kesksest peakomplektist konfiguratsiooni, mis on selle sõlme jaoks sobiv. See skaleeritav lähenemine jaotab konfiguratsiooni kogu organisatsioonis.

Peakoka õpetus - koka sõlmed

Sõlmed võivad olla pilvepõhine virtuaalne server või teie enda andmekeskuse füüsiline server, mida hallatakse keskse peakokk-serveri abil. Peamine komponent, mis peab sõlmes olema, on agent, mis loob ühenduse kesksüsteemi peakomplektiga. Seda nimetatakse Chef Clientiks.

Chef Client täidab järgmisi funktsioone:

  • Ta vastutab peakokk-serveriga suhtlemise eest.
  • See haldab sõlme esmast registreerimist kesksesse peakomplekti.
  • See tõmbab kokaraamatud alla ja rakendab need sõlmes selle konfigureerimiseks.
  • Keskse peakokkade serveri perioodiline küsitlus uute konfiguratsiooniartiklite hankimiseks, kui neid on.

Chef Serveri, Workstationi ja Node'i installimise kohta lisateabe saamiseks klõpsake siin

Peakoka õpetus - koka eelised:

See kokaõpetus on puudulik, kui ma ei sisalda koka peamisi eeliseid:

  • Chefi abil saate automatiseerida kogu infrastruktuuri. Kõiki käsitsi tehtavaid ülesandeid saab nüüd teha koka tööriista kaudu.
  • Chefi abil saate mõne minuti jooksul konfigureerida tuhandeid sõlme.
  • Peakokkade automatiseerimine töötab enamiku avalike pilvepakkumistega, näiteks .
  • Kokk mitte ainult ei automatiseeri asju, vaid hoiab ka süsteeme järjepideva kontrolli all ja kinnitab, et süsteem on tegelikult konfigureeritud nõutaval viisil (peakoka / klient teeb seda tööd). Kui keegi teeb faili muutmisega vea, parandab peakokk.
  • Kogu infrastruktuuri saab salvestada peakokkade hoidla kujul, mida saab kasutada infrastruktuuri nullist taastamiseks kavandina.

Loodan, et teile on see kokaõpetus siiani meeldinud, piisab teoreetilistest postitustest! olgem käed külge lustides.

Peakoka õpetus Kokaga alustamine | Edureka

Peakoka õpetus - praktiline

Siinkohal selgitan teile, kuidas kokatöökohas retsepti, kokaraamatut ja malli luua. Samuti selgitan teile, kuidas kasutada kokaraamatut tööjaamast peakokk-kliendini (peakokk).

Kasutan kahte virtuaalset pilti, ühte peakokkade tööjaama jaoks ja teisi peakoka sõlme jaoks. Chef Serveri jaoks kasutan peakoka hostitud versiooni (pilves). Chef Serveri jaoks saate kasutada ka füüsilist masinat.

Samm 1: Installige Chef DK (arenduskomplekt) oma koka tööjaama.

Chef DK on pakett, mis sisaldab kõiki Chefi kodeerimisel vajalikke arendustööriistu. Siin on allalaadimiseks link Peakokk DK .

Valige siin kasutatav operatsioonisüsteem. Kasutan CentOS 6.8. Nii et klõpsan nuppu Red Hat Enterprise Linux .

Kopeerige link vastavalt teie kasutatud CentOS-i versioonile. Kasutan CentOS 6, nagu näete, et olen ülaltoodud ekraanipildil esile tõstnud.

Minge oma tööjaama terminali ja laadige Chef DK alla käsu wget abil ja kleepige link.

Tehke see:

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

Pakett on nüüd alla laaditud. On aeg installida see pakett rpm abil.

Tehke see:

p / min -ivh chefdk-1.0.3-1.el6.x86_64.rpm

Chef DK on nüüd minu tööjaama installitud.

2. samm: Looge tööjaamas retsept

Alustame tööjaamas retsepti loomisega ja testige seda kohapeal, et see toimiks.Looge kaust nimega chef-repo. Selles kaustas saame luua oma retseptid.

Tehke see:

mkdir kokk-repo cd kokk-repo

Selles peakokk-repo kataloogis koostan retsepti nimega edureka.rb. .rb on rubiini jaoks kasutatav laiendus. Ma kasutan vim-redaktorit, võite kasutada mis tahes muud soovitud redaktorit, näiteks gedit, emac, vi jne.

Tehke see:

vim edureka.rb

Lisage siia järgmine:

faili '/ etc / motd' sisu 'Welcome to Chef' lõpp

See Recipe on dureka .rb loob faili nimega / etc / motd sisuga “Welcome to Chef”.

Nüüd kontrollin selle retsepti abil, kas see töötab.

Täitke see:

peakokk-taotlema edureka.rb

Seega on chef-repos loodud fail, millel on sisu Tere tulemast koka juurde.

3. samm: Moddifitseeriv retseptifail paketi httpd installimiseks

Muudan retsepti paketi httpd installimiseks oma tööjaama ja installimise kinnitamiseks kopeerin faili index.html vaikimisi dokumendijuure. Pakettressurssi vaiketoiming on installimine, mistõttu ei pea ma seda toimingut eraldi määrama.

Täitke see:

vim edureka.rb

Siia lisage järgmine:

pakett 'httpd' teenus 'httpd' toiming [: enable,: start] lõppfail '/var/www/html/index.html' tee sisu 'Tere tulemast Apache'i peakoka juurde'

Nüüd rakendan neid konfiguratsioone, käivitades järgmise käsu:

Täitke see:

peakokk-taotlema edureka.rb

Käskude täitmine kirjeldab retsepti kõiki eksemplare selgelt. See installib Apache paketi, lubab ja käivitab tööjaamas teenuse httpd. Ja see loob faili index.html vaikedokumendis koos sisuga “Welcome to Apache in Chef”.

Nüüd kinnitage Apache2 installimine, avades oma veebibrauseri. Sisestage oma avalik IP-aadress või hosti nimi. Minu puhul on see kohalik host.

4. samm: Nüüd loome oma esimese kokaraamatu.

Looge kataloog kokaraamatuteks ja käivitage kokaraamatu loomiseks järgmine käsk.

Täitke see:

mkdir kokaraamatud cd kokaraamatud peakokk genereerib kokaraamatu httpd_deploy

httpd_deploy on kokaraamatule antud nimi. Võite anda mis tahes nime, mida soovite.

Liigume sellesse uude kataloogi httpd_deploy.

Täitke see:

cd httpd_deploy

Vaatame nüüd loodud kokaraamatu failistruktuuri.

Täitke see:

puu

5. samm: Clooge mallifail.

Varem lõin mõne sisuga faili, kuid see ei sobi minu retseptide ja kokaraamatute struktuuridega. Nii et vaatame, kuidas saame luua malli index.html lehele.

Täitke see:

peakokk loob malli httpd_deploy index.html

Nüüd, kui näete minu kokaraamatu failistruktuuri, on nimemallidega loodud kaust failiga index.html.erb. Muudan seda mallifaili index.html.erb ja lisan sinna oma retsepti. Vaadake allpool toodud näidet:

Minge vaikekataloogi

Täitke see:

cd / root / chef-repo / kokaraamat / httpd_deploy / templates / default

Siin saate muuta malli index.html.erb, kasutades mis tahes teile sobivat redaktorit. Ma kasutan vim-redaktorit.

Täitke see:

vim index.html.erb

Nüüd lisage järgmine:

Tere tulemast peakokk Apache juurutamisse

6. samm: Clooge selle malliga retsept.

Minge retseptide kataloogi.

Täitke t tema:

cd / root / chef-repo / kokaraamatud / httpd_deploy / retseptid

Nüüd muutke faili default.rb, kasutades soovitud redaktorit. Ma kasutan vim-redaktorit.

Täitke see:

vim vaikimisi.rb

Siia lisage järgmine:

pakett 'httpd' teenus 'httpd' toiming [: enable,: start] lõpumall '/var/www/html/index.html' do source 'index.html.erb' end

Nüüd lähen tagasi oma chef-repo kausta ja käivitan / testin oma retsepti oma Workstationis.

Täitke see:

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

Vastavalt minu retseptile on Apache installitud minu tööjaama, teenust käivitatakse ja lubatakse käivitamisel. Samuti on minu vaikedokumendi juure loodud mallifail.

Nüüd, kui olen oma töökohta testinud. On aeg peakoka server seadistada.

7. samm: Peakokiserveri seadistamine

Kasutan pilves Chef Serveri hostitud versiooni, kuid võite kasutada ka füüsilist masinat. See peakokk on kohal haldama.kokk.io

Looge siin konto, kui teil seda pole. Kui olete konto loonud, logige sisse oma sisselogimisandmetega.

Nii näeb välja Chef Server.

mis on java tupik

Kui logite sisse esimest korda, on organisatsiooni loomine kõige esimene asi, mida teete. Organisatsioon on põhimõtteliselt rühm masinaid, mida saate hallata peakokkade serveriga.

Esmalt lähen halduse vahekaardile. Seal olen juba loonud organisatsiooni nimega edu. Seega pean stardikomplekti oma tööjaama alla laadima. See stardikomplekt aitab teil faile tööjaamast koka serverisse lükata. Klõpsake paremas servas oleval seadete ikoonil ja klõpsake nuppu Starter Kit.

Kui klõpsate seal, saate võimaluse Stardikomplekt alla laadida. Starter Kit'i zip-faili allalaadimiseks klõpsake seda lihtsalt.

Teisaldage see fail oma juurkataloogi.Nüüd pakkige see ZIP-fail lahti, kasutades terminalis käsku unzip. Märkate, et see sisaldab kataloogi nimega chef-repo.

Täitke see:

lahti peakokk-starter.zip

Nüüd teisaldage see stardikomplekt kokaraamatu kataloogi kokk-repo kataloogis.

Täitke see:

mv starter / root / chef-repo / kokaraamat

Peakoka kokaraamatud on saadaval kokaraamatute superturul, saame minna peakokkade SuperMarketisse. Laadige vajalikud kokaraamatud alla aadressilt supermarket.chef.io . Laadin alla ühe kokaraamatu, et sealt Apache installida.

Täitke e t h on:

cd-kokk-repo nuga kokaraamat saidi allalaadimine learn_chef_httpd

Apache kokaraamatu jaoks on alla laaditud tõrvapall. Nüüd peame selle allalaaditud Tar-faili sisu välja pakkima. Selleks kasutan tõrva käsku.

tar -xvf learn_chef_httpd-0.2.0.tar.gz

Kõik vajalikud failid luuakse selle kokaraamatu all automaatselt. Muudatusi pole vaja teha. Kontrollime retseptide kirjeldust minu retseptide kaustas.

Täitke t h on :

cd / root / chef-repo / learn_chef_httpd / recipes cat default.rb

Nüüd laadin selle kokaraamatu lihtsalt oma koka serverisse üles, kuna see tundub mulle täiuslik.

8. samm: Laadige kokaraamat üles koka serverisse.

Allalaaditud Apache kokaraamatu üleslaadimiseks teisaldage see fail fail_chef_httpd esmalt chef-repo kausta Cookbookid. Seejärel muutke oma kataloog kokaraamatuteks.

Täitke t h on :

mv / root / chef-repo / learn_chef_httpd / root / chef-repo / kokaraamatud

Nüüd liikuge sellesse kokaraamatute kataloogi.

Tehke see:

cd kokaraamatud

Nüüd käivitage selles kataloogis Apache Cookboo üleslaadimiseks järgmine käskkuni:

Exec ute t h on:

nuga kokaraamat üleslaadimine learn_chef_httpd

Kontrollige kokaraamatut peakokkade serveri haldamise konsoolist. Reeglite jaotisest leiate üleslaaditud kokaraamatu. Vaadake allolevat ekraanipilti:

Nüüd on meie viimane samm lisada peakokk. Mul on seadistatud tööjaam, kokaserver ja nüüd pean oma kliendid automatiseerimiseks koka serverisse lisama.

9. samm: Peakokkade sõlme lisamine kokaserverisse.

Demonstreerimise eesmärgil kasutan koka sõlmena ühte CentOS-i masinat. Ühe koka serverisse võib olla ühendatud sadu sõlme. Minu Node'i masina terminalivärv erineb tööjaamast, nii et saate eristada mõlemat.

Selleks on mul vaja lihtsalt oma Node'i IP-aadressi, et ma täidaksin oma Node-masinas järgmise käsuon.

Exec u t on t h on:

ifconfig

Lisan oma peakoka serverisse, käivitades käsu Knife Bootstrap, milles määran koka sõlme IP-aadressi ja selle nime. Käivitage näidatud käsk beloasukohas:

Exec ute t h on:

nuga bootstrap 192.168.56.102 --ssh-user root --ssh-password edureka --nime-nimi chefNode

See käsk algatab ka peakokk-kliendi installimise koka sõlmes. Selle saate kontrollida tööjaama CLI-st käsuga nuga, nagu on näidatud beloasukohas:

Exec ute t h on:

Noasõlmede loend

Kontrollida saab ka peakokk-serverist. Minge oma serverihalduskonsooli vahekaardile sõlmed. Siin märkate, et teie lisatud sõlm on olemas. Vaadake allolevat ekraanipilti.

10. samm: Halda sõlmede käitusloendit

Vaatame, kuidas saame kokaraamatu sõlme lisada ja selle käivitamisloendit peakoka serveris hallata. Nagu näete alloleval ekraanipildil, klõpsake loendi Käivita haldamiseks vahekaarti Toimingud ja valige suvand Muuda käivitusloendit.

Saadaolevate retseptide alt näete meie learn_chef_httpd retsepti, saate selle lohistada olemasolevatest pakettidest praegusesse Run List'i ja salvestada Run nimekirja.

Nüüd logige sisse oma sõlme ja käivitage lihtsalt peakokk, et käivitada Run List.

Exec ute t h on:

peaklient

Loodan, et teile meeldis see kokaõpetus ja õppisite, kuidas koka abil saab sadu sõlme konfigureerida. Peakokk mängib DevOpsi saavutamiseks paljudes organisatsioonides üliolulist rolli. Peakokaga avaldavad organisatsioonid sagedamini rakendusi ja reliatbklaas.

Kui leidsite selle ajaveebi lehelt Peakoka õpetus ”Asjakohane, vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Edureka DevOpsi sertifitseerimiskoolitus aitab õppijatel omandada teadmisi mitmesuguste DevOpsi protsesside ja tööriistade kohta, nagu nukk, peakokk, Jenkins, Nagios ja GIT SDLC mitmete sammude automatiseerimiseks.