Puppet moduuli

Moduuli

Puppetin hienarkia on seuraavanlainen: alinhakemisto(puppetti), sieltä löytyisi hakemistot modules ja manifests. Manifest hakemisto sisältää site.pp tiedoston, jossa kerrotaan mitä tehdään ja minne. Modules hakemisto taas sisältäisi kaikki moduulit.
Jos olisi ssh_install moduuli, niin sen niminen hakemisto olisi modules hakemistossa. Tämän jälkeen kaikki komennot mitä kyseinen moduuli tekisi, sisältäisi ssh_install/manifests hakemistossa init.pp tiedostossa. Jos kyseinen moduuli tarvitsisi tiedostoja niin sitten olisi ssh_install/files hakemisto, jossa kyseiset tiedostot sijaitsisivat.

Ensimmäinen moduulini

Ajattelin tehdä jonkun pienen moduulin ja laittaa tänne siitä vähän tietoa. Käytän yläpuolella olevaa hakemistorakennetta ja yritän selittää samalla.
Kävin kattomassa puppetin keittokirjasta vähän apuja, mitä voisi tehdä.
Ajattelin tehdä moduulin joka tekisi uuden käyttäjän ja tekisi sille myös kotikansion.

sudo apt-get update
sudo apt-get install puppet
mkdir puppet | cd puppet
mkdir manifests | cd manifests
nano site.pp
include createuser

Sitten tein tarvittavia hakemistoja puppet hakemistoon modules/createuser/manifests

Käyttäjä tehty paikallisesti ja haettu koodi /etc/shadow, käyttäjällä user1.
#user1:$6$W2bpcpVY$PZ8cennHGweKDKebj6SiZ/HXihmmt6zKIPq2hb456x3sfwLZUa3020VuyT353Y7Kk56KyyAuLViqOmOz7M/m1.:15442:0:99999:7:::
Koodi leikataan user1: | ja loppuu | :155442 täältä löytyy tiedostot

Tämän jälkeen kokeillaan toimiiko meidän moduuli…

SUDO puppet apply --modulepath=modules/ manifests/site.pp

Vastauksesi tuli warning: Could not retrieve fact fqdn
notice: /Stage[main]/Createuser/Users::Add[user2]/User[user2]/ensure: created
notice: /Stage[main]/Createuser/Users::Add[user1]/User[user1]/ensure: created
notice: Finished catalog run in 0.90 seconds
Tästä huomaamme, että ensimmäinen moduulini toimii.
Ensimmäinen moduulini ei ollut kovin hyvä: tarvitsi kuitenkin olla sillä koneella fyysisesti paikalla, mihin halusi asentaa uudet käyttäjät. Tästä tehtävästä kyllä opin, miten moduuleja rakennetaan.

Apache ja Varnish moduuli

Seuraava tehtävä oli Linux-Palvelimena kurssin kokeessa. Erittäin hyödyllinen yhdistelmä, jos sivuilla on enemmänkin kävijöitä. Paketti on melkein valmis, mutta haluan vielä saada tehtyä moduulin joka kopioi ns. backup-tiedostot, ennen kuin se rupeaa asentamaan vanhojen päälle. Tämä siksi kun meinaan asentaa tämän moduulin omalle palvelimelle ja haluan varmistaa että ei mene mikään vikaan.

Toinen moduulini

Moduulin kaikki tiedostot löytyvät TÄÄLTÄ.
Moduuli asentaa ensin apachen, sen jälkeen Varnish:in. Tämän jälkeen kopioidaan conffaus-tiedostot oikeisiin paikkoihin ja vaihdetaan vielä index.html. Tämän jälkeen viemme vielä tmp/apache_varnish hakemistoon tiedoston, joka kertoo koska on asennettu ja kuka on tehnyt kyseisen moduulin. tmp hakemisto ei ole paras paikka säilyttää tämmöisiä asioita, kun se tyhjenee automaattisesti.
moduulin juuressa oleva start-tiedosto sisältää muutaman komennon millä voi tarkkailla että moduulit toimii.

Moduulin koodia

päätiedosto on /modules/server_install/manifests/init.pp
Poimin muutamia asiota täältä, jotta vältytte samoilta virheiltä. Kun tiedosto menee /etc hakemistoon, muistakaa laittaa tiedoston omistaja oikein

owner => root,
group => root,
mode => 644,

Kun kopioidaan Puppetilla tiedostoja muille koneille, tiedostot joutuvat sijaita /modules/server_install/FILES.

source => "puppet:///modules/server_install/varnish",

Huomaa: puppet: /// . Kolme / merkkiä kertoo että se sijaitsee puppetin hakemistoissa.
Moduulini on muuten valmis, mutta tosiaan vielä pientä hienosäätöä, että saan kopioitua backup tiedostoja talteen.

Varnish

Varnish on ohjelma, joka ottaa käyttäjät vastaan ja kääntää ne sen jälkeen apachen palvelimelle. Tämä helpottaa apachen toimintaa ja sen jälkeen sivuja on hankalampi kuormittaa. Lisätietoja Varnish ohjelmasta.

Kommentoi ensimmäisenä

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *