Aikataulu – Linuxin keskitetty hallinta – ict4tn011-4 syksyllä 2013

Hallitse palvelimiasi ja työasemiasi Pupetilla. Pupettia käyttävät mm. Google, Mozilla ja Wikipedia.

Esitiedot

Esitiedot (kertaa nämä): Linuxin komennot, apt, demonien hallinta (esim Apache), tiedostojärjestelmän rakenne (etc, var…).

Alustava aikataulu

1. Hello Puppet World. Aloitus: järjestäytyminen, nykytilan arviointi; automaation ja keskitetyn hallinnan merkitys; katsaus työkaluihin. (Hello Puppet – on Ubuntu, Resources and the RAL, Modules and Classes, esitiedot [yllä])
2. Demonien konfigurointi. Muotit ja faktat (Templates, Show all facter facts). Demonien asennus (Package-File-Service, notify) vianetsintä (–debug), outojen init-skriptien ohittaminen (SSH Server Puppet Module for Ubuntu 12.04).
3. Orjien ohjaaminen verkon yli (PuppetMaster on Ubuntu 12.04, Basic Agent/Master Puppet).
4. Tyyppien määritteleminen. Määritellyt tyypit ovat asioille, joita voi olla monta, kuten käyttäjät tai Apachen virtuaalipalvelimet. Defined types. Kertaus, omien projektien käynnistys.
5. Git versionhallinta. (Git from Offline to Network, Pro Git (pdf): 1. Getting started (paitsi ei 1.4 Installing Git); 2. Git Basics (2.4 Undoing things asti)
6. Automatisoitu komentojen suoritus ja Fabric. Vierailija? (Fabric tutorial 1, Fabfile for Puppet installations)
7 Koe w50
8 Omien modulien esittely w51
Aikataulu on alustava – edistyneellä kurssilla aiheisiin tulee muutoksia vielä kurssin aikana.

Suoritukset

  • Aktiivinen osallistuminen lähiopetukseen
  • Kotiläksyt 50 %, mukaanlukien oman puppet-modulin kirjoittaminen ja esittely
  • Koe 50% (Kurssikirjat Learning Puppet ja Puppet Cookbook, aikataulusta linkitetyt artikkelit, oppitunnit)

Erityisesti omien modulien esittelyssä on tärkeää olla seuraamassa kaikkia esityksiä.

Kurssikirjat

Vaaditut: Learning Puppet, Puppet Cookbook
Oheismateriaali: Puppet reading list

Vanhoja kurssisivuja

Vanha toteutus: Aikataulu – Linuxin keskitetty hallinta – ict4tn011-3 keväällä 2013

Vanha toteutus: Linuxin keskitetty hallinta – ict4tn011-2 syksyllä 2012

Vanha toteutus: Aikataulu – Linuxin keskitetty hallinta – ict4tn011-1

Päivitetty mm. aikataulua ja lisätty linkkejä.

Posted in Uncategorized | Tagged , , , , , , , , , | 40 Comments

40 Responses to Aikataulu – Linuxin keskitetty hallinta – ict4tn011-4 syksyllä 2013

  1. Läksy 1: lue aikataulussa mainitut tekstit. Kirjoita lyhyt puppet-ohjelma “Resources and the RAL” -kappaleen pohjalta. Voit esimerkiksi muokata “hei maailma” esimerkkiä.
    Moodleen voit halutessasi palauttaa linkin esim. blogissa tai kotisivulla julkaisemaasi vastaukseen.

  2. Tehtävän palautus:
    http://kontsu.wordpress.com/2013/11/01/hello-puppet-module/
    En löytänyt kurssia Moodlesta vielä lainkaan.

  3. Läksy 2: Tee kaksi modulia:
    – Yksi kappaleiden muotit (Templates) ja facter (Show all facter facts) pohjalta (linkit aikataulussa)
    – Yksi package-file-service (muu kuin ssh)

  4. Niko Kiuru says:

    Oma moduuli kurssin lopputyöksi: Ruby on Rails tuotantoympäristö

  5. Omia modulien aiheita saa varata kommenttina aikataulun perään, jos on jo löytänyt kiehtovan aiheen.

  6. Mats Wiik says:

    Moduulin aiheeksi LAMPin pystyttäminen.

  7. Axel Auvinen says:

    Lopputehtävä: Django tuotantoympäristö

  8. Moduulin aiheeksi Java kehitysympäristön asennus (Tomcat 7)

  9. Läksy 3:
    – Herra ja kaksi orjaa -asennus. Kannattaa aloittaa vaiheittain “hei maailmasta”, edetä herran ja yhden orjan asennukseen jne. Voit halutessasi käyttää virtuaalikoneita esimerkiksi Vagrantilla.
    – Vapaaehtoinen bonus: Määrittele orjille asetukset, jotka ovat osittain samanlaiset ja osittain erilaiset.
    Päivitetty: siirsin kirjallisuuden aikatauluun.

  10. Joni Junni says:

    Puppetmasterin asennus ja kahden client-koneen konfiguroiminen:

  11. Pasi Martikainen says:

    Kurssin lopputyö: Nimipalvelimen (bind9) ja sähköpostipalvelimen (exim) keskitetty hallinta.

  12. Kurssin projekti: yhteisen git-ympäristön asennus usealle käyttäjälle

  13. h4: Lue Learning Puppet -kirjasta luvut Parametrized Classes ja Defined Types. Kirjoita kummastakin esimerkkisovellus.
    Varaa aiheesi kommenttina tämän aikataulun perään.

  14. Lauri Soivi says:

    Oma moduuli: Jenkins ympäristön asentaminen

  15. h5: Tee alpha-versio omasta modulistasi. Pidä versionhallintaa gitissä. Julkaise myös git logista ainakin commit messages.
    Vapaaehtoinen lisätehtävä: Tee git varasto monelle käyttäjälle. Tee projektia varten oma projektikäyttäjä, joka ei saa kirjautua sisään (usermod –lock). Katso myös http://terokarvinen.com/2011/shared-folder-with-chmod-setgid
    ps. Muista varata modulisi aihe kommenttina tämän aikataulun perään. Lue kurssikirjat hyvissä ajoin ennen koetta.

  16. Juuso Pääkkönen says:

    Oma moduli: MongoDB-tietokannan asentaminen kehitysympäristökäyttöön

  17. T says:

    Oma moduli, joka asentaa tarvitsemiani ohjelmia, mm. google chrome, skype ja uusin nodejs xubuntu 13.10:lle.
    http://myy.haaga-helia.fi/~a1004033/pupped/#6

  18. T says:

    Tehokkaasti ahdettu paljon asiaa kolmeen opintopisteeseen, voisi jopa olla ainesta isommalle kurssille?
    Omien modulien esittelyissä tuntui, että monella oli jäänyt se kesken. Olisikohan tarvetta pyhittää yksi tunti omien modulien kehitykseen ohjatusti.

  19. Joni Junni says:

    Kurssi oli erinomainen katsaus keskitetyn hallinnan työkaluihin Puppetiin sekä Fabriciin. Aion varmasti jatkossa käyttää opittuja taitoja omien palvelimien ylläpitoon keskitetysti.
    Koe oli sopivan haastava ja testasi hyvin taitoja.
    Kurssin lopuksi oman moduulin teko oli hyödyllistä taitojen vahvistamiseksi ja omalla kohdallani tein moduulin joka tulee viilauksien jälkeen tuotantokäyttöön ylläpitämään webbipalvelinta.
    Suosittelen tätä kurssia henkilöille joilla on aikaisempaa kokemusta linux-ympäristöistä ja hakevat keinoja työasemien ja palvelimien helpompaan ylläpitoon.

  20. Juuso Pääkkönen says:

    Opin perusteet Puppetista ja sen käyttämisestä keskitetyssä hallinnassa. Palvelimien hallinnassa tästä on varmasti hyötyä, mutta työelämässä suurin osa koneista on kuitenkin Windows-pohjaisia, jolloin puppetia ei voida hyödyntää (Vaikka jonkunlainen tuki tälle löytyykin).
    En keksi tilannetta, missä hallittaisiin useita Linux-työasemia. Yleensä tällaisissa yrityksissä koneiden käyttäjät ovat itsekin kokeneita ja konfiguroivat mielellään oman työasemansa mieleisekseen.
    Koe oli mielestäni aika helppo. Se voisi olla enemmän soveltava. Tällä kertaa koe tuntui enemmän luetun ymmärtämiseltä.
    Moduulien esittely oli mukavaa ja muiden esityksistä sai paljon irti. Opettajan palaute oli suoraa, mutta niin sen pitääkin olla. Yleensä opettajat antavat liian paljon anteeksi ja kehuvat työtä, jossa on selviä puutteita. Palaute oli rehellinen ja kritiikki perusteltua.
    Kurssia suosittelisin niille, jotka ovat aidosti kiinnostuneita Linux-koneiden ylläpidosta.

  21. Bruno Eklund says:

    Käytin kurssilla ensimmäistä kertaa puppetia. Opin mielestäni paljon oleellisia asioita sen käytöstä. Hyvä että orja-herra-tunti mahtui ohjelmaan, koska näki käytännössä kun jotain tapahtui.
    Luulen, että tulen käyttämään töissä puppetia automatisointiin ja että tutustun siihen vielä tarkemmin tulevaisuudessa.
    Mielestäni kurssi oli hyvin jäsennelty, ja sain aina suoritettua tuntiharjoitukset.
    Oman moduulin kirjoittamisessa tuli hieman kiire, ja aionkin parannella sitä mahdollista tuotantokäyttöä varten.
    Muut kurssilaiset pitivät mielenkiintoisia esityksiä, ja osa oli selkeästi nähnyt vaivaa moduulin kirjoittamiseen.
    Koe oli mukava yllätys, koska olin varautunut laitekokeeseen. Hyvä, että näki heti tuloksen palautuksen jälkeen.
    Opettajan antama palaute on ok!
    Voisin suositella kurssia henkilöille, jotka kuvittelevat hyötyvänsä puppet-taidoista.

  22. Lauri Soivi says:

    Opin paljon Pupetista. Kaikki perusteet mitä tarvitsee, jotta pystyy lähtemään kehittämään omia moduuleja ja ottamaan Pupettia käyttöön. Tulen käyttämään Pupettia vastaisuudessa tietokoneitteni ylläpitoon. Kurssin kokonaisuus oli hyvä. Kurssin sisältöä ei tarvitse minun mielestäni muuttaa. Koe oli todella hyvä. Se testasi hyvin teoria osaamisen. Esseekoe olisi ollut työläs tarkistaa ja arviointi tuntuu esseekokeissa olevan välillä vähän randomia. Pallokoe ei jätä mutisemisen varaa arviointiin. Oman moduulin tekeminen oli kivaa, mutta työlästä. Esitykset olivat hyvät, koska näki mitä muut on tehnyt ja oppi siinä samalla uusia asioita ja lähestymistapoja. Tulen suosittelemaan opiskelukavereilleni tätä kurssia, mutta vaatimuksena kurssille on hyvät Linuxin perusteet, koska kurssi on lähes mahdoton jos perusteet on hakusessa.

  23. Mats Wiik says:

    Jälleen kerran mielenkiintoinen kurssi jossa paljon asiaa. Puppet moduulien teko tuntuu samaan aikaan yksinkertaiselta ja monimutkaiselta. Oman moduulin tekeminen kiteytti hyvin kurssin aikana opitut ja virkisti aikaisempaa Linux osaamista.
    Opettajan palaute virkistävän suorasukkaista ja asiapitoista.
    Kurssin sisältö haastava. Suosittelen kurssia niille jotka ovat saanneet Teron Linux palvelimena kursissta kiitettävän.

  24. Niko Kiuru says:

    Kurssi oli kokonaisuudessaan onnistunut. Opin paljon uutta keskitetystä hallinnasta, ja tulen soveltamaan opittua myös jatkossa. Oman tuotantopalvelimen ja työpöytäympäristön kuvaaminen puppetilla olisi seuraavana edessä. Kurssin rastiruutuun-tentti oli varmaankin ainoa hyvä tapa toteuttaa kurssin tentti.
    Muiden kurssitovereiden omien moduulien näkeminen oli hauskaa, ja aika kului nopeasti. Opettajan antama palaute oli rakentavaa, ja kertoi täysin ne heikkoiduet joihin itseni on kiinnitettävä huomiota saattaessani moduulini ensimmäiseen kunnon versioon, ja jotta voisin käyttää sitä myös omassa tuontatoympäristössäni. Itse pidän rakentavastapalautteesta enemmän kuin päähän silittelystä.
    Suosittelen Teron järjestämiä kursseja jokaiselle, joka haluaa oppia teknisesti välillä vaativia, mutta myöhemmin työelämässä lähes välttämättömiä taitoja, mikäli haluaa joskus tulla menestymään tällä alalla.

  25. Axel Auvinen says:

    1. Opin paljon uutta, varmasti johtuen siitä että ensikosketukseni linuxin maailmaan oli tämän vuoden syyskuussa. Se ei kuitenkaan hidastanut kurssilla etenemistä, vaan pystyin tekemään tehtävät ihan muiden gurujen joukossa. Vaikka kurssista sanottiin, että on tosi hankala, ei se ollut lävitsepääsemätön.
    2. Kurssi oli hyödyllinen minulle. Selite alla.
    3. Aijon tästä eteenpäin automatisoida koko distron asennukseni, kaikkine komponentteineen, sekä luoda yleisesti käyttämistäni moduuleista valmiit moduulit (lamp + wordpress multihost ainakin, sekä nyt epäonnistuneen djangon tuotantoympäristön)
    4. Kurssi voisi olla esimerkiksi 6 OP arvoinen, sisältää lisää tuotantovalmiin tavaran jakelua koneille, fabricciin tarkemmin tutustua ja tarkemmin läpikäydä läksyt. Eli aika tuntui loppuvan kesken tuntien aikana.
    5. Koe oli mielestäni helpohko, kunhan oli lukenut kurssikirjat, tehnyt kotitehtävät ja osallistunut lähiopetukseen.
    6. Oman moduulin kirjoittaminen epäonnistui itseltäni. Oma kokemukseni Linuxista on vielä vähäistä, niin en täysin tajunnut djangon maailmaa. Olen kuitenkin iloinen, että Tero selitti miten kannattaa asentaa django, ja nyt pääsen jatkamaan tästä eteenpäin sen automatisointi. Sainkin sen kerran manuaalisesti toimimaan, mutten saanut sitä puppetilla toimimaan.
    Muiden kurssilaisten esitykset olivat pääasiassa hyviä ja mielenkiintoisia. Itse teen verkkosivukehitystä, niin oli mielenkiintoista kuulla Sassy CSS ja Compass komponenteista distron conffaus moduulissa, pitää tutustua. Myöskin aijon jenkinsiin tutustua, automatisoitu testaus kun on kovin tärkeää!
    Opettajan palaute on välillä hyvinkin suorasanaista, ehkä jopa karua, mutta itseäni se ei haittaa. Jotkin muut opiskelijat voivat ottaa itseensä.
    7. Suosittelen kurssia ehkä minua kokeneemmille linuxin käyttäjille. Vaikka kurssista pääsin läpi ja koekkin meni ihan hyvin, en välttämättä saanut kaikkea irti kurssista mitä olisin halunnut.

  26. Puppet oli minulle täysin uusi juttu, joten oppimista oli reilusti. Kurssilla opetettiin asiat hyvin ja läksyjä tehtäessä materiaaliakin löytyi niin paljon kuin jaksoi lukea.
    Puppettia olisi mielenkiintoista käyttää tulevaisuudessa, mutta en tällä hetkellä löydä sille suurta käyttöä, paitsi kotikoneen asennuksien automatisointia formatointien yhteydessä.
    Koe oli mielestäni hyvä, mutta jotkin vaihtoehdot olivat hankalasti muotoiltuja (esim. puppetin suoritusjärjestys on: undefined tai random, joka vaikutti hieman samalta). Oman moduulin teko oli mielenkiintoista, jossa pääsi oikeasti tutustumaan puppetin toimintaan laajemmin ja pidin tätä paljon tärkeämpänä kuin koetta, ehdottomasti asia, joka kuuluu pitää tässä kurssissa!
    Muiden esitysten seuraaminen oli vaihtelevasti haastavaa riippuen tunsiko automatisoidun osuuden jo ennestään. Suosittelen kurssia kaikille, joita kiinnostaa linux palvelimet ja automatisoiminen.

  27. Tällä kurssilla oppi ties mitä. Luultavasti suurin osa kurssilaisista oli täällä ihan ns. vakavissaan eli aikomuksena on oppia mahdollisimman paljon Linux/palvelintyöelämää varten. Itse tulin, koska pari puuttuvaa kurssia piti vielä suorittaa ennen opinnäytetyötä, ja Linux palvelimena -kurssi oli ollut haastavuudessaan, palkitsevuudessaan ja mielekkyydessään erinomainen. Pidin tätä kiehtovana haasteena (sen sijaan että olisin ottanut jonkun sählykurssin) vaikka tiesin että tod. näk. joutuisin valvomaan monta yötä hakaten päätä seinään tehtävien vaikeuden takia. Niinhän siinä puoliksi kävi, mutta ei todellakaan kaduta kurssin käyminen. Nyt tuntuu siltä että on saavuttanut jotain.
    Ovatko kurssilla opitut asiat siis tulevaisuudessa hyödyllisiä? Jos olet yhtään näistä asioista kiinnostunut, sanoisin että tämä kurssi (kuten Linux palvelimena) on korvaamaton. Paljon mielekkäämpi kuin koulumme kurssit keskimäärin. Itselleni kurssin hyödyllisyys jää nähtäväksi kun ei ole ihan välittömissä suunnitelmissa soveltaa näitä asioita työelämässä.
    Kurssin aikana tuli välillä mentyä sekaisin kun Learning Puppet käy asiat läpi eri järjestyksessä. Tämä ei kuitenkaan kaada maailmaa jos on hereillä tunnilla ja käyttää läksyihin aikaa.
    Koe (28 monivalintakysymystä) oli juuri sellainen kuin kokeet parhaimmillaan ovat. Ei tarvinnut tuhria käsiä musteeseen/lyijyyn, mutta silti piti olla kurssin teoria hallussa. Paikoitellen 4-5 vaihtoehdosta kaksi kuulostivat omaan korvaan molemmat oikeilta. Ei siinä muu auttanut kuin miettiä ennen vastauksen lukitsemista.
    Omasta moduulista sen verran, että sen kirjoittaminen kannattaa valita aikaisin. Jos aiheesta ei ole mitään hajua, siihen pitää vaikka kysyä Terolta apua. Kunhan aloittaa homman aikaisin.
    Muiden moduulien seuraaminen oli kivaa. Itsellä oli kuvainnolliset paskat housussa tunnille tullessa kun tuntui siltä ettei omasta moduulista tullut juuri mitään, mutta muiden esityksiä seuratessa muistui mieleen etteivät kurssitoveritkaan (paria poikkeusta lukuunottamatta) ihan nukkemestareita olleet. Otan toki itselleni kunnian kurssin välttävimmästä moduulista 🙂 Kukapa olisi uskonut, että työpöydän taustakuvan vaihtaminen Puppetilla olisi niin monimutkaista? Tai no, ei sen tarvitse olla kunhan tajuaa mitä kannattaa tehdä.
    Teron palaute oli rehellistä, siitä en vaihtaisi sanaakaan.
    Kaikenkaikkiaan erinomainen kurssi. Jos luet tätä, olet todennäköisesti siinä tilanteessa että suosittelen käymään.

  28. Lauri Soivi says:

    Kaikki linuxin keskitetty hallinnan tehtävät. Kaikki tehtävät tehty ja vähän extraakin ( mm. Fabric, SSH public key authentication )
    Oma moduuli: Jenkinsin.
    http://soivi.net/category/linux/centralized-management/

  29. Axel Auvinen says:

    Tässä vielä linkki moduuliini, mikä ei palvele tarkoitusta; tuotantoympäristö. Sitä ei tule käyttää muuhun kuin testaamiseen ja siihenkin varoen. http://axelauvinen.wordpress.com/2013/12/01/starting-project-django-production-environment-with-puppet/
    Aijon tehdä nyt tuotantokelpoisen version moduulista. Siitä lisää myöhemmin blogissani!

  30. Oma moduulini, Java -kehitysympäristön asennus (Tomcat7) löytyy täältä: http://marttikitunen.wordpress.com/2013/12/29/oma-puppet-moduuli/
    Opin kurssilla paljon uutta, vaikka lähtötasoni Linuxin käytössä on melko hyvä. Opin mm. käyttämään Puppettia, Fabricia, sekä automatisoimaan SSH-yhteyksiä. Kurssi ei ollut läheskään niin työläs, kuin Linux palvelimena. Kurssi oli ehkä jopa helpompi, kuin se. Riippuu tietysti paljon omasta Linux -kokemuksesta ja osaamisesta.
    Kurssi oli hyödyllinen, joskin en ole vielä varma, että missä ympäristössä tulen käyttämään Puppettia. Fabricia tulen mahdollisesti käyttämään työelämässä.
    Koe oli todella helppo, ainakin mikäli oli tehnyt kaikki kotitehtävät ja seurannut tunneilla. En silti täysiä pisteitä saanut, koska vastausvaihtoehtojen ymmärtämisessä oli välillä ongelmia. Kuten aikaisemmissa kommenteissa oli mainittu, minunkin mielestäni koe olisi voinut olla mieluummin käytännön tehtävä.
    Oman moduulin teko oli hyvä lisä kurssiin, koska siinä joutui oikeasti hyödyntämään opittua. Moduulin esittäminen oli mukavaa, joskin jatkossa olisi ehkä hyvä suositella kaikille omaa läppäriä mukaan esityksiin teknisistä syistä, jotta aikaa ei kuluisi korjaamiseen.
    Opettajan palaute oli melko suoraa, mutta toisaalta näin pitääkin olla, kunhan se on hyvin perusteltu. Joillakin kursseilla opettaja antaa pelkkiä kehuja, vaikka tehtävä olisi todella surkea. Tällä kurssilla homma toimi kuten pitääkin.
    Tätä kurssia suosittelen niille, joita Linuxin keskitetty ylläpito kiinnostaa.
    Kiitos kurssista!