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
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.