Kokin opetusohjelma - Muunna infrastruktuuri koodiksi



Chef Tutorial on Chef-blogisarjan toinen blogi. Tässä blogissa selitetään esimerkkeinä kokin arkkitehtuuri ja kokin komponentit, kuten keittokirjat, reseptit jne.

Kokin opetusohjelma

Chef Tutorial on Chef-blogisarjan toinen blogi. Minussa edellinen blogi , Olen selittänyt, mikä on kokki, kokoonpanon hallinta ja miten kokki saavuttaa kokoonpanon hallinnan Gannettin käyttötapauksen avulla.

Tässä kokinoppaassa käsitellään seuraavia aiheita:





Olen varma luettuani edellinen blogi sinun on oltava utelias tietämään, miten kokki toimii. Tämän Chef Tutorial -blogin ensimmäinen osa selittää sinulle kokin arkkitehtuurin yksityiskohtaisesti, mikä poistaa kaikki epäilyt.



Kokin opetusohjelma - kokin arkkitehtuuri

Kuten alla olevasta kaaviosta käy ilmi, kokin pääkomponentteja on kolme:

  • Työasema
  • Palvelin
  • Solmut

Kokinarkkitehtuuri - Kokinopastus - Edureka

Kokin opetusohjelma - työasema



Työasema on paikka, josta kaikki kokin kokoonpanot ovathallittu. Tämä kone sisältää kaikki kokoonpanotiedot, jotka voidaan myöhemmin siirtää keskuskokkipalvelimelle. Nämä kokoonpanot testataan työasemassa, ennen kuin työnnät sen kokkipalvelimeen. Työasema koostuu komentorivityökalusta nimeltä Veitsi, jota käytetään vuorovaikutuksessa kokkipalvelimen kanssa. Keskuskokkipalvelinta hallitsee yhdessä useita työasemia.

Työasemat vastaavat seuraavien toimintojen suorittamisesta:

  • Kirjoittamalla keittokirjoja ja reseptejä, jotka myöhemmin siirretään keskuskokkipalvelimelle
  • Keskuskokkipalvelimen solmujen hallinta

Ymmärretään nyt edellä mainitut seikat yksitellen.

Kirjoittamalla keittokirjoja ja reseptejä, jotka myöhemmin siirretään keskuskokkipalvelimelle

Reseptit: Resepti on kokoelma resursseja, jotka kuvaavat tiettyä kokoonpanoa tai käytäntöä. Se kuvaa kaiken, mitä tarvitaan järjestelmän osan konfigurointiin. Käyttäjä kirjoittaa Reseptit, jotka kuvaavat, kuinka kokki hallitsee sovelluksia ja apuohjelmia (kuten Apache HTTP Server, MySQL tai Hadoop) ja miten ne on määritettävä.

Nämä reseptit kuvaavat sarjan resursseja, joiden tulisi olla tietyssä tilassa, ts. Asennettavat paketit, käynnissä olevat palvelut tai kirjoitettavat tiedostot.

Myöhemmin blogissa , Näytän sinulle kuinka kirjoittaa resepti Apache2-paketin asentamiseksi kokkisolmuille kirjoittamalla ruby-koodi Chef Workstationiin.

Keittokirjat: Useita reseptejä voidaan ryhmitellä muodostamaan keittokirja. Keittokirja määrittelee skenaarion ja sisältää kaiken tarvittavan skenaarion tukemiseksi:

  • Reseptit, jossa määritetään käytettävät resurssit ja niiden järjestysjärjestys
  • Määritearvot
  • Tiedostojakelut
  • Mallit
  • Chefin laajennukset, kuten kirjastot, määritelmät ja mukautetut resurssit

Keskuskokkipalvelimen solmujen hallinta

Workstation-järjestelmällä on vaaditut komentorivipalvelut, jotka ohjaavat ja hallitsevat kaikkia keskuskokkipalvelimen kaikkia piirteitä. Esimerkiksi uuden solmun lisääminen keskuskokkipalvelimelle, solmun poistaminen keskuskokkipalvelimelta, solmukokoonpanojen muuttaminen jne. Voidaan hallita itse työasemalta.

Katsotaan nyt, mitä työaseman komponentteja tarvitaan yllä olevien toimintojen suorittamiseen.

Työasemilla on kaksi pääkomponenttia:

Veitsen apuohjelma: Tätä komentorivityökalua voidaan käyttää kommunikointiin työaseman keskuskokkipalvelimen kanssa. Solmujen lisääminen, poistaminen ja muuttaminen keskuskokkipalvelimessa suoritetaan tällä Knife-apuohjelmalla. Knife-apuohjelman avulla keittokirjat voidaan ladata keskuskokkipalvelimelle ja rooleille, myös ympäristöjä voidaan hallita. Pohjimmiltaan jokaista keskeisen kokkipalvelimen osaa voidaan ohjata Workstationilta Knife-apuohjelmalla.

Paikallinen kokkivarasto: Tämä on paikka, jossa kaikki keskuskokkipalvelimen kokoonpanokomponentit on tallennettu. Tämä kokkivarasto voidaan synkronoida keskuskokkipalvelimen kanssa (taas itse veitsiohjelman avulla).

Kokin opas - kokkipalvelin

Kokkipalvelin toimii määritystietojen keskuksena. Kokkipalvelin tallentaa keittokirjoja, solmuihin sovellettavia käytäntöjä ja metatietoja, jotka kuvaavat kutakin Chef-Clientin hallinnoimaa rekisteröityä solmua.

Solmut käyttävät Chef-Clientia pyytääkseen Chef Server -palvelimelta määritystiedot, kuten reseptit, mallit ja tiedostojakelut. Kokki-asiakas tekee sitten mahdollisimman suuren osan kokoonpanotyöstä itse solmuissa (eikä kokkipalvelimessa). Jokaiselle solmulle on asennettu Chef Client -ohjelmisto, joka vetää kokoonpanon keskeiseltä kokkipalvelimelta, joka soveltuu kyseiseen solmuun. Tämä skaalautuva lähestymistapa jakaa kokoonpanotyön koko organisaatiossa.

Kokin opas - Kokin solmut

Solmut voivat olla pilvipohjainen virtuaalipalvelin tai fyysinen palvelin omassa datakeskuksessa, jota hallitaan keskuskokkipalvelimen avulla. Solmun on oltava läsnä pääkomponentti, joka muodostaa yhteyden keskuskokkipalvelimen kanssa. Tätä kutsutaan Chef Clientiksi.

Chef Client suorittaa seuraavat toiminnot:

tietotekniikan muunnostyypit
  • Se on vastuussa vuorovaikutuksesta keskuskokkipalvelimen kanssa.
  • Se hoitaa solmun ensimmäisen rekisteröinnin keskuskokkipalvelimelle.
  • Se vetää keittokirjat alas ja käyttää niitä solmussa määrittääkseen ne.
  • Keskitetyn kokkipalvelimen säännöllinen kysely uusien mahdollisten kokoonpanokohteiden noutamiseksi.

Napsauta tätä saadaksesi lisätietoja Chef Server, Workstation ja Node asentamisesta

Kokin opetusohjelma - Kokin edut:

Tämä kokin opetusohjelma on epätäydellinen, jos en sisälly kokin tärkeimpiä etuja:

  • Voit automatisoida kokonaisen infrastruktuurin Chefin avulla. Kaikki manuaalisesti tehtävät tehtävät voidaan nyt suorittaa Chef-työkalun avulla.
  • Voit määrittää tuhansia solmuja muutamassa minuutissa Chefin avulla.
  • Kokin automaatio toimii suurimman osan julkisista pilvitarjouksista, kuten .
  • Kokki ei vain automatisoi asioita, vaan myös pitää järjestelmät johdonmukaisessa valvonnassa ja vahvistaa, että järjestelmä on itse asiassa määritetty tarvittavalla tavalla (Chef Agent / Client tekee tämän työn). Jos joku tekee virheen muokkaamalla tiedostoa, kokki korjaa sen.
  • Koko infrastruktuuri voidaan tallentaa Chef-arkistona, jota voidaan käyttää suunnitelmana infrastruktuurin luomiseksi uudelleen tyhjästä.

Toivottavasti olet nauttinut tästä kokin opetusohjelmasta tähän mennessä, riittää teoreettisten viestien kanssa! Pidetään hauskaa käytännön kanssa.

Kokin opetusohjelma Kokin käytön aloittaminen | Edureka

Kokin opastus - Hands-On

Tässä kerron sinulle, kuinka voit luoda reseptin, keittokirjan ja mallin kokkityöasemalla. Selitän myös, kuinka voit asentaa keittokirjan Workstationista Chef-Clientiin (Chef Node).

Käytän kahta virtuaalikuvaa kokin työasemalle ja toista koktisolmulle. Chef Serverissä käytän Chefin isännöityä versiota (pilvessä). Voit käyttää fyysistä konetta myös Chef Serverille.

Vaihe 1: Asenna Chef DK (Development Kit) kokin työasemaan.

Chef DK on paketti, joka sisältää kaikki kehitystyökalut, joita tarvitset Chefiä koodattaessa. Tässä on linkki ladattavaksi Kokki DK .

Valitse tässä käyttämäsi käyttöjärjestelmä. Käytän CentOS 6.8: ta, joten napsautan Red Hat Enterprise Linux .

Kopioi linkki käyttämäsi CentOS-version mukaan. Käytän CentOS 6: ta, kuten näet, että olen korostanut yllä olevassa kuvakaappauksessa.

Siirry työaseman päätelaitteeseen ja lataa Chef DK wget-komennolla ja liitä linkki.

Suorita tämä:

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

Paketti on nyt ladattu. On aika asentaa tämä paketti rpm: llä.

Suorita tämä:

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

Chef DK on nyt asennettu työasemalleni.

Vaihe 2: Luo resepti työasemalle

Aloitetaan luomalla resepti työasemalle ja testaamalla se paikallisesti varmistaaksesi, että se toimii.Luo kansio nimeltä chef-repo. Voimme luoda reseptimme tähän kansioon.

Suorita tämä:

mkdir kokki-repo cd kokki-repo

Tässä chef-repo-hakemistossa luon reseptin nimeltä edureka.rb. .rb on rubiinin laajennus. Käytän vim-editoria, voit käyttää mitä tahansa muuta haluamaasi editoria, kuten gedit, emac, vi jne.

Suorita tämä:

vim edureka.rb

Lisää tähän seuraava:

tiedosto '/ etc / motd' content 'Welcome to Chef' end

Tämä Recipe On dureka .rb luo tiedoston nimeltä etc / motd, jonka sisältö on ”Welcome to Chef”.

menetelmä ylikuormittaa ja ohittaa Java-sovelluksessa

Nyt käytän tätä reseptiä tarkistamaan, toimiiko se.

Suorittaa Tämä:

kokki-levitä edureka.rb

Joten kokki-repossa on tiedosto, joka sisältää sisältöä Tervetuloa kokkiin.

Vaihe 3: Modifying Recipe file to install httpd -paketti

Muutan Reseptin asentamaan httpd-paketin työasemalleni ja kopioin index.html-tiedoston asiakirjan oletustiedostoon asennuksen vahvistamiseksi. Pakettiresurssin oletustoiminto on asennus, joten minun ei tarvitse määrittää toimintoa erikseen.

Suorittaa Tämä:

vim edureka.rb

Lisää täältä seuraava:

paketti 'httpd' palvelu 'httpd' tee toiminto [: enable,: start] lopetustiedosto '/var/www/html/index.html' tee sisältö 'Tervetuloa Apache in Chefiin' loppu

Nyt sovellan näitä kokoonpanoja suorittamalla alla olevan komennon:

Suorittaa Tämä:

kokki-levitä edureka.rb

Komennon suoritus kuvaa selvästi kaikki reseptin esiintymät. Se asentaa Apache-paketin, ottaa käyttöön ja käynnistää httpd-palvelun työasemalla. Ja se luo index.html-tiedoston asiakirjan oletustiedostoon, jonka sisältö on “Welcome to Apache in Chef”.

Vahvista nyt Apache2: n asennus avaamalla selain. Kirjoita julkinen IP-osoite tai isännän nimi. Minun tapauksessani se on paikallinen isäntä.

Vaihe 4: Nyt luomme ensimmäisen keittokirjamme.

Luo keittokirjojen niminen hakemisto ja luo keittokirja suorittamalla seuraava komento.

Suorittaa Tämä:

mkdir keittokirjat cd keittokirjat kokki luo keittokirja httpd_deploy

httpd_deploy on nimi, joka annetaan keittokirjalle. Voit antaa minkä tahansa haluamasi nimen.

Siirrytään tähän uuteen hakemistoon httpd_deploy.

Suorittaa Tämä:

cd httpd_deploy

Katsotaan nyt luodun keittokirjan tiedostorakenne.

Suorittaa Tämä:

puu

Vaihe 5: Cluo mallitiedosto uudelleen.

Aiemmin olen luonut tiedoston, jolla on joitain sisältöjä, mutta se ei sovi resepteihini ja keittokirjarakenteisiini. Katsotaan siis, kuinka voimme luoda mallin index.html-sivulle.

Suorittaa Tämä:

kokki luo mallin httpd_deploy index.html

Jos näet keittokirjatiedostorakenteeni, nimipohjilla on luotu kansio index.html.erb-tiedostolla. Muokataan tätä index.html.erb-mallitiedostoa ja lisätään siihen Reseptini. Katso alla oleva esimerkki:

Siirry oletushakemistoon

Suorittaa Tämä:

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

Täällä voit muokata index.html.erb-mallia millä tahansa mukautetulla editorilla. Käytän VIM-editoria.

Suorittaa Tämä:

vim index.html.erb

Lisää nyt seuraava:

Tervetuloa Chef Apache Deployment -ohjelmaan

Vaihe 6: Cluo resepti tällä mallilla.

Siirry Reseptit-hakemistoon.

Suorita t hänen:

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

Muokkaa nyt default.rb-tiedostoa millä tahansa haluamallasi editorilla. Käytän VIM-editoria.

Suorittaa Tämä:

vim oletus. rb

Lisää täältä seuraava:

paketti 'httpd' palvelu 'httpd' tee toiminto [: enable,: start] end template '/var/www/html/index.html' do source 'index.html.erb' end

Nyt palaan chef-repo-kansioon ja suoritan / testin reseptini Workstationilla.

Suorittaa Tämä:

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

Reseptini mukaan Apache on asennettu työasemalleni, palvelu käynnistetään ja otetaan käyttöön käynnistyksen yhteydessä. Myös mallitiedosto on luotu oletusasiakirjani juurelle.

Nyt kun olen testannut työasemani. On aika määrittää kokkipalvelin.

Vaihe 7: Määritä kokkipalvelin

Käytän Chef Serverin isännöimää versiota pilvessä, mutta voit käyttää myös fyysistä konetta. Tämä kokkipalvelin on läsnä osoitteessa manage.chef.io

Täällä voit luoda tilin, jos sinulla ei ole sitä. Kun olet luonut tilin, kirjaudu sisään kirjautumistiedoillasi.

Näin kokkipalvelin näyttää.

Jos kirjaudut sisään ensimmäistä kertaa, ensimmäinen asia, jonka teet, on organisaation luominen. Organisaatio on pohjimmiltaan koneiden ryhmä, jota hallitset kokkipalvelimen kanssa.

Ensin menen Hallinta-välilehteen. Siellä olen jo luonut organisaation nimeltä edu. Joten minun on ladattava aloitussarja työasemalleni. Tämä aloituspaketti auttaa sinua siirtämään tiedostoja työasemalta kokkipalvelimelle. Napsauta oikeassa reunassa olevaa asetuskuvaketta ja napsauta Starter Kit.

Kun napsautat täältä, saat mahdollisuuden ladata Starter Kit. Napsauta sitä vain ladataksesi Starter Kit zip-tiedoston.

Siirrä tämä tiedosto juurihakemistoon.Pura tämä zip-tiedosto nyt purkamalla komento päätelaitteessasi. Huomaat, että se sisältää hakemiston nimeltä chef-repo.

Suorittaa Tämä:

pura kokki-starter.zip

Siirrä tämä aloituspaketti keittokirjahakemistoon chef-repo-hakemistossa.

Suorittaa Tämä:

mv starter / root / chef-repo / keittokirja

Kokin keittokirjoja on saatavilla Cookbook Super Marketissa, voimme mennä Chef SuperMarketiin. Lataa tarvittavat keittokirjat osoitteesta supermarket.chef.io . Ladaan yhden keittokirjan Apache: n asentamiseksi sieltä.

Suorittaa e t h On:

cd kokki-repo veitsi keittokirja -sivusto Lataa learn_chef_httpd

Tar-pallo on ladattu Apache-keittokirjaan. Nyt meidän on purettava tämän ladatun Tar-tiedoston sisältö. Tätä varten käytän tervakomentoa.

tar -xvf learn_chef_httpd-0.2.0.tar.gz

Kaikki tarvittavat tiedostot luodaan automaattisesti tämän keittokirjan alla. Mitään muutoksia ei tarvitse tehdä. Tarkistetaan Reseptin kuvaus reseptikansiossa.

Suorita t h On :

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

Lähetän tämän keittokirjan vain kokkipalvelimelleni, koska se näyttää minulle täydelliseltä.

Vaihe 8: Lataa keittokirja kokkipalvelimelle.

Ladataksesi lataamani Apache-keittokirja siirrä ensin tämä learn_chef_httpd-tiedosto kokkikirja-kansioon Cook-repo. Vaihda sitten hakemistosi keittokirjoiksi.

Suorita t h On :

mv / root / chef-repo / learn_chef_httpd / root / chef-repo / keittokirjat

Siirry nyt tähän keittokirjojen hakemistoon.

Suorita tämä:

cd keittokirjat

Suorita alla oleva komento nyt tässä hakemistossa ladataksesi Apache Cookboovastaanottajalle:

Exec ute t h On:

veitsi keittokirja upload learn_chef_httpd

Tarkista keittokirja Chef Server Management -konsolista. Käytäntöosiosta löydät lataamasi keittokirjan. Katso alla oleva kuvakaappaus:

Nyt viimeinen vaihe on lisätä Chef Node. Minulla on työasema, kokkipalvelin ja nyt minun on lisättävä asiakkaani kokkipalvelimeen automatisointia varten.

Vaihe 9: Koktisolmun lisääminen kokkipalvelimeen.

Esittelytarkoituksiin käytän yhtä CentOS-konetta kokkisolmuna. Kokkipalvelimeen voi olla kytketty satoja solmuja. Node-koneeni pääväri eroaa työasemasta, jotta pystyt erottamaan molemmat.

Tarvitsen vain solmuni IP-osoitteen, jotta aion suorittaa alla olevan komennon Node-koneessaniOn.

Exec u t On t h On:

ifconfig

Lisään kokinsolmuni palvelimeen suorittamalla Knife Bootstrap -komennon, jossa määritän kokinsolmun IP-osoitteen ja sen nimen. Suorita esitetty komento belosisään:

Exec ute t h On:

veitsen käynnistyshihna 192.168.56.102 --ssh-user root --ssh-password edureka --node-name chefNode

Tämä komento myös alustaa Chef-Clientin asennuksen Chef-solmuun. Voit tarkistaa sen työaseman CLI: stä käyttämällä veitsenkomentoa, kuten kuvassasisään:

Exec ute t h On:

Veitsisolmujen luettelo

Voit tarkistaa myös kokkipalvelimelta. Mene Palvelinten hallintakonsolin solmujen välilehdelle, jossa huomaat, että lisäämäsi solmu on läsnä. Katso alla oleva kuvakaappaus.

Vaihe 10: Hallitse solmujen ajon luetteloa

Katsotaanpa, kuinka voimme lisätä keittokirjan solmuun ja hallita sen Suorita-luetteloa kokkipalvelimelta. Kuten alla olevasta kuvakaappauksesta näet, napsauta Toiminnot-välilehteä ja valitse Suorita-luettelon hallinta-vaihtoehto Muokkaa Suorita luetteloa.

Googlen datatieteilijän haastattelukysymykset

Käytettävissä olevista resepteistä näet learn_chef_httpd-reseptimme, voit vetää sen käytettävissä olevista paketeista nykyiseen Suoritusluetteloon ja tallentaa Suoritus-luettelo.

Kirjaudu nyt solmuusi ja suorita vain kokki-asiakas suorittamaan Run List.

Exec ute t h On:

pääasiakas

Toivon, että nautitte tästä kokin opetusohjelmasta ja opit kuinka kokkia voidaan käyttää satojen solmujen määrittämiseen. Kokilla on tärkeä rooli monissa organisaatioissa DevOpsin saavuttamiseksi. Kokin kanssa organisaatiot julkaisevat sovelluksia useammin ja reliaablasi.

Jos löysit tämän blogin Kokin opetusohjelma ”Asiaankuuluva, tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edureka DevOps -sertifiointikoulutus auttaa oppijoita saamaan asiantuntemusta erilaisista DevOps-prosesseista ja työkaluista, kuten Puppet, Chef, Jenkins, Nagios ja GIT SDLC: n useiden vaiheiden automatisoimiseksi.