Virėjo pamoka - transformuokite infrastruktūrą į kodą



„Chef Tutorial“ yra antrasis „Chef“ tinklaraščių ciklo tinklaraštis. Šiame tinklaraštyje pavyzdžiais paaiškinama virėjo architektūra ir virėjo komponentai, pvz., „Knygų knygos“, „Receptai“ ir kt.

Virėjo pamoka

„Chef Tutorial“ yra antrasis „Chef“ tinklaraščių ciklo tinklaraštis. Mano ankstesnis tinklaraštis , Aš paaiškinau, kas yra virėjas, konfigūracijos valdymas ir kaip virėjas pasiekia konfigūracijos valdymą naudodamasis „Gannett“ naudojimo pavyzdžiu.

Šioje virėjo pamokoje bus aptariamos šios temos:





Aš tikiu perskaičiusi mano ankstesnis tinklaraštis jums turi būti įdomu sužinoti, kaip tiksliai veikia virėjas. Pirmame šio „Chef Tutorial“ tinklaraščio skyriuje išsamiai paaiškinsite virėjo architektūrą, kuri pašalins visas jūsų abejones.



Virėjo pamoka - virėjo architektūra

Kaip parodyta toliau pateiktoje diagramoje, yra trys pagrindiniai virėjo komponentai:

  • Darbo stotis
  • Serveris
  • Mazgai

Virėjo architektūra - virėjo pamoka - „Edureka“

Virėjo pamoka - darbo vieta



Darbo stotis yra vieta, iš kurios yra visos virėjo konfigūracijosvaldoma. Ši mašina talpina visus konfigūracijos duomenis, kuriuos vėliau galima perkelti į centrinį virėjų serverį. Šios konfigūracijos yra išbandomos darbo stotyje prieš ją įvedant į „Chef Server“. Darbo vietą sudaro komandinės eilutės įrankis, vadinamas Peilis, kuri naudojama sąveikai su virėjo serveriu. Gali būti kelios darbo vietos, kurios kartu valdo centrinį virėjų serverį.

Darbo vietos yra atsakingos už šių funkcijų atlikimą:

  • Rašyti kulinarines knygas ir receptus, kurie vėliau bus perkelti į centrinį virėjų serverį
  • Centrinio virėjo serverio mazgų tvarkymas

Dabar supraskime aukščiau paminėtus dalykus po vieną.

Rašyti kulinarines knygas ir receptus, kurie vėliau bus perkelti į centrinį virėjų serverį

Receptai: Receptas yra išteklių rinkinys, apibūdinantis tam tikrą konfigūraciją ar politiką. Čia aprašoma viskas, ko reikia norint sukonfigūruoti sistemos dalį. Vartotojas rašo receptus, kuriuose aprašoma, kaip virėjas valdo programas ir komunalines paslaugas (pvz., „Apache HTTP Server“, „MySQL“ ar „Hadoop“) ir kaip jie turi būti sukonfigūruoti.

Šie receptai apibūdina išteklių, kurie turėtų būti tam tikroje būsenoje, seriją, t. Y. Paketai, kuriuos reikėtų įdiegti, paslaugos, kurios turėtų veikti, arba failai, kuriuos reikėtų rašyti.

Vėliau tinklaraštyje , Aš jums parodysiu, kaip parašyti receptą, kaip įdiegti „Apache2“ paketą virėjų mazguose, parašius rubino kodą „Chef Workstation“.

kaip naudoti stringbuffer Java

Virimo knygos: Keli receptai gali būti sugrupuoti ir sudaryti kulinarinę knygą. „Cookbook“ apibūdina scenarijų ir jame yra viskas, ko reikia tam scenarijui paremti:

  • Receptai, kuriame nurodomi naudojami ištekliai ir jų taikymo tvarka
  • Atributų vertės
  • Failų paskirstymai
  • Šablonai
  • „Chef“ plėtiniai, pvz., Bibliotekos, apibrėžimai ir pasirinktiniai ištekliai

Centrinio virėjo serverio mazgų tvarkymas

„Workstation“ sistemoje bus reikalingos komandinės eilutės priemonės, skirtos valdyti ir valdyti visus centrinio virėjo serverio aspektus. Tokie dalykai, kaip naujo mazgo pridėjimas prie centrinio virėjo serverio, mazgo ištrynimas iš centrinio virėjo serverio, mazgų konfigūracijų modifikavimas ir kt., Gali būti valdomi iš pačios darbo vietos.

Dabar pažiūrėkime, kokie „Workstation“ komponentai reikalingi minėtoms funkcijoms atlikti.

Darbo stotys turi du pagrindinius komponentus:

Peilio įrankis: Šis komandinės eilutės įrankis gali būti naudojamas bendraujant su centriniu virėjo serveriu iš „Workstation“. Mazgų konfigūracijų pridėjimas, pašalinimas, keitimas centriniame virėjo serveryje bus atliekamas naudojant šią „Knife“ priemonę. Naudojant „Knife“ įrankį, kulinarijos knygas galima įkelti į centrinį virėjų serverį ir vaidmenis, taip pat galima valdyti aplinkas. Iš esmės kiekvieną centrinio virėjo serverio aspektą galima valdyti iš „Workstation“ naudojant „Knife“ įrankį.

Vietinė virėjų talpykla: Čia saugomi visi centrinio „Chef Server“ konfigūracijos komponentai. Šią virėjų saugyklą galima sinchronizuoti su centriniu „Chef Server“ (dar kartą naudojant patį peilio įrankį).

Virėjo pamoka - virėjo serveris

„Chef Server“ veikia kaip konfigūracijos duomenų centras. „Chef Server“ saugo „Cookbook“ knygas, mazgams taikomą politiką ir metaduomenis, apibūdinančius kiekvieną registruotą mazgą, kurį tvarko „Chef-Client“.

Mazgai naudoja „Chef-Client“, norėdami paprašyti „Chef Server“ konfigūracijos informacijos, pvz., Receptų, šablonų ir failų paskirstymo. Tada „Chef-Client“ atlieka kuo daugiau konfigūracijos darbų pačiuose mazguose (o ne virėjo serveryje). Kiekviename mazge yra įdiegta „Chef Client“ programinė įranga, kuri iš centrinio „Chef Server“ atims konfigūraciją, taikomą tam mazgui. Šis keičiamo dydžio metodas paskirsto konfigūracijos pastangas visoje organizacijoje.

Virėjo pamoka - virėjo mazgai

Mazgai gali būti debesies pagrindu veikiantis virtualus serveris arba fizinis jūsų duomenų centro serveris, valdomas naudojant centrinį virėjo serverį. Pagrindinis komponentas, kurį reikia pateikti mazge, yra agentas, kuris užmegs ryšį su centriniu virėjo serveriu. Tai vadinama „Chef Client“.

„Chef Client“ atlieka šias funkcijas:

  • Ji yra atsakinga už sąveiką su centriniu virėjo serveriu.
  • Ji valdo pirminę Mazgo registraciją centriniame virėjų serveryje.
  • Jis nusuka „Cookbooks“ ir pritaiko juos mazge, kad sukonfigūruotų.
  • Periodinė centrinio virėjo serverio apklausa, norint gauti naujų konfigūracijos elementų, jei tokių yra.

Spustelėkite čia, jei norite sužinoti, kaip įdiegti „Chef Server“, „Workstation“ ir „Node“

Virėjo pamoka - virėjo pranašumai:

Ši virėjo pamoka bus neišsami, jei neįtrauksiu pagrindinių virėjo privalumų:

  • Naudodami virėją galite automatizuoti visą infrastruktūrą. Visas užduotis, kurios buvo atliekamos rankiniu būdu, dabar galima atlikti naudojant virėjo įrankį.
  • Naudodami virėją, per kelias minutes galite sukonfigūruoti tūkstančius mazgų.
  • Virėjų automatika veikia su dauguma viešųjų debesų pasiūlymų, tokių kaip .
  • Virėjas ne tik automatizuos dalykus, bet ir nuolat tikrins sistemas ir patvirtins, kad sistema iš tikrųjų sukonfigūruota taip, kaip reikia (virėjo atstovas / klientas atlieka šį darbą). Jei kas nors suklydo keisdamas failą, virėjas jį ištaisys.
  • Visą infrastruktūrą galima įrašyti virėjų talpyklos forma, kuri gali būti naudojama kaip projektas atkuriant infrastruktūrą nuo nulio.

Tikiuosi, kad iki šiol jums patiko ši virėjo pamoka, pakanka teorinių pranešimų! smagiai praleiskime laiką.

Virėjo pamoka | Darbo su virėju pradžia Edureka

Virėjo pamoka - rankos

Čia paaiškinsiu, kaip sukurti receptą, kulinarinę knygą ir šabloną virėjų darbo stotyje. Taip pat paaiškinsiu, kaip įdiegti „Cookbook“ iš „Workstation“ į „Chef-Client“ (virėjo mazgas).

Aš naudoju du virtualius vaizdus virėjo darbo stočiai ir kitą virėjo mazgeliui. „Chef Server“ naudosiu priimtą „Chef“ versiją (debesyje). „Chef Server“ taip pat galite naudoti fizinę mašiną.

1 žingsnis: Įdiekite „Chef DK“ („Development Kit“) į savo virėjo darbo vietą.

„Chef DK“ yra paketas, kuriame yra visos kūrimo priemonės, kurių jums prireiks koduojant „Chef“. Čia yra nuoroda, kurią galite atsisiųsti Virėjas DK .

Čia pasirinkite operacinę sistemą, kurią naudojate. Aš naudoju „CentOS 6.8“. Taigi, aš spustelėsiu „Red Hat Enterprise Linux“ .

Nukopijuokite nuorodą pagal naudojamą „CentOS“ versiją. Aš naudoju „CentOS 6“, nes matote, kad paryškinau pirmiau pateiktoje ekrano kopijoje.

Eikite į „Workstation“ terminalą ir atsisiųskite „Chef DK“ naudodami komandą „wget“ ir įklijuokite nuorodą.

Vykdykite tai:

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

Dabar paketas atsisiųstas. Atėjo laikas įdiegti šį paketą naudojant rpm.

Vykdykite tai:

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

Virėjas DK dabar įdiegtas mano darbo stotyje.

2 žingsnis: Sukurkite receptą darbo stotyje

Pirmiausia sukurkime receptą darbo stotyje ir išbandykite jį vietoje, kad įsitikintumėte, jog jis veikia.Sukurkite aplanką pavadinimu chef-repo. Šiame aplanke galime sukurti savo receptus.

Vykdykite tai:

mkdir chef-repo cd virėjas-repo

Šiame „chef-repo“ kataloge sukursiu receptą pavadinimu edureka.rb. .rb yra rubinui naudojamas plėtinys. Aš naudosiu „vim“ redaktorių, galite naudoti bet kurį kitą norimą redaktorių, pvz., „Gedit“, „emac“, „vi“ ir kt.

Vykdykite tai:

vim edureka.rb

Čia pridėkite:

failo „/ etc / motd“ turinio „Sveiki atvykę į virėją“ pabaiga

Šis Recipe yra dureka .rb sukuria failą pavadinimu / etc / motd su turiniu „Welcome to Chef“.

skirtumas tarp metimų ir metimų

Dabar naudosiu šį receptą, norėdamas patikrinti, ar jis veikia.

Vykdyti tai:

virėjas-taikyti edureka.rb

Taigi šefe-repo yra sukurtas failas, kuriame yra turinio Sveiki atvykę į virėją.

3 žingsnis: Modding receptų failą, norint įdiegti httpd paketą

Pakeisiu receptą, kad įdiegčiau httpd paketą į savo darbo vietą, ir nukopijuosiu index.html failą į numatytąjį dokumento šaknį, kad patvirtinčiau diegimą. Numatytasis paketo išteklių veiksmas yra diegimas, todėl man nereikia to veiksmo nurodyti atskirai.

Vykdyti tai:

vim edureka.rb

Čia pridėkite:

paketo „httpd“ paslauga „httpd“ atlikite veiksmą [: įgalinkite,: pradėkite] pabaigos failą „/var/www/html/index.html“ atlikite turinį „Sveiki atvykę į„ Apache “virėjuje“ pabaiga

Dabar pritaikysiu šias konfigūracijas vykdydamas žemiau esančią komandą:

Vykdyti tai:

virėjas-taikyti edureka.rb

Komandos vykdymas aiškiai apibūdina kiekvieną recepto egzempliorių. Įdiegia „Apache“ paketą, įgalina ir paleidžia „httpd“ tarnybą darbo stotyje. Ir sukuria failą index.html numatytame dokumento šaknyje su turiniu „Sveiki atvykę į„ Apache “virėjuje“.

Dabar patvirtinkite „Apache2“ diegimą atidarydami savo interneto naršyklę. Įveskite savo viešąjį IP adresą arba pagrindinio kompiuterio vardą. Mano atveju tai yra „localhost“.

4 žingsnis: Dabar sukursime savo pirmąją kulinarinę knygą.

Sukurkite katalogą, vadinamą „cookbooks“, ir vykdykite toliau pateiktą komandą, kad sugeneruotumėte „Cookbook“.

Vykdyti tai:

virėjas sukuria kulinarinę knygą httpd_deploy

„httpd_deploy“ yra „Cookbook“ vardas. Galite duoti bet kokį vardą, kurio norite.

Pereikime į šį naują katalogą httpd_deploy.

Vykdyti tai:

CD httpd_deploy

Dabar pažiūrėkime į sukurtos „Cookbook“ failų struktūrą.

Vykdyti tai:

medis

5 žingsnis: Csuraskite šablono failą.

Anksčiau aš sukūriau failą su tam tikru turiniu, bet jis negali atitikti mano receptų ir kulinarinių knygų struktūros. Taigi pažiūrėkime, kaip galime sukurti „index.html“ puslapio šabloną.

Vykdyti tai:

virėjas sugeneruoja šabloną httpd_deploy index.html

Dabar, jei matote mano „Cookbook“ failo struktūrą, yra aplankas, sukurtas pavadinimų šablonais su index.html.erb failu. Redaguosiu šį index.html.erb šablono failą ir prie jo pridėsiu savo receptą. Žr. Toliau pateiktą pavyzdį:

Eikite į numatytąjį katalogą

Vykdyti tai:

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

Redaguokite index.html.erb šabloną naudodami bet kurį jums patogų redaktorių. Aš naudosiu vim redaktorių.

Vykdyti tai:

vim index.html.erb

Dabar pridėkite:

Sveiki atvykę į „Chef Apache“ diegimą

6 žingsnis: Cgaukite receptą naudodami šį šabloną.

Eikite į katalogą „Receptai“.

Vykdyti t jo:

cd / root / chef-repo / cookbooks / httpd_deploy / receptai

Dabar redaguokite failą default.rb naudodami bet kurį norimą redaktorių. Aš naudosiu vim redaktorių.

Vykdyti tai:

vim numatytasis.rb

Čia pridėkite:

paketas „httpd“ paslauga „httpd“ atlikite veiksmą [: įjungti,: pradžia] pabaigos šablonas '/var/www/html/index.html' daryti šaltinį 'index.html.erb' pabaiga

Dabar grįšiu į savo „chef-repo“ aplanką ir paleisiu / išbandysiu savo receptą savo „Workstation“.

Vykdyti tai:

cd / root / chef-repo chef-client - vietinis režimas - runlist 'receptas [httpd_deploy]'

Pagal mano receptą, „Apache“ yra įdiegta mano darbo stotyje, paslauga pradedama ir įjungiama įkrovos metu. Taip pat mano numatytojo dokumento šaknyje buvo sukurtas šablono failas.

Dabar, kai išbandžiau savo darbo vietą. Atėjo laikas sukonfigūruoti virėjo serverį.

7 žingsnis: Nustatykite virėjo serverį

Debesyje naudosiu priimtą „Chef Server“ versiją, tačiau galite naudoti ir fizinę mašiną. Šis virėjas-serveris yra valdyti.šefą.io

Sukurkite paskyrą, jei jos neturite. Sukūrę paskyrą, prisijunkite naudodami prisijungimo duomenis.

Taip atrodo „Chef Server“.

Jei prisijungiate pirmą kartą, pats pirmas dalykas, kurį atliksite, yra organizacijos sukūrimas. Organizacija iš esmės yra mašinų grupė, kurią valdysite naudodami „Chef Server“.

Pirmiausia eisiu į skirtuką „Administracija“. Ten jau sukūriau organizaciją, vadinamą edu. Taigi turiu atsisiųsti pradinį rinkinį iš savo darbo vietos. Šis pradinis rinkinys padės jums perkelti failus iš darbo vietos į virėjų serverį. Dešinėje pusėje spustelėkite nustatymų piktogramą ir spustelėkite Pradedančiųjų rinkinys.

Kai spustelėsite ten, gausite galimybę atsisiųsti „Starter Kit“. Tiesiog spustelėkite jį, kad atsisiųstumėte „Starter Kit“ ZIP failą.

Perkelkite šį failą į savo šakninį katalogą.Dabar išpakuokite šį zip failą naudodamiesi išpakavimo komanda savo terminale. Jūs pastebėsite, kad jame yra katalogas, vadinamas chef-repo.

Vykdyti tai:

atsegti virėją-starterį.zip

Dabar perkelkite šį pradinį rinkinį į virėjų katalogą virėjų repo kataloge.

Vykdyti tai:

mv starter / root / chef-repo / kulinarija

Virėjų kulinarijos knygas galite rasti „Cookbook Super Market“, mes galime eiti į „Chef SuperMarket“. Atsisiųskite reikalingas kulinarijos knygas iš supermarket.chef.io . Atsisiunčiu vieną iš „Cookbook“, kad galėčiau įdiegti „Apache“ iš ten.

Vykdyti e t h yra:

CD šefo-atpirkimo peilio kulinarijos knygos svetainę atsisiųskite Learn_chef_httpd

„Apache Cookbook“ yra atsisiųstas deguto kamuolys. Dabar turime išgauti šio atsisiųsto „Tar“ failo turinį. Tam naudosiu dervos komandą.

tar -xvf learn_chef_httpd-0.2.0.tar.gz

Visi reikalingi failai automatiškai sukuriami pagal šią kulinarinę knygą. Modifikacijų daryti nereikia. Patikrinkime Receptų aprašą mano receptų aplanke.

Vykdyti t h yra :

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

Dabar aš tiesiog įkelsiu šią kulinarinę knygą į savo virėjų serverį, nes ji man atrodo tobula.

8 žingsnis: Įkelkite „Cookbook“ į virėjų serverį.

Norėdami įkelti atsisiųstą „Apache Cookbook“, pirmiausia perkelkite šį failą „Learn_chef_httpd“ į virėjų repo aplanką „Cookbooks“. Tada pakeiskite katalogą į kulinarines knygas.

Vykdyti t h yra :

mv / root / chef-repo / learn_chef_httpd / root / chef-repo / kulinarijos knygos

Dabar pereikite į šį kulinarinių knygų katalogą.

Vykdykite tai:

CD kulinarijos knygos

Dabar šiame kataloge vykdykite žemiau esančią komandą, kad įkeltumėte „Apache Cookboo“į:

Exec ute t h yra:

peilių kulinarijos knygos įkėlimas learn_chef_httpd

Patikrinkite „Cookbook“ iš „Chef Server Management Console“. Politikos skyriuje rasite savo įkeltą „Cookbook“. Peržiūrėkite toliau pateiktą ekrano kopiją:

Dabar mūsų paskutinis žingsnis yra pridėti virėjo mazgą. Turiu sukonfigūravusi darbo stotį, virėjo serverį ir dabar turiu pridėti savo klientus prie virėjų serverio automatizavimui.

9 žingsnis: Virėjo mazgo pridėjimas prie virėjo serverio.

Parodos tikslais aš naudosiu vieną „CentOS“ aparatą kaip virėjo mazgą. Prie vieno virėjo serverio gali būti prijungta šimtai mazgų. Mano „Node“ mašinos galinė spalva skiriasi nuo „Workstation“, kad galėtumėte atskirti abi.

Man tiesiog reikalingas mano mazgo IP adresas, kad įvykdyčiau žemiau esančią komandą savo mazgo mašinojeyra.

c ++ goto linija

Exec u t yra t h yra:

ifconfig

Aš pridėsiu savo virėjo mazgą prie serverio vykdydamas komandą „Knife Bootstrap“, kurioje nurodysiu „The Chef Node“ IP adresą ir jo pavadinimą. Vykdykite komandą, parodytą belo:

Exec ute t h yra:

peilio įkrovos diržas 192.168.56.102 --ssh-user root --ssh-password edureka --node-name chefNode

Ši komanda taip pat inicijuos „Chef-Client“ diegimą virėjo mazge. Tai galite patikrinti iš darbo vietos CLI naudodami komandą „peilis“, kaip parodyta belo:

Exec ute t h yra:

Peilio mazgų sąrašas

Taip pat galite patikrinti iš virėjo serverio. Eikite į „Server Management Console“ mazgų skirtuką, čia pastebėsite, kad jūsų pridėtas mazgas yra. Žr. Toliau pateiktą ekrano kopiją.

10 žingsnis: Tvarkyti mazgų vykdymo sąrašą

Pažiūrėkime, kaip mes galime pridėti „Cookbook“ į mazgą ir tvarkyti jo „Run“ sąrašą iš virėjų serverio. Kaip matote toliau pateiktoje ekrano kopijoje, spustelėkite skirtuką Veiksmai ir pasirinkite parinktį Redaguoti vykdymo sąrašą, kad galėtumėte tvarkyti sąrašą Vykdyti.

Turimų receptų skiltyje galite pamatyti mūsų „Learn_chef_httpd“ receptą, kurį galite nuvilkti iš esamų paketų į dabartinį „Run List“ ir išsaugoti Run sąrašą.

Dabar prisijunkite prie savo mazgo ir tiesiog paleiskite virėją-klientą, kad įvykdytumėte „Run Lis“t.

Exec ute t h yra:

vyriausiasis klientas

Tikiuosi, kad jums patiko ši virėjo pamoka ir sužinojote, kaip virėją galima konfigūruoti šimtus mazgų. Virėjas vaidina gyvybiškai svarbų vaidmenį daugelyje organizacijų, kad pasiektų „DevOps“. Su virėju organizacijos dažniau išleidžia programas ir „relia“bstiklo.

Jei radote šį tinklaraštį „ Virėjo pamoka ' Aktualus, patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. „Edureka DevOps“ sertifikavimo mokymo kursas padeda besimokantiesiems įgyti įvairių „DevOps“ procesų ir įrankių, tokių kaip „Lėlė“, „Chef“, „Jenkins“, „Nagios“ ir „GIT“, patirties, siekiant automatizuoti kelis SDLC veiksmus.