Šefpavāra apmācība - pārveidojiet infrastruktūru kodā



Šefpavāra apmācība ir šefpavāra emuāru sērijas otrais emuārs. Šajā blogā ar piemēriem izskaidrota šefpavāra arhitektūra un šefpavāra komponenti, piemēram, pavārgrāmatas, receptes utt.

Šefpavāra apmācība

Šefpavāra apmācība ir šefpavāra emuāru sērijas otrais emuārs. Manā iepriekšējais emuārs , Esmu izskaidrojis, kas ir šefpavārs, konfigurācijas pārvaldība un kā šefpavārs sasniedz konfigurācijas pārvaldību, izmantojot Gannett lietošanas gadījumu.

Šajā šefpavāra apmācībā tiks aplūkotas šādas tēmas:





Esmu pārliecināta, izlasot savu iepriekšējais emuārs jums jābūt ziņkārīgam, lai uzzinātu, kā tieši darbojas šefpavārs. Šī šefpavāra apmācības emuāra pirmā sadaļa jums sīki izskaidros šefpavāra arhitektūru, kas atbrīvos visas jūsu šaubas.



Šefpavāra apmācība - šefpavāra arhitektūra

Kā parādīts zemāk redzamajā diagrammā, ir trīs galvenie šefpavāra komponenti:

  • Darbstacija
  • Serveris
  • Mezgli

Šefpavāra arhitektūra - šefpavāra apmācība - Edureka

Šefpavāra apmācība - darbstacija



Darbstacija ir vieta, no kuras atrodas visas šefpavāra konfigurācijaspārvaldīts. Šī mašīna satur visus konfigurācijas datus, kurus vēlāk var nosūtīt uz centrālo šefpavāra serveri. Šīs konfigurācijas tiek pārbaudītas darbstacijā, pirms to ievietojat šefpavāra serverī. Darbstaciju veido komandrindas rīks, ko sauc Nazis, kas tiek izmantots mijiedarbībai ar šefpavāra serveri. Var būt vairākas darbstacijas, kas kopā pārvalda centrālo šefpavāra serveri.

Darbstacijas ir atbildīgas par šādu funkciju izpildi:

  • Rakstot pavārgrāmatas un receptes, kuras vēlāk tiks ievietotas centrālajā šefpavāra serverī
  • Mezglu pārvaldīšana centrālajā šefpavāra serverī

Ļaujiet mums saprast iepriekš minētos punktus pa vienam.

Rakstot pavārgrāmatas un receptes, kuras vēlāk tiks ievietotas centrālajā šefpavāra serverī

Receptes: Recepte ir resursu kolekcija, kas apraksta noteiktu konfigurāciju vai politiku. Tas apraksta visu, kas nepieciešams sistēmas daļas konfigurēšanai. Lietotājs raksta Receptes, kurās aprakstīts, kā šefpavārs pārvalda lietojumprogrammas un utilītprogrammas (piemēram, Apache HTTP Server, MySQL vai Hadoop) un kā tās jākonfigurē.

Šīs receptes apraksta virkni resursu, kuriem vajadzētu būt noteiktā stāvoklī, t.i., instalējamās paketes, palaistos pakalpojumus vai rakstāmos failus.

Vēlāk blogā , Es jums parādīšu, kā uzrakstīt recepti, lai instalētu Apache2 paketi šefpavāru mezglos, šefpavāra darbstacijā ierakstot rubīna kodu.

Pavārgrāmatas: Vairākas receptes var sagrupēt, lai izveidotu pavārgrāmatu. Pavārgrāmata nosaka scenāriju un satur visu nepieciešamo šī scenārija atbalstam:

  • Receptes, kurā norādīti izmantojamie resursi un to izmantošanas secība
  • Atribūtu vērtības
  • Failu izplatīšana
  • Veidnes
  • Šefpavāra paplašinājumi, piemēram, bibliotēkas, definīcijas un pielāgoti resursi

Mezglu pārvaldīšana centrālajā šefpavāra serverī

Darbstacijas sistēmā būs nepieciešamās komandrindas utilītas, lai kontrolētu un pārvaldītu visus centrālā šefpavāra servera aspektus. Tādas lietas kā jauna mezgla pievienošana centrālajam šefpavāra serverim, mezgla dzēšana no centrālā šefpavāra servera, mezglu konfigurāciju modificēšana utt. - to visu var pārvaldīt no pašas darbstacijas.

Tagad ļaujiet mums redzēt, kādi darbstacijas komponenti ir nepieciešami, lai veiktu iepriekš minētās funkcijas.

Darbstacijām ir divas galvenās sastāvdaļas:

Nazu lietderība: Šo komandrindas rīku var izmantot, lai sazinātos ar centrālo šefpavāra serveri no darbstacijas. Mezglu konfigurāciju pievienošana, noņemšana un mainīšana centrālajā šefpavāra serverī tiks veikta, izmantojot šo Knife utilītu. Izmantojot utilītu Knife, pavārgrāmatas var augšupielādēt centrālajā šefpavāra serverī un Roles, var pārvaldīt arī vides. Būtībā visus centrālā šefpavāra servera aspektus var kontrolēt no darbstacijas, izmantojot Knife utilītu.

Vietējā šefpavāra krātuve: Šī ir vieta, kur tiek glabāti visi centrālā šefpavāra servera konfigurācijas komponenti. Šo šefpavāra krātuvi var sinhronizēt ar centrālo šefpavāra serveri (atkal izmantojot pašu nazu lietderību).

Šefpavāra apmācība - šefpavāra serveris

Šefpavāra serveris darbojas kā konfigurācijas datu centrmezgls. Šefpavāra serveris glabā pavārgrāmatas, mezgliem piemērotās politikas un metadatus, kas raksturo katru reģistrēto mezglu, kuru pārvalda šefpavārs.

Mezgli izmanto šefpavāru-klientu, lai pieprasītu šefpavāra serverim sīkāku informāciju par konfigurāciju, piemēram, receptes, veidnes un failu izplatīšanu. Pēc tam šefpavārs-klients veic pēc iespējas lielāku konfigurācijas darbu pašos mezglos (nevis šefpavāra serverī). Katrā mezglā ir instalēta šefpavāra klienta programmatūra, kas no centrālā šefpavāra servera noņems konfigurāciju, kas ir piemērota šim mezglam. Šī mērogojamā pieeja konfigurācijas centienus izplata visā organizācijā.

Šefpavāra apmācība - šefpavāra mezgli

Mezgli var būt mākoņa virtuālais serveris vai fiziskais serveris jūsu pašu datu centrā, kas tiek pārvaldīts, izmantojot centrālo šefpavāra serveri. Galvenā sastāvdaļa, kurai jābūt klāt mezglā, ir aģents, kas nodibinās saziņu ar centrālo šefpavāra serveri. To sauc par šefpavāra klientu.

Šefpavāra klients veic šādas funkcijas:

  • Tas ir atbildīgs par mijiedarbību ar centrālo šefpavāra serveri.
  • Tas pārvalda mezgla sākotnējo reģistrāciju centrālajā šefpavāra serverī.
  • Tas izvelk pavārgrāmatas un pielieto tās mezglā, lai to konfigurētu.
  • Periodiska centrālā šefpavāra servera aptauja, lai ielādētu jaunus konfigurācijas vienumus, ja tādi ir.

Noklikšķiniet šeit, lai uzzinātu, kā instalēt šefpavāra serveri, darbstaciju un mezglu

Šefpavāra apmācība - šefpavāra priekšrocības:

Šī šefpavāra apmācība būs nepilnīga, ja neiekļaušu galvenās šefpavāra priekšrocības:

  • Izmantojot šefpavāru, varat automatizēt visu infrastruktūru. Visus uzdevumus, kas tika veikti manuāli, tagad var veikt, izmantojot šefpavāra rīku.
  • Izmantojot Chef, dažu minūšu laikā varat konfigurēt tūkstošiem mezglu.
  • Šefpavāra automatizācija darbojas ar lielāko daļu publisko mākoņu piedāvājumu, piemēram, .
  • Šefpavārs ne tikai automatizēs lietas, bet arī pastāvīgi pārbaudīs sistēmas un apstiprinās, ka sistēma faktiski ir konfigurēta tā, kā nepieciešams (šefpavāra aģents / klients veic šo darbu). Ja kāds kļūdās, modificējot failu, šefpavārs to izlabos.
  • Visu infrastruktūru var ierakstīt šefpavāra repozitorija formā, ko var izmantot kā plānu infrastruktūras atjaunošanai no jauna.

Es ceru, ka jums līdz šim patika šī pavāra apmācība, pietiek ar teorētiskajiem ierakstiem! Ļaujiet mums izklaidēties ar praktiskām darbībām.

Šefpavāra apmācība Darba sākšana ar šefpavāru Edureka

Šefpavāra apmācība - praktiska

Šeit es jums paskaidrošu, kā šefpavāra darbstacijā izveidot recepti, pavārgrāmatu un veidni. Es jums arī izskaidrošu, kā izvietot pavārgrāmatu no darbstacijas uz Chef-Client (Chef Node).

Es izmantoju divus virtuālos attēlus - vienu šefpavāra darbstacijai un otru šefpavāra mezglam. Šefpavāra serverim es izmantošu šefpavāra mitināto versiju (uz mākoņa). Šefpavāra serverim varat izmantot arī fizisko mašīnu.

1. darbība: Instalējiet šefpavāra DK (izstrādes komplektu) savā šefpavāra darbstacijā.

Chef DK ir pakete, kas satur visus izstrādes rīkus, kas jums būs nepieciešami, šifrējot šefpavāru. Šeit ir lejupielādējamā saite Šefpavārs DK .

Šeit izvēlieties izmantoto operētājsistēmu. Es izmantoju CentOS 6.8. Tātad, es noklikšķiniet uz Red Hat Enterprise Linux .

Kopējiet saiti atbilstoši izmantotajai CentOS versijai. Es izmantoju CentOS 6, kā redzat, ka esmu izcēlis iepriekš redzamo ekrānuzņēmumu.

Dodieties uz savu darbstacijas termināli un lejupielādējiet Chef DK, izmantojot komandu wget, un ielīmējiet saiti.

Izpildiet šo:

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

Pakete tagad ir lejupielādēta. Ir pienācis laiks instalēt šo pakotni, izmantojot apgr./min.

Izpildiet šo:

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

Šefpavārs DK tagad ir instalēts manā darbstacijā.

2. darbība: Izveidojiet recepti darbstacijā

Sāksim ar Receptes izveidošanu darbstacijā un vietējo pārbaudi, lai pārliecinātos, ka tā darbojas.Izveidojiet mapi ar nosaukumu chef-repo. Šajā mapē mēs varam izveidot savas receptes.

Izpildiet šo:

mkdir šefpavārs-repo cd šefpavārs-repo

Šajā šefpavāra-repo direktorijā es izveidošu recepti ar nosaukumu edureka.rb. .rb ir paplašinājums, ko izmanto rubīnam. Es izmantošu vim redaktoru, jūs varat izmantot jebkuru citu redaktoru, kuru vēlaties, piemēram, gedit, emac, vi utt.

Izpildiet šo:

vim edureka.rb

Šeit pievienojiet šo:

faila '/ etc / motd' saturs 'Laipni lūdzam šefpavārā'

Šis Recipe ir dureka .rb izveido failu ar nosaukumu / etc / motd ar saturu “Welcome to Chef”.

Tagad es izmantošu šo recepti, lai pārbaudītu, vai tā darbojas.

Izpildīt tas:

pavārs-pieteikties edureka.rb

Tātad šefpavārā-repo ir izveidots fails, kurā ir saturs Laipni lūdzam šefpavārā.

3. solis: Modifying Recipe file to install httpd package

Es modificēšu Recepti, lai instalētu httpd pakotni savā darbstacijā, un nokopēšu index.html failu noklusējuma dokumenta saknē, lai apstiprinātu instalēšanu. Pakotnes resursa noklusējuma darbība ir instalēšana, tāpēc man šī darbība nav jānorāda atsevišķi.

Izpildīt tas:

vim edureka.rb

Šeit pievienojiet šo:

pakotne 'httpd' pakalpojums 'httpd' darīt darbību [: iespējot,: sākt] beigu fails '/var/www/html/index.html' darīt saturu 'Laipni lūdzam Apache šefpavārā' beigas

Tagad es pielietošu šīs konfigurācijas, izpildot šādu komandu:

dinamiskās atmiņas piešķiršana c ++

Izpildīt tas:

pavārs-pieteikties edureka.rb

Komandas izpilde skaidri raksturo katru receptes gadījumu. Tas instalē Apache pakotni, darbstacijā iespējo un startē httpd pakalpojumu. Un tas noklusējuma dokumenta saknē izveido failu index.html ar saturu “Welcome to Apache in Chef”.

Tagad apstipriniet Apache2 instalēšanu, atverot savu tīmekļa pārlūkprogrammu. Ierakstiet savu publisko IP adresi vai resursdatora nosaukumu. Manā gadījumā tas ir localhost.

4. solis: Tagad mēs izveidosim savu pirmo pavārgrāmatu.

Izveidojiet direktoriju ar pavārgrāmatām un izpildiet zemāk esošo komandu, lai ģenerētu pavārgrāmatu.

Izpildīt tas:

mkdir pavārgrāmatas cd pavārgrāmatas šefpavārs ģenerē pavārgrāmatu httpd_deploy

httpd_deploy ir pavārgrāmatai piešķirtais nosaukums. Jūs varat dot jebkuru vārdu, kuru vēlaties.

Pārejam uz šo jauno direktoriju httpd_deploy.

Izpildīt tas:

cd httpd_deploy

Tagad apskatīsim izveidotās pavārgrāmatas failu struktūru.

Izpildīt tas:

koks

5. darbība: Catjaunojiet veidnes failu.

Iepriekš es izveidoju failu ar noteiktu saturu, taču tas nevar iederēties manās receptēs un pavārgrāmatu struktūrās. Tāpēc ļaujiet mums uzzināt, kā mēs varam izveidot veidni index.html lapai.

Izpildīt tas:

šefpavārs ģenerē veidni httpd_deploy index.html

Tagad, ja redzat manu pavārgrāmatu failu struktūru, ir izveidota mape ar nosaukumu veidnēm ar failu index.html.erb. Es rediģēšu šo index.html.erb veidnes failu un pievienoju tam savu recepti. Skatiet piemēru zemāk:

Pārejiet uz noklusējuma direktoriju

Izpildīt tas:

cd / root / chef-repo / pavārgrāmata / httpd_deploy / templates / default

Šeit rediģējiet veidni index.html.erb, izmantojot jebkuru jums patīkamu redaktoru. Es izmantošu vim redaktoru.

Izpildīt tas:

vim index.html.erb

Tagad pievienojiet šo:

Laipni lūdzam šefpavāra Apache izvietošanā

6. solis: Cizlasiet recepti ar šo veidni.

Atveriet direktoriju Receptes.

Izpildīt t viņa:

cd / root / chef-repo / pavārgrāmatas / httpd_deploy / receptes

Tagad rediģējiet failu default.rb, izmantojot jebkuru nepieciešamo redaktoru. Es izmantošu vim redaktoru.

Izpildīt tas:

vim noklusējums.rb

Šeit pievienojiet šo:

pakotne 'httpd' pakalpojums 'httpd' darīt darbību [: iespējot,: sākt] beigu veidne '/var/www/html/index.html' do source 'index.html.erb' end

Tagad es atgriezīšos savā chef-repo mapē un palaidīšu / pārbaudīšu savu recepti savā Workstation.

Izpildīt tas:

cd / root / chef-repo chef-client - vietējais režīms - runlist 'recepte [httpd_deploy]'

Saskaņā ar manu recepti Apache ir instalēta manā darbstacijā, pakalpojums tiek palaists un iespējots sāknēšanas laikā. Arī manā noklusējuma dokumenta saknē ir izveidots veidnes fails.

Tagad, kad esmu pārbaudījis savu darbstaciju. Ir pienācis laiks iestatīt šefpavāra serveri.

7. solis: Šefpavāra servera iestatīšana

Es mākonī izmantošu šefpavāra servera mitināto versiju, taču jūs varat izmantot arī fizisko mašīnu. Šis pavārs-serveris atrodas vietnē manage.chef.io

Šeit izveidojiet kontu, ja jums tāda nav. Kad esat izveidojis kontu, pierakstieties, izmantojot savus pieteikšanās akreditācijas datus.

Šādi izskatās šefpavāra serveris.

kā izmantot java

Ja pierakstāties pirmo reizi, pats pirmais, ko darīsit, ir organizācijas izveide. Organizācija būtībā ir Mašīnu grupa, kuru pārvaldīsit ar šefpavāra serveri.

Pirmkārt, es pārietu uz cilni Administrācija. Tur jau esmu izveidojis organizāciju ar nosaukumu edu. Tāpēc man ir jālejupielādē starta komplekts manā darbstacijā. Šis sākuma komplekts palīdzēs pārsūtīt failus no darbstacijas uz šefpavāra serveri. Noklikšķiniet uz iestatījumu ikonas labajā pusē un noklikšķiniet uz Sākuma komplekts.

Noklikšķinot tur, jūs saņemsiet iespēju lejupielādēt iesācēju komplektu. Vienkārši noklikšķiniet uz tā, lai lejupielādētu Starter Kit zip failu.

Pārvietojiet šo failu uz saknes direktoriju.Tagad izpakojiet šo zip failu, izmantojot terminālā atvienošanas komandu. Jūs ievērosiet, ka tajā ir direktorijs ar nosaukumu chef-repo.

Izpildīt tas:

unzip chef-starter.zip

Tagad pārvietojiet šo sākuma komplektu uz pavārgrāmatas direktoriju šefpavāra-repo direktorijā.

Izpildīt tas:

mv starter / root / chef-repo / pavārgrāmata

Šefpavāra pavārgrāmatas ir pieejamas pavārgrāmatu supertirgū, mēs varam doties uz pavāru superMarket. Lejupielādējiet nepieciešamās pavārgrāmatas no lielveikals.chef.io . Es lejupielādēju vienu no pavārgrāmatu, lai no turienes instalētu Apache.

Izpildīt e t h ir:

kompaktdiska šefpavāra-repo nazīšu pavārgrāmatu vietnes lejupielāde learn_chef_httpd

Apache pavārgrāmatai ir lejupielādēta darvas bumba. Tagad mums ir jāizņem saturs no šī lejupielādētā Tar faila. Tam es izmantošu darvas komandu.

darva -xvf learn_chef_httpd-0.2.0.tar.gz

Visi nepieciešamie faili tiek automātiski izveidoti šajā pavārgrāmatā. Nav nepieciešams veikt nekādas izmaiņas. Pārbaudīsim receptes aprakstu mapē Receptes.

Izpildīt t h ir :

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

Tagad es tikai augšupielādēšu šo pavārgrāmatu savā šefpavāra serverī, jo tas man izskatās perfekti.

8. solis: Augšupielādējiet pavārgrāmatu šefpavāra serverī.

Lai augšupielādētu Apache pavārgrāmatu, kuru esmu lejupielādējis, vispirms pārvietojiet šo failu learn_chef_httpd uz pavāru-repo mapi Pavārgrāmatas. Pēc tam nomainiet direktoriju uz pavārgrāmatām.

Izpildīt t h ir :

mv / root / chef-repo / learn_chef_httpd / root / chef-repo / pavārgrāmatas

Tagad pārejiet uz šo pavārgrāmatu direktoriju.

Izpildiet šo:

CD pavārgrāmatas

Tagad šajā direktorijā izpildiet zemāk esošo komandu, lai augšupielādētu Apache Cookboouz:

Exec ute t h ir:

nazis pavārgrāmatas augšupielāde learn_chef_httpd

Šefpavāra servera pārvaldības konsolē pārbaudiet pavārgrāmatu. Politikas sadaļā atradīsit augšupielādēto pavārgrāmatu. Skatiet zemāk redzamo ekrānuzņēmumu:

Tagad mūsu pēdējais solis ir pievienot šefpavāra mezglu. Man ir iestatīta darbstacija, šefpavāra serveris, un tagad man klienti jāpievieno šefpavāra serverim automatizēšanai.

9. solis: Šefpavāra mezgla pievienošana šefpavāra serverim.

Demonstrācijas nolūkos es izmantošu vienu CentOS mašīnu kā šefpavāra mezglu. Vienam šefpavāra serverim var būt pievienoti simtiem mezglu. Manas Node iekārtas gala krāsa atšķiras no darbstacijas, lai jūs varētu atšķirt abus.

Man vienkārši nepieciešama mana mezgla IP adrese, lai es izpildītu zemāk esošo komandu savā mezgla mašīnāir.

Exec u t ir t h ir:

ifconfig

Es pievienošu savu šefpavāra mezglu serverim, izpildot komandu Knife Bootstrap, kurā norādīšu Šefpavāra mezgla IP adresi un tā nosaukumu. Izpildiet parādīto komandu belo:

Exec ute t h ir:

nazis sāknēšanas siksna 192.168.56.102 --ssh-user root --ssh-password edureka --node-name chefNode

Šī komanda arī inicializēs šefpavāra klienta instalēšanu šefpavāra mezglā. To var pārbaudīt no darbstacijas CLI, izmantojot komandu nazis, kā parādīts Belo:

Exec ute t h ir:

Nazu mezglu saraksts

Pārbaudīt var arī no šefpavāra servera. Dodieties uz serveru pārvaldības konsoles cilni Mezgli, šeit pamanīsit, ka ir pievienots mezgls. Skatiet zemāk redzamo ekrānuzņēmumu.

10. solis: Pārvaldīt mezglu palaišanas sarakstu

Apskatīsim, kā mēs varam pievienot pavārgrāmatu mezglam un pārvaldīt tā izpildes sarakstu no šefpavāra servera. Kā redzat zemāk redzamajā ekrānuzņēmumā, noklikšķiniet uz cilnes Darbības un atlasiet opciju Rediģēt izpildīt sarakstu, lai pārvaldītu sarakstu Izpildīt.

Sadaļā Pieejamās receptes varat apskatīt mūsu mācību_chef_httpd recepti, varat to vilkt no pieejamajiem pakotnēm uz pašreizējo palaišanas sarakstu un saglabāt palaišanas sarakstu.

Tagad piesakieties savā mezglā un vienkārši palaidiet šefpavāru-klientu, lai izpildītu Run List.

Exec ute t h ir:

galvenais klients

Es ceru, ka jums patika šī pavāra apmācība un uzzinājāt, kā šefpavāru var izmantot, lai konfigurētu simtiem mezglu. Šefpavārs spēlē būtisku lomu daudzās organizācijās, lai sasniegtu DevOps. Ar šefpavāru organizācijas biežāk izlaiž lietojumprogrammas un reliabstikls.

Ja atradāt šo emuāru vietnē “ Šefpavāra apmācība ”Attiecīgs, pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka DevOps sertifikācijas apmācības kurss palīdz izglītojamajiem iegūt zināšanas par dažādiem DevOps procesiem un rīkiem, piemēram, Leļļu, Šefpavārs, Jenkins, Nagios un GIT, lai automatizētu vairākus SDLC soļus.