Vodič za kuhara - Pretvorite infrastrukturu u kod



Chef Tutorial drugi je blog Chef blogova. Ovaj blog s primjerima objašnjava arhitekturu kuhara i komponente kuhara kao što su Kuharice, Recepti itd.

Vodič za kuhara

Chef Tutorial drugi je blog Chef blogova. U mojoj prethodni blog , Objasnio sam što je Chef, Upravljanje konfiguracijom i kako Chef postiže Upravljanje konfiguracijom uz pomoć slučaja Gannett.

U ovom vodiču za kuhara bit će obrađene sljedeće teme:





Siguran sam da nakon čitanja moje prethodni blog sigurno vas zanima znati kako točno radi kuhar. Prvi odjeljak ovog bloga Chef Tutorial detaljno će vam objasniti arhitekturu kuhara, što će razjasniti sve vaše sumnje.



Vodič za kuhara - arhitektura kuhara

Kao što je prikazano na donjem dijagramu, postoje tri glavne komponente kuhara:

  • Radna stanica
  • Poslužitelj
  • Čvorovi

Arhitektura kuhara - Vodič za kuhara - Edureka

Vodič za kuhara - radna stanica



Radna stanica je mjesto odakle su sve konfiguracije kuharauspio. Ovaj stroj sadrži sve podatke o konfiguraciji koji se kasnije mogu poslati na središnji Chef poslužitelj. Te se konfiguracije testiraju na radnoj stanici prije nego što se uguraju u Chef Server. Radna stanica sastoji se od alata naredbenog retka tzv Nož, koji se koristi za interakciju s Chef poslužiteljem. Može biti više radnih stanica koje zajedno upravljaju središnjim Chef poslužiteljem.

Radne stanice odgovorne su za obavljanje sljedećih funkcija:

  • Pisanje kuharica i recepata koji će kasnije biti prebačeni na središnji Chef Server
  • Upravljanje čvorovima na središnjem Chef poslužitelju

Sada, shvatimo gore spomenute točke jednu po jednu.

Pisanje kuharica i recepata koji će kasnije biti prebačeni na središnji Chef Server

Recepti: Recept je zbirka resursa koja opisuje određenu konfiguraciju ili politiku. Opisuje sve što je potrebno za konfiguriranje dijela sustava. Korisnik piše Recepte koji opisuju kako Chef upravlja aplikacijama i uslužnim programima (poput Apache HTTP poslužitelja, MySQL ili Hadoop) i kako ih treba konfigurirati.

Ovi recepti opisuju niz resursa koji bi trebali biti u određenom stanju, tj. Pakete koji bi trebali biti instalirani, usluge koje bi trebale biti pokrenute ili datoteke koje bi trebale biti napisane.

Kasnije u blogu , Pokazat ću vam kako napisati recept za instaliranje paketa Apache2 na Chef Nodes tako što ćete napisati rubin kod u Chef Workstation.

Kuharice: Više recepata može se grupirati u obliku Kuharice. Kuharica definira scenarij i sadrži sve što je potrebno za potporu tom scenariju:

  • Recepti, koji određuje resurse koje treba koristiti i redoslijed kojim se trebaju primijeniti
  • Vrijednosti atributa
  • Distribucije datoteka
  • Predlošci
  • Proširenja za Chefa, poput knjižnica, definicija i prilagođenih resursa

Upravljanje čvorovima na središnjem Chef poslužitelju

Sustav radne stanice imat će potrebne uslužne programe naredbenog retka za kontrolu i upravljanje svim aspektima središnjeg Chef poslužitelja. Stvari poput dodavanja novog čvora na središnji chef poslužitelj, brisanja čvora sa središnjeg chef poslužitelja, mijenjanja konfiguracija čvora itd. Mogu se upravljati iz same radne stanice.

Sada da vidimo, koje su komponente radne stanice potrebne za obavljanje gore navedenih funkcija.

Radne stanice imaju dvije glavne komponente:

Usluga noža: Ovaj alat naredbenog retka može se koristiti za komunikaciju sa središnjim Chef poslužiteljem s radne stanice. Dodavanje, uklanjanje, promjena konfiguracija čvorova u središnjem Chef poslužitelju provest će se pomoću ovog uslužnog programa Knife. Pomoću uslužnog programa Knife, Kuharice se mogu prenijeti na središnji Chef Server i Roles, a može se i upravljati okruženjima. U osnovi, svakim aspektom središnjeg Chef servera može se upravljati s radne stanice pomoću uslužnog programa Knife.

Lokalno spremište kuhara: Na ovom je mjestu pohranjena svaka konfiguracijska komponenta središnjeg Chef poslužitelja. Ovo Chef spremište može se sinkronizirati sa središnjim Chef poslužiteljem (opet pomoću samog uslužnog programa nož).

Vodič za kuhara - poslužitelj za kuhare

Chef poslužitelj djeluje kao središte za podatke o konfiguraciji. Chef Server pohranjuje Kuharice, politike koje se primjenjuju na čvorove i metapodatke koji opisuju svaki registrirani čvor kojim upravlja Chef-klijent.

Čvorovi koriste chef-klijenta da od chef poslužitelja zatraže detalje o konfiguraciji, poput recepata, predložaka i distribucije datoteka. Šef-klijent tada obavlja što je moguće više poslova konfiguracije na samim čvorovima (a ne na Chef poslužitelju). Na svakom čvoru instaliran je softver Klijentskog klijenta, koji će povući konfiguraciju sa središnjeg Chef poslužitelja koja je primjenjiva na taj čvor. Ovaj skalabilni pristup distribuira napore oko konfiguracije u cijeloj organizaciji.

Vodič za kuhara - čvorovi za kuhare

Čvorovi mogu biti virtualni poslužitelj zasnovan na oblaku ili fizički poslužitelj u vašem vlastitom podatkovnom centru, kojim se upravlja pomoću središnjeg Chef poslužitelja. Glavna komponenta koja mora biti prisutna na čvoru je agent koji će uspostaviti komunikaciju sa središnjim Chef poslužiteljem. To se zove klijent kuhara.

Kuharski klijent obavlja sljedeće funkcije:

  • Odgovorna je za interakciju sa središnjim Chef poslužiteljem.
  • Upravlja početnom registracijom Čvora na središnjem Chef poslužitelju.
  • Povlači Kuharice i primjenjuje ih na Čvoru kako bi ih konfigurirao.
  • Periodično anketiranje središnjeg poslužitelja kuhara radi dohvaćanja novih stavki konfiguracije, ako ih ima.

Kliknite ovdje da biste saznali kako instalirati Chef Server, radnu stanicu i čvor

Vodič za kuhara - Prednosti kuhara:

Ovaj vodič za kuhara bit će nepotpun ako ne budem uključivao ključne prednosti kuhara:

  • Pomoću Chefa možete automatizirati cijelu infrastrukturu. Svi zadaci koji su se ručno radili, sada se mogu obavljati putem alata Chef.
  • Pomoću Chefa možete konfigurirati tisuće čvorova u roku od nekoliko minuta.
  • Automatizacija kuhara radi s većinom javnih ponuda u oblaku poput .
  • Kuhar neće samo automatizirati stvari, već će i održavati sustave pod dosljednom provjerom i potvrđivati ​​da je sustav zapravo konfiguriran onako kako je potrebno (Chef Agent / klijent radi ovaj posao). Ako netko pogriješi izmjenom datoteke, kuhar će je ispraviti.
  • Čitava infrastruktura može se snimiti u obliku Chef spremišta, koje se može koristiti kao nacrt za ponovno stvaranje infrastrukture od nule.

Nadam se da ste do sada uživali u ovom vodiču za kuhara, dosta s teoretskim objavama! zabavimo se s praktičnim.

Vodič za kuhara | Početak rada sa šefom kuhinje | Edureka

Vodič za kuhara - Praktični rad

Ovdje ću vam objasniti kako stvoriti recept, kuharicu i predložak na radnoj stanici kuhara. Također ću vam objasniti kako rasporediti kuharicu s radne stanice na klijenta (Chef Node).

Koristim dvije virtualne slike jednu za Chef Workstation i drugu za Chef Node. Za Chef Server koristit ću hostiranu verziju Chefa (u oblaku). Također možete koristiti fizički stroj za Chef Server.

Korak 1: Instalirajte Chef DK (Razvojni komplet) na svoju Chef radnu stanicu.

Chef DK je paket koji sadrži sve razvojne alate koji će vam trebati prilikom kodiranja Chefa. Ovdje je veza za preuzimanje Kuhar DK .

Ovdje odaberite operativni sustav koji koristite. Koristim CentOS 6.8. Dakle, kliknut ću na Red Hat Enterprise Linux .

Kopirajte vezu prema verziji CentOS-a koju koristite. Koristim CentOS 6, kao što vidite kako sam istaknuo na gornjoj snimci zaslona.

Idite na terminal svoje radne stanice i preuzmite Chef DK pomoću naredbe wget i zalijepite vezu.

Izvršite ovo:

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

Paket je sada preuzet. Vrijeme je da instalirate ovaj paket pomoću rpm.

Izvršite ovo:

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

Chef DK je sada instaliran na mojoj radnoj stanici.

Korak 2: Stvorite recept na radnoj stanici

Krenimo od stvaranja recepta na radnoj stanici i testirajte ga lokalno kako bismo bili sigurni da radi.Stvorite mapu s imenom chef-repo. U ovoj mapi možemo stvoriti naše recepte.

Izvršite ovo:

mkdir chef-repo cd chef-repo

U ovom chef-repo direktoriju stvorit ću recept pod nazivom edureka.rb. .rb je nastavak koji se koristi za rubin. Ja ću koristiti vim editor, vi možete koristiti bilo koji drugi editor koji želite, poput gedit, emac, vi itd.

Izvršite ovo:

vim edureka.rb

Ovdje dodajte sljedeće:

datoteka '/ etc / motd' sadržaj 'Dobrodošli kod kuhara' kraj

Ovaj R.ecipe je dureka .rb kreira datoteku pod nazivom / etc / motd sa sadržajem 'Dobrodošli u kuhara'.

Sada ću pomoću ovog recepta provjeriti radi li.

Izvršiti ovaj:

kuhar-primijeniti edureka.rb

Dakle, postoji datoteka stvorena u chef-repo-u koja ima sadržaj Dobrodošli u kuhara.

Korak 3: Mdatoteka odijevanja recepta za instalaciju httpd paketa

Izmijenit ću Recept da bih instalirao httpd paket na moju radnu stanicu i kopirao datoteku index.html u zadani korijen dokumenta kako bih potvrdio instalaciju. Zadana radnja resursa paketa je instalacija, stoga ne trebam zasebno navesti tu radnju.

Izvršiti ovaj:

vim edureka.rb

Ovdje dodajte sljedeće:

paket 'httpd' usluga 'httpd' učiniti radnju [: omogućiti,: start] završna datoteka '/var/www/html/index.html' učiniti sadržaj 'Dobrodošli u Apache in Chef' kraj

Sada ću primijeniti ove konfiguracije izvršavanjem naredbe u nastavku:

Izvršiti ovaj:

kuhar-primijeniti edureka.rb

Izvršenje naredbe jasno opisuje svaku instancu u receptu. Instalira paket Apache, omogućuje i pokreće uslugu httpd na radnoj stanici. I stvara datoteku index.html u zadanom korijenu dokumenta sa sadržajem 'Dobrodošli u Apache u chefu'.

Sada potvrdite instalaciju Apache2 otvaranjem vašeg web preglednika. Upišite svoju javnu IP adresu ili ime domaćina. U mom slučaju to je localhost.

Korak 4: Sada ćemo stvoriti našu prvu Kuharicu.

Izradite direktorij koji se zove kuharske knjige i izvršite naredbu u nastavku da biste generirali Kuharicu.

Izvršiti ovaj:

mkdir kuharice cd kuharice chef generirati kuharicu httpd_deploy

httpd_deploy naziv je koji se daje Kuharici. Možete dati bilo koje ime koje želite.

Prijeđimo na ovaj novi direktorij httpd_deploy.

Izvršiti ovaj:

cd httpd_deploy

Pogledajmo sada strukturu datoteka kreirane Kuharice.

Izvršiti ovaj:

stablo

Korak 5: Create datoteku predloška.

Ranije sam stvorio datoteku s nekim sadržajem, ali to ne može odgovarati mojim strukturama Recepti i Kuharice. Pa da vidimo kako možemo stvoriti Predložak za stranicu index.html.

Izvršiti ovaj:

chef generirati predložak httpd_deploy index.html

Ako vidite moju strukturu datoteke Cookbook, postoji mapa kreirana s predlošcima imena s datotekom index.html.erb. Uredit ću ovu datoteku predloška index.html.erb i dodati joj svoj recept. Pogledajte primjer u nastavku:

Idite na zadani direktorij

Izvršiti ovaj:

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

Ovdje uredite predložak index.html.erb pomoću bilo kojeg uređivača koji vam odgovara. Koristit ću vim editor.

Izvršiti ovaj:

vim index.html.erb

Sada dodajte sljedeće:

Dobrodošli u implementaciju chefa Apachea

Korak 6: Cstvorite recept s ovim predloškom.

Idite u direktorij Recepti.

Izvršiti t njegov:

cd / root / chef-repo / kuharske knjige / httpd_deploy / recepti

Sada uredite datoteku default.rb pomoću bilo kojeg uređivača koji želite. Koristit ću vim editor.

Izvršiti ovaj:

vim zadani.rb

Ovdje dodajte sljedeće:

paket 'httpd' usluga 'httpd' učini akciju [: omogući,: start] kraj predloška '/var/www/html/index.html' uradi izvor 'index.html.erb' kraj

Sada ću se vratiti u svoju mapu chef-repo i pokrenuti / testirati svoj recept na svojoj radnoj stanici.

Izvršiti ovaj:

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

Prema mom receptu, Apache je instaliran na mojoj radnoj stanici, usluga se pokreće i omogućuje prilikom pokretanja. Također je kreirana datoteka predloška na mom zadanom korijenu dokumenta.

Sad kad sam testirao svoju radnu stanicu. Vrijeme je da postavite Chef Server.

Korak 7: Postavljanje poslužitelja kuhara

Upotrijebit ću hostiranu verziju Chef servera u oblaku, ali možete koristiti i fizički stroj. Ovaj je kuhar-poslužitelj prisutan na upravljati.chef.io

Ovdje stvorite račun ako ga nemate. Nakon što stvorite račun, prijavite se svojim vjerodajnicama za prijavu.

Ovako izgleda Chef Server.

Ako se prijavljujete prvi put, prvo što ćete raditi je stvaranje organizacije. Organizacija je u osnovi grupa Strojeva kojima ćete upravljati s Chef poslužiteljem.

Prvo ću otići na karticu administracije. Tamo sam već stvorio organizaciju koja se zove edu. Stoga moram preuzeti početni komplet na svoju radnu stanicu. Ovaj početni komplet pomoći će vam da datoteke s radne stanice prebacite na Chef poslužitelj. Kliknite ikonu postavki s desne strane i kliknite Starter Kit.

Kad tamo kliknete, dobit ćete opciju za preuzimanje Starter Kit-a. Samo kliknite na nju za preuzimanje zip datoteke Starter Kit.

Premjestite ovu datoteku u svoj korijenski direktorij.Sada raspakirajte ovu zip datoteku pomoću naredbe unzip na vašem terminalu. Primijetit ćete da uključuje direktorij zvan chef-repo.

Izvršiti ovaj:

raspakirajte chef-starter.zip

Sada premjestite ovaj početni pribor u direktorij kuharica u chef-repo direktoriju.

Izvršiti ovaj:

mv starter / root / chef-repo / kuharica

Kuharice kuhara dostupne su na Cookbook Super Marketu, možemo otići na Chef SuperMarket. Preuzmite potrebne kuharice s supermarket.chef.io . Preuzimam jednu knjigu s kuharima da bih odatle instalirao Apache.

Izvršiti e t h je:

cd kuhar-repo nož kuharska knjiga preuzimanje stranice learn_chef_httpd

Tu je kuglica katrana preuzeta za Apache Cookbook. Sad moramo izdvojiti sadržaj iz ove preuzete Tar datoteke. Za to ću upotrijebiti tar naredbu.

tar -xvf learn_chef_httpd-0.2.0.tar.gz

Sve potrebne datoteke automatski se kreiraju u ovoj Kuharici. Nema potrebe za bilo kakvim izmjenama. Provjerimo opis recepta u mapi mojih recepata.

Izvršiti t h je :

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

spajanje sortiranje c ++ implementacija

Sad ću samo prenijeti ovu kuharicu na svoj Chef Server, jer mi izgleda savršeno.

Korak 8: Prenesite kuharicu na Chef Server.

Da biste prenijeli Apache kuharicu koju sam preuzeo, prvo premjestite ovu datoteku learn_chef_httpd u mapu Cookbooks u chef-repo. Zatim promijenite svoj imenik u kuharice.

Izvršiti t h je :

mv / root / chef-repo / learn_chef_httpd / root / chef-repo / kuharske knjige

Sada prijeđite na ovaj direktorij kuharica.

Izvršite ovo:

CD kuharice

Sada u ovom direktoriju izvršite donju naredbu za prijenos Apache Cookbookado:

Izv ute t h je:

nož kuharica upload learn_chef_httpd

Provjerite Kuharicu s konzole za upravljanje kuharskim poslužiteljem. U odjeljku s pravilima pronaći ćete Kuharicu koju ste prenijeli. Pogledajte snimku zaslona u nastavku:

Sada je naš posljednji korak dodati Chef Node. Postavio sam radnu stanicu, chef poslužitelj i sada moram dodati svoje klijente na chef server radi automatizacije.

9. korak: Dodavanje Chef čvora na Chef poslužitelj.

U svrhu demonstracije koristit ću jedan CentOS stroj kao Chef Node. Na jedan Chef poslužitelj može biti povezano stotine čvorova. Boja terminala mog Node stroja razlikuje se od radne stanice tako da ćete moći razlikovati oboje.

Samo mi treba IP adresa mog čvora da bih izvršio donju naredbu u svom stroju čvoraje.

Izv u t je t h je:

ifconfig

Ja ću dodati svoj Chef čvor na poslužitelj izvršavanjem naredbe Knife Bootstrap u kojoj ću odrediti IP adresu Chef čvora i njegovo ime. Izvršite prikazanu naredbu belou:

Izv ute t h je:

nož bootstrap 192.168.56.102 --ssh-user root --ssh-password edureka --node-name chefNode

Ova naredba će također pokrenuti instalaciju klijenta kuhara u Chef čvoru. Možete ga provjeriti iz CLI-a na radnoj stanici pomoću naredbe nož, kao što je prikazano belou:

Izv ute t h je:

Popis čvorova noža

Također možete provjeriti na Chef poslužitelju. Idite na karticu čvorova u konzoli za upravljanje poslužiteljem, ovdje ćete primijetiti da je čvor koji ste dodali prisutan. Pogledajte snimku zaslona u nastavku.

10. korak: Upravljanje popisom izvođenja čvorova

Pogledajmo kako možemo dodati Cookbook na Node i upravljati njegovim popisom Run s Chef poslužitelja. Kao što možete vidjeti na snimci zaslona u nastavku, kliknite karticu Akcije i odaberite opciju Uredi popis pokretanja za upravljanje popisom Pokreni.

U Dostupnim receptima možete vidjeti naš recept learn_chef_httpd, možete ga povući iz dostupnih paketa na trenutni popis pokretanja i spremiti popis pokretanja.

Sada se prijavite na svoj čvor i jednostavno pokrenite chef-client da biste izvršili Run List.

Izv ute t h je:

glavni klijent

Nadam se da ste uživali u ovom vodiču za kuhare i naučili kako se chef može koristiti za konfiguriranje stotina čvorova. Kuhar igra vitalnu ulogu u mnogim organizacijama kako bi postigao DevOps. S Chefom organizacije češće i pouzdanije objavljuju aplikacijebstaklo.

Ako ste pronašli ovaj blog na “ Vodič za kuhara ”Relevantno, provjerite Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edureka DevOps certifikacijski tečaj pomaže učenicima da steknu stručnost u različitim DevOps procesima i alatima kao što su Lutka, Kuhar, Jenkins, Nagios i GIT za automatizaciju više koraka u SDLC-u.