Kuinka nukkumoduuleja käytetään IT-infrastruktuurin automatisointiin?



Käytännöllinen nukkeopetusohjelma, jossa puhutaan nukketunnuksen kirjoittamisesta ja manifestin käytöstä organisaation IT-infrastruktuurin automatisointiin ja ylläpitoon.

Aikaisemmin järjestelmänvalvojat käyttivät palvelinsuoritukseen komentotulkkikomentoja, ja tällä menetelmällä ei ollut skaalautuvuutta. On pelottava tehtävä muuttaa jatkuvasti komentosarjoja sadoille tai tuhansille jatkuvasti muuttuville palvelimille ja niiden järjestelmäkokoonpanoille.

Tässä artikkelissa nuken moduulit ja manifestit Katsotaanpa, kuinka voisimme käyttää nukemoduuleja palvelimen asennuksen, ohjelman asennuksen ja järjestelmän hallinnan automatisointiin.





Tämä blogi käsittelee seuraavia aiheita:

Johdatus nukkeohjelmointiin

Nukke on yksi suosituimmista DevOps-työkaluista, jota käytetään laajasti kokoonpanon hallintaan. Sitä käytetään toteuttamaan johdonmukaisuus infrastruktuurissa. Nukke voi määritellä infrastruktuurin koodina, hallita useita palvelimia ja pakottaa järjestelmän kokoonpanon auttamaan siten automatisoimaan infrastruktuurin hallintaa.



Nukke onoma määrityskieli, Nukke DSL . Kuten muiden DevOps-ohjelmien kohdalla, Puppet automatisoi muutokset eliminoiden käsikirjoitukseen perustuvat muutokset. Puppet ei kuitenkaan ole yksinkertaisesti toinen kuoren kieli, eikä se ole myöskään puhdas ohjelmointikieli, kuten PHP. Sen sijaan Puppet käyttääettä deklaratiivinen mallipohjainen lähestymistapa IT-automaatioon. Tämän avulla Puppet voi määritellä infrastruktuurin koodiksi ja pakottaa järjestelmän kokoonpanon ohjelmilla.

Ennen kuin jatkat esittelyn kanssa, katsotaanpa muutama nuken ohjelmoinnin keskeinen osa.

big data -analyysin sovellukset

Keskeiset termit nukkeohjelmoinnissa

Manifestit

Nukkeohjelma kutsutaan selvä ja sillä on tiedostonimi .pp laajennus. Nuken oletusarvoinen pääilmoitus on /etc/puppet/manifests/site.pp . (Tämä määritteleeyleiset järjestelmäkokoonpanot, kuten LDAP-määritykset, DNS-palvelimet tai muut kokoonpanot, jotka koskevat jokaista solmua).



Luokat

Näissä manifesteissa kutsutaan koodilohkoja luokat muut moduulit voivat soittaa. Luokat määrittävät suuret tai keskikokoiset toiminnallisuudet, kuten kaikki sovelluksen suorittamiseen tarvittavat paketit, määritystiedostot ja palvelut. Luokat helpottavat nukketunnuksen uudelleenkäyttöä ja parantavat luettavuutta.

Resurssit

Nukukoodi koostuu pääosin resurssi-ilmoituksista. A resurssi kuvaa tietyn elementin järjestelmän halutusta tilasta. Se voi esimerkiksi sisältää, että tietyn tiedoston pitäisi olla olemassa tai paketti olisi asennettava.

Nukemoduulit

Paitsi pääsite.ppselvä,se tallentaa manifestitsisään moduulit .

Kaikki nukketunnuksemme on järjestetty moduuleiksi, jotka ovat nuken peruselementtejä, joita voimme käyttää uudelleen ja jakaa. Jokainen moduuli hallitsee tiettyä tehtävää infrastruktuurissa, kuten ohjelmiston asentamista ja määrittämistä.

Moduulit sisältävät nukketunnit, määritellyt tyypit, tehtävät, tehtäväsuunnitelmat, kapasiteetit, resurssityypit ja laajennukset, esimerkiksi mukautetut tyypit tai faktat. Asenna moduulit nukkeihinmodule-polku. Nukke lataa kaiken sisällön jokaisesta moduulin polun moduulista, jolloin tämä koodi on käytettävissä.

Moduulit - Nukkeohjelmointi - EdurekaPuppetlabsissa on ennalta määritettyjä moduuleja, joita voimme käyttää heti lataamalla ne NukkeForge . Voit myös luoda mukautetun nukemoduulin tarpeidesi mukaan.

Nukkeohjelman työnkulku

Käytämme Puppetin deklaratiivista kieltä kuvaamaan haluttua järjestelmän tilaa tiedostoissa, joita kutsutaan manifesteiksi. Manifesteissa kuvataan, kuinka verkko- ja käyttöjärjestelmän resurssit, kuten tiedostot, paketit ja palvelut, tulisi määrittää.

Nuken kokoelmat ilmenevät luettelot ja se soveltaa kutakin luetteloa vastaavaan solmuunsa varmistaakseen t: n kokoonpanonhän solmu on oikeakaikkialla infrastruktuurissasi.

Esittely: Apache & MySQL: n asennuksen automatisointi

Tämä nukkemoduuleja käsittelevä artikkeli on käytännönläheinen, joka näyttää kaksi tapaa käyttää nukketeatterimoduulia ja opettaa myös kuinka automatisoida näillä kahdella moduulilla määritetyn palvelimen asennus.

Ensinnäkin varmista, että sinulla on valmiina Nukke-infrastruktuuri, joka sisältää nukketeatteripalvelimen ja 2 nukketeagenttia.

  • Puppet Master: Ubuntu 18.04
  • Agentti 1: Ubuntu 18.04
  • Agentti 2:CentOS7

Tässä on yhteenveto siitä, mitä saavutamme tässä käytännön toiminnassa:


Joten aloitetaan käytännön:

Moduulin luominen tyhjästä

Tässä nukemoduulissa käsittelemme tehtäviä, kuten Apache-paketin lataamista, tiedostojen määrittämistä ja virtuaalisten isäntien määrittämistä.

  • Siirry Puppet Master -sovelluksesta Puppet-moduulihakemistoon ja luo Apache-hakemisto:
    cd / etc / puppet / modules sudo mkdir apache
  • Luo apache-hakemiston alihakemistoja: manifestit, mallit, tiedostot ja esimerkit.
    cd apache sudo mkdir {manifestit, mallit, tiedostot, esimerkit}
  • Siirry luetteloihin:
    CD ilmestyy
  • Tästä lähtien erotamme moduulin luokkiin kyseisen koodiosan tavoitteiden perusteella.

init.pp -> ladata Apache-paketti

params.pp -> määritellä muuttujat ja parametrit

config.pp -> hallita Apache-palvelun määritystiedostoja.

vhosts.pp -> määritellä virtuaaliset isännät.

Tämä moduuli käyttää myös Hiera (sisäänrakennettu avainarvon määritystietojen hakujärjestelmä, jota käytetään tietojen erottamiseen nukketunnuksesta), muuttujien tallentamiseksi jokaiselle solmulle.

Vaihe 1: Apache-paketin lataaminen

Luo init.pp-luokka

Nyt luommeinit.pptiedosto manifest-hakemistossa apache-paketin säilyttämiseksi.
Koska meillä on 2 erilaista käyttöjärjestelmää (ubuntu ja CentOS7), jotka käyttävät erilaisia ​​Apache-pakettien nimiä, meidän on käytettävä muuttujaa$ apachename.

/etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp

class apache {package {'apache': nimi => $ apachename, varmista => present,}}

paketti resurssi mahdollistaa paketin hallinnan. Tätä käytetään lisäämään, poistamaan tai varmistamaan, että paketti on läsnä.

Useimmissa tapauksissa nimi resurssin (apache, yllä) tulisi olla hallinnoitavan paketin nimi. Eri nimeämistapojen takiakutsumme paketin todellista nimeäkanssa nimi viite. Niin nimi , vaatii vielä määrittelemättömän muuttujan$ apachename.

varmistaa viite varmistaa, että paketti onesittää.

Luo params.pp-tiedosto

params.pptiedosto määrittelee tarvittavat muuttujat. Vaikka voimme määritellä nämä muuttujatinit.pptiedostoa, koska enemmän muuttujia on käytettävä itse resurssityypin ulkopuolella käyttäen aparams.pptiedosto sallii muuttujien määrittelynjoslauseita ja käytetään useissa luokissa.

Luoparams.pptiedosto ja seuraava koodi.

/etc/puppetlabs/code/environments/production/modules/apache/manifests/params.pp

luokan apache :: params {jos $ :: osfamily == 'RedHat' {$ apachename = 'httpd'} elsif $ :: osfamily == 'Debian' {$ apachename = 'apache2'} else {fail ('tämä ei ole tuettu jakelu. ')}}

Alkuperäisen ulkopuolella init.ppluokka, jokaisen luokan nimen on erotettavaapache. Kutsumme tätä luokkaa nimellä apache :: params . Kaksinkertaisen kaksoispisteen jälkeen olevan nimen tulisi jakaa nimi tiedoston kanssa. Anjos-lauseketta käytetään parametrien määrittelemiseen Tekijä , Nukke on itse asennettuna osana asennusta. Täällä Facter vetää alas käyttöjärjestelmäperheen (osfamily), havaitsemaan, jos onpunainen hattutaiDebian-pohjainen.

Kun parametrit on lopullisesti määritelty, meidän on kutsuttava params.pp tiedosto ja parametritinit.pp. Tätä varten meidän on lisättävä parametrit luokan nimen jälkeen, mutta ennen avaavaa kiharaa hakasulkua({).

Joteninit.ppAiemmin luomamme pitäisi näyttää tältä:

luokan apache ($ apachename = $ :: apache :: params :: apachename,) perii :: apache :: params {paketti {'apache': nimi => $ apachename, varmistaa => läsnä,}}

Arvon merkkijono $ :: apache :: params :: arvo käskee nuken vetämään arvot apache moduulit, parametrit luokka, jota seuraa parametrin nimi. Pala perii :: apache :: params salliiinit.ppperiä nämä arvot.

Vaihe 2: Hallitse määritystiedostoja

Apache-määritystiedosto on erilainen riippuen siitä, työskenteletkö Red Hat- vai Debian-pohjaisessa järjestelmässä.

Tämän esittelyn lopusta löydät seuraavat riippuvuustiedostot:httpd.conf(Punainen hattu),apache2.conf(Debian).

  • Kopioi httpd.conf jaapache2.conferillisissä tiedostoissa ja tallenna ne tiedostot hakemistoonklo / etc / puppetlabs / code / environments / production / modules / apache / files .
  • Muokkaa molempia tiedostoja Poista käytöstä pitää hengissä. Sinun on lisättävä rivi KeepAlive pois päältä ettähttpd.conftiedosto. Jos et halua muuttaa tätä asetusta, meidän on lisättävä kommentti jokaisen yläosaantiedosto:
    /etc/puppetlabs/code/environments/production/modules/apache/files/httpd.conf
#Tätä tiedostoa hallinnoi nukke

Lisää nämä tiedostotinit.pptiedosto, joten Puppet tietää näiden tiedostojen sijainnin sekä pääpalvelin- että agenttisolmuissa. Tätä varten käytämme tiedosto resurssi.

/etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp

tiedosto {'configuration-file': polku => $ conffile, varmista => tiedosto, lähde => $ confsource,}

Koska kokoonpanotiedostot ovat kahdessa eri paikassa, annamme resurssille yleisen nimen kokoonpanotiedosto tiedoston kanssa polku määritetään parametrinapolkumääritteen.

varmistaa varmistaa, että se on tiedosto.

lähde antaa yllä olevien tiedostojen sijainnin nukketietokoneessa.

Avaaparams.pptiedosto.

Määritämme $ confile ja $ confsourcemuuttujatjoslausunto:

/etc/puppetlabs/code/environments/production/modules/apache/manifests/params.pp

jos $ :: osfamily == 'RedHat' {... $ conffile = '/etc/httpd/conf/httpd.conf' $ confsource = 'puppet: ///modules/apache/httpd.conf'} elsif $: : osfamily == 'Debian' {... $ conffile = '/etc/apache2/apache2.conf' $ confsource = 'puppet: ///modules/apache/apache2.conf'} else {...

Meidän on lisättävä parametritapacheluokan vakuutusinit.pptiedosto, samanlainen kuin edellinen esimerkki.

Kun määritystiedosto muuttuu, Apache on käynnistettävä uudelleen. Tämän automatisoimiseksi voimme käyttää palveluresurssiayhdessä ilmoittaa attribuutti, joka kutsuu resurssin toimimaan aina, kun määritystiedostoa muutetaan:

/etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp

tiedosto {'configuration-file': polku => $ conffile, varmista => tiedosto, lähde => $ confsource, ilmoita => Palvelu ['apache-palvelu'],} palvelu {'apache-palvelu': nimi => $ apachename, hasrestart => true,}

palvelu resurssi käyttää jo luotua parametria, joka määritteli Apache-nimen Red Hat- ja Debian-järjestelmissä.
käynnistä uudelleen määritettä käytetään käynnistämään määritetyn palvelun uudelleenkäynnistys.

Vaihe 3: Luo virtuaaliset isäntätiedostot

Järjestelmän jakelusta riippuen virtuaalipalvelimen tiedostoja hallitaan eri tavalla. Tämän vuoksi me koodataan virtuaalisten isäntien koodijoslauseke, samanlainen kuinparams.ppluokka, mutta sisältää todelliset nuken resurssit.

  • Sisältäapache / manifestit /hakemisto, luo ja avaa avhosts.pptiedosto. Lisää luurankojoslausunto:

/etc/puppetlabs/code/environments/production/modules/apache/manifests/vhosts.pp

luokan apache :: vhosts {if $ :: osfamily == 'RedHat' {} elsif $ :: osfamily == 'Debian' {} else {}}

CentOS 7 -palvelimen virtuaalisen isäntätiedoston sijainti on/etc/httpd/conf.d/vhost.conf . Sinun on luotava tiedosto mallina Puppet masteriin. Tee sama Ubuntun virtuaalihostitiedostolle, joka sijaitsee osoitteessa/etc/apache2/sites-available/example.com.conf, korvaaesimerkki.compalvelimen FQDN: n kanssa.

lisää kaksi numeroa java
  • Siirry kohtaan malleja tiedosto apache moduuli ja luo sitten kaksi tiedostoa virtuaalisille isäntällesi:

Red Hat -järjestelmille:
/etc/puppetlabs/code/environments/production/modules/apache/templates/vhosts-rh.conf.erb

ServerAdmin ServerName ServerAlias ​​www. DocumentRoot / var / www // public_html / ErrorLog /var/www//logs/error.log CustomLog /var/www//logs/access.log yhdistetty

Debian-järjestelmät:
/etc/puppet/modules/apache/templates/vhosts-deb.conf.erb

ServerAdmin ServerName ServerAlias ​​www. DocumentRoot / var / www / html // public_html / ErrorLog /var/www/html//logs/error.log CustomLog /var/www/html//logs/access.log yhdistettyVaadi kaikki sallitut

Käytämme vain kahta muuttujaa näissä tiedostoissa: järjestelmänvalvojan sähköposti ja palvelimen nimi . Määritämme nämä solmu kerrallaansite.pptiedosto.

minun sql-oppaat aloittelijoille
  • Palaa sivullevhosts.pptiedosto. Luotuihin malleihin voidaan nyt viitata koodissa:

/etc/puppetlabs/code/environments/production/modules/apache/manifests/vhosts.pp

luokan apache :: vhosts {if $ :: osfamily == 'RedHat' {tiedosto {'/etc/httpd/conf.d/vhost.conf': Varmista => tiedosto, sisältö => malli ('apache / vhosts-rh .conf.erb '),}} elsif $ :: osfamily ==' Debian '{tiedosto {' /etc/apache2/sites-available/$servername.conf ': varmistaa => tiedosto, sisältö => malli (' apache /vhosts-deb.conf.erb '),}} else {fail (' Tämä ei ole tuettu jakelu. ')}}

Molemmat jakeluperheet kutsuvattiedostoresurssi ja ota virtuaalisen isännän sijainnin nimi kyseisessä jakelussa. Debianille tämä tarkoittaa jälleen kerran viittaamistapalvelimen käyttäjätunnusarvo.sisältöattribute kutsuu vastaavat mallit.

  • Molemmat virtuaaliset isäntätiedostot viittaavat kahteen hakemistoon. Ne eivät ole oletusarvoisesti järjestelmissä. Voimme luoda nämä käyttämällätiedostoresurssi, kukinjoslausunto. Täydellinenvhosts.conftiedoston tulisi muistuttaa:

/etc/puppetlabs/code/environments/production/modules/apache/manifests/vhosts.pp

luokan apache :: vhosts {if $ :: osfamily == 'RedHat' {tiedosto {'/etc/httpd/conf.d/vhost.conf': Varmista => tiedosto, sisältö => malli ('apache / vhosts-rh .conf.erb '),} tiedosto {[' / var / www / $ palvelimen nimi ',' / var / www / $ palvelimen nimi / julkinen_html ',' / var / www / $ palvelimen nimi / loki ',]: varmista => hakemisto,}} elsif $ :: osfamily == 'Debian' {tiedosto {'/etc/apache2/sites-available/$servername.conf': varmistaa => tiedosto, sisältö => malli ('apache / vhosts-deb. conf.erb '),} tiedosto {[' / var / www / $ palvelimen nimi ',' / var / www / $ palvelimen nimi / public_html ',' / var / www / $ palvelimen nimi / lokit ',]: varmistaa => hakemisto ,}} else {fail ('Tämä ei ole tuettu jakelu.')}}

Vaihe 4: Testaa moduuli

  • Siirry kohtaanapache / manifestit /, suorita nuken jäsennin kaikissa tiedostoissa varmistaaksesi, että nukketunnus on virheetön:

sudo / opt / puppetlabs / bin / puppet jäsennin vahvistaa init.pp params.pp vhosts.pp

Sen pitäisi palata tyhjä, ilman ongelmia.

  • Siirry kohtaan esimerkkejä hakemistossaapachemoduuli. Luoinit.pptiedosto ja sisällytä luodut luokat. Korvaa arvot arvollepalvelimen käyttäjätunnusja$ adminemailomallasi:

/etc/puppetlabs/code/environments/production/modules/apache/examples/init.pp

serveremail = 'webmaster@example.com' $ servername = 'puppet.example.com' sisältää apache sisältää apache :: vhosts
  • Testaa moduuli suorittamalla nukke soveltaa kanssa - Ei tag:
    sudo / opt / puppetlabs / bin / nukke soveltaa --noop init.pp

Sen ei pitäisi palauttaa virheitä ja tulosta, että se käynnistää päivityksen tapahtumista. Asenna ja määritä apache Puppet masteriin suorittamalla uudelleen ilman- Ei, jos niin halutaan.

  • Siirry takaisin Puppet-päähakemistoon ja sittenilmeneekansio (eiApache-moduulissa oleva).

cd / etc / puppetlabs / code / environments / production / manifestes

Luosite.pptiedosto,ja sisällyttää Apache-moduulin kullekin agenttisolmulle. Syötä myös muuttujatjärjestelmänvalvojan sähköposti ja palvelimen nimiparametrit. Sinunsite.pppitäisi muistuttaa seuraavaa:

/etc/puppetlabs/code/environments/production/manifests/site.pp

solmu 'puppet-agent-ubuntu.example.com' {$ adminemail = 'webmaster@example.com' $ servername = 'puppet.example.com' include apache include apache :: vhosts} solmu 'puppet-agent-centos.example .com '{$ adminemail =' webmaster@example.com '$ servername =' puppet.example.com 'include apache include apache :: vhosts}

Oletuksena hallittujen solmujen Nukke-agenttipalvelu tarkistaa automaattisesti isännältä 30 minuutin välein ja ottaa käyttöön kaikki uudet asetukset isännältä. Voit myös kutsua Puppet-agenttiprosessin manuaalisesti automaattisten agenttiajojen väliin. Suorita uusi moduuli agenttisolmuissa manuaalisesti, kirjaudu sisään solmuihin ja suorita:

sudo / opt / puppetlabs / bin / nukketeagentti -t

Nyt kun olemme oppineet luomaan moduulin tyhjästä, opitaan käyttämään ennestään olemassa olevaa moduulia nukketeatterin nukkejasta.

Käytä PuppetForgen moduulia

Puppet Forge palvelimella on jo useita moduuleja suoritettavaksi. Voimme konfiguroida nämä yhtä laajalti kuin luomasi moduuli ja säästää aikaa, koska meidän ei tarvitse luoda moduulia tyhjästä.

Varmista, että olet / etc / puppetlabs / code / environments / production / modules ja asenna Puppet Forgen MySQL-moduuli kirjoittanut PuppetLabs. Tämä asentaa myös kaikki vaadittavat moduulit.

cd / etc / nukketabletit / koodi / ympäristöt / tuotanto / moduulit

sudo / opt / puppetlabs / bin / nukke-moduuli asentaa puppetlabs-mysql

Luo tietokantoja Hieran avulla

Ennen kuin luot määritystiedostoja MySQL-moduulille, ota huomioon, ettet halua käyttää samoja arvoja kaikissa agenttisolmuissa. Toimitamme Puppetille oikeat tiedot solmua kohden käyttämällä Hieraa. Käytät eri juurisalasanaa solmua kohden, mikä luo erilaisia ​​MySQL-tietokantoja.

  • Navigoida johonkin/ etc / nukkeja luo Hieran määritystiedostohiera.yamlpääosinnukkehakemistoon. Käytät Hieran oletusarvoja:

/etc/puppetlabs/code/environments/production/hiera.yaml

--- versio: 5 hierarkia: - nimi: Yhteinen polku: common.yaml-oletusarvot: data_hash: yaml_data datadir: data
  • Luo tiedostocommon.yaml. Se määrittää oletusarvon juuri salasana MySQL: lle:

/etc/puppetlabs/code/environments/production/common.yaml

mysql :: palvelin :: root_password: 'salasana'

Käytämmecommon.yamltiedostokun muuttujaa ei ole määritelty muualla. Tämä tarkoittaa, että kaikilla palvelimilla on sama MySQL-juurisalasana. Nämä salasanat voidaan myös hajauttaa turvallisuuden lisäämiseksi.

  • Voit käyttää MySQL-moduulin oletusasetuksia lisäämällä sisältää ':: mysql :: palvelin' linjasite.pptiedosto. Tässä esimerkissä kuitenkin ohitat moduulin oletusasetukset luodaksesi tietokannan kullekin solmulle.

Muokkaasite.pptiedosto, jolla on seuraavat arvot:

solmu 'Puppetagent-ubuntu.example.com' {$ adminemail = 'webmaster@example.com' $ servername = 'hostname.example.com' include apache include apache :: vhosts include mysql :: server mysql :: db {'mydb_ $ {fqdn} ': käyttäjä =>' oma käyttäjä ', salasana =>' mypass ', dbname =>' mydb ', isäntä => $ :: fqdn, grant => [' SELECT ',' UPDATE '], tag = > $ domain,}} solmu 'Puppetagent-centos.example.com' {$ adminemail = 'webmaster@example.com' $ servername = 'hostname.example.com' sisältää apache sisältää apache :: vhosts sisältävät mysql :: server mysql :: db {'mydb _ $ {fqdn}': user => 'myuser', salasana => 'mypass', dbname => 'mydb', host => $ :: fqdn, grant => ['SELECT', ' PÄIVITÄ '], tag => $ domain,}}

Nukumoduulien asennuksen automatisointi nukketeatterista nukenagenttiin

  • Voit suorittaa nämä päivitykset manuaalisesti jokaisessa solmussa SSH: n avulla jokaiseen solmuun ja antamalla seuraavan komennon:

sudo / opt / puppetlabs / bin / nukketeagentti -t

  • Muussa tapauksessa hallittujen solmujen Nukke-agenttipalvelu tarkistaa automaattisesti isännältä 30 minuutin välein ja ottaa käyttöön kaikki uudet asetukset isännältä.

Luetteloa on sovellettu onnistuneesti Ubuntu-agenttiin

Luetteloa on sovellettu onnistuneesti CentOS-agentille

Siten koko asennus saa automatisoitu agenttisolmuissa soveltamalla vain luetteloa.Tässä esittelyssä käytetyt kooditiedostot ja riippuvuudet löytyvät tässä .

Toivon, että tämä demo on auttanut sinua saamaan selkeän käsityksen nuken moduuleista ja manifesteista sekä niiden käytöstä IT-infrastruktuurin automatisointiin.Tässä tapauksessa työstäsi tulee niin helppoa, määritä vain kokoonpanot Puppet Master -sovelluksessa ja Puppet-agentit arvioivat automaattisesti pääilmoituksen ja käyttävät moduulia, joka määrittelee Apache- ja MySQL-asetukset. Jos sinulla on kysyttävää, lähetä ne osoitteeseen .

Jos löysit tämän Nukkeopetus 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, Jenkins, Nagios ja GIT SDLC: n useiden vaiheiden automatisoimiseksi.