Aikataulu – Linuxin keskitetty hallinta – 3 op, vanha OPS – loppusyksy 2017 p5 – Puppet

Control 10 computers. Or 100. Or 1000. Use Puppet, the tool used by US Gov (security baseline), Mozilla, Google (laptops and desktops) and Wikipedia.

Just write what you want (idempotency). Control almost everything with one system (single source of truth). In plain text (infrastructure as code, versionable).

The course in Finnish.

Tämä sivu päivittyy koko kurssin ajan.

Kurssin tavoitteet

Opintojakson suoritettuaan opiskelija:

  • Osaa hallita palvelimia kuvailemalla tavoitetilan (idempotenssi)
  • Osaa tehdä asetukset pelkkänä tekstinä ja versioitavasti (infrastruktuuri koodina)
  • Pystyy tekemään tavalliset ylläpitotoimet valitulla työkalulla Puppetilla (yksi totuus)

Esitiedot

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

Alustava aikataulu

Joka torstai 08:00-11:45 labrassa 5004. Kahdeksan viikkoa eli 5 periodi eli 2017 loppusyksy.

Tämä alustava aikataulu elää kurssin aikana.

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 w43

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

3. Orjien ohjaaminen verkon yli (PuppetMaster on Ubuntu 12.04, Basic Agent/Master Puppet). w45

4. Käytännön harjoituksia ja kertausta.

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) w47

6. ei lähiopetusta w48 to 2017-11-30

7. Koe kirjallisuus + tunnit w49 (huomaa muuttunut päivä)

8. Omien modulien esittely w50

Kokeen materiaali

Kokeen materiaalina on opetuksessa käydyt asiat, tämän sivun linkit sekä seuraavat kirjat:

Puppet 3.8 Reference Manual

Wilson 2017: Puppet Cookbook

Suoritukset

  • Aktiivinen osallistuminen lähiopetukseen
  • Kotiläksyt 33 %
  • Oman modulin kirjoittaminen ja esittely 33%
  • Koe 33% (kokeen materiaali [yllä])

Lopullinen arvosana perustuu kokonaisharkintaan kaikista suorituksista. Läksyt on palautettava ajallaan, jotta kurssia saa jatkaa.

Linkkejä

Moodlen kurssisivu – Linuxin keskitetty halinta 12 (edellyttää kirjautumista)

Aiempia toteutuksia

Aiemmilta toteutuksilta löydät palautetta, opiskelijoiden projekteja ja kommentteja.

Aikataulu – Palvelinten hallinta ict4tn022-2 – 5 op, uusi OPS – loppukevät 2017 p2

Aikataulu – Palvelinten hallinta ict4tn022-1 – 5 op, uusi OPS – loppusyksy 2016

Vanhan opetussuunnitelman 3 op:n kurssin vanhoja toteutuksia:

Aikataulu – Linuxin keskitetty hallinta – ict4tn011-8 syksyllä 2015

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

Posted in Uncategorized | Tagged , , , , , , , , , , , | 15 Comments

15 Responses to Aikataulu – Linuxin keskitetty hallinta – 3 op, vanha OPS – loppusyksy 2017 p5 – Puppet

  1. h4.

    a) Unelmien työpöytä. Konfiguroi graafinen ja komentirivikäyttöliittymä Puppetilla. Asenna tarvittavat ohjelmat ja niihin säädöt.

    Vinkki: Kannattaa ryhtyä käyttämään Puppettia päivittäin. Voit säätää Puppetilla jokapäiväistä työpöytääsi, jolloin varmuus ja kokemus Puppetista kehittyy.

    Vinkki: Samat säädöt saat kotiin, läppärille ja hetkessä livetikulle vaikkapa Gitillä.

  2. h3.

    a) Asenna useita orjia yhteen masteriin.

    b) Kerää tietoa orjista: verkkokorttien MAC-numerot, virtuaalinen vai oikea… (Katso /var/lib/puppet/)

    c) Vapaaehtoinen: OrjaSkripti: Tee skripti, joka muuttaa koneen Puppet-orjaksi tietylle masterille. Voit katsoa mallia http://terokarvinen.com/2017/provision-multiple-virtual-puppet-slaves-with-vagrant

    g) Vapaaehtoinen: Asenna samalle masterille ainakin yksi rauta- ja useampia virtuaalisia orjia.

    d) (vapaaehtoinen) Laita skripti Vagrantfile:n provisointiskriptiksi.

    e) Vapaaehtoinen: Oikeaa elämää. Ratkaise jokin kurssin ulkopuolinen asia Puppetilla.

    f) Vapaaehtoinen: Unelmien tikku. Tee unelmiesi USB-live-tikku.

    (Tehtävät tulee raportoida tehdessä, tunnilla tehdyn muisteleminen ei riitä).

  3. $ find -type d -exec chmod ug+rx “{}” \;
    $ find -type f -exec chmod ug+r “{}” \;

  4. h2.

    a) Gittiä livenä: Tee ohjeet tai skriptit, joilla saat live-USB -tikun konfiguroitua hetkessä – ohjelmat asennettua ja asetukset tehtyä.

    b) Kokeile Puppetin master-slave arkkitehtuuria kahdella koneella. Liitä raporttiisi listaus avaimista (sudo puppet cert list) ja pätkä herran http-lokista (sudo tail -5 /var/log/puppet/masterhttp.log). Tee tämä alusta lähtien ja dokumentoi samalla, tunnilla aiemmin tehdyn muistelu ei riitä.

    c) Lue (tästä c-kohdasta ei tarvitse raportoida)

    http://terokarvinen.com/2012/puppetmaster-on-ubuntu-12-04

    http://terokarvinen.com/2012/puppetmaster-on-ubuntu-12-04#comment-21939

    http://terokarvinen.com/2017/simpler-puppet-manifests-resource-defaults-and-manifest-ordering

    https://github.com/poponappi/essential-tools

    Vinkkejä:
    - Herra-orja arkkitehtuuria on helppo kokeilla labrassa oikeilla koneilla. (Virtualboxilla kokeileminen on todennäköisesti hitaampaa ja hankalampaa)
    - Jos herra-orja arkkitehtuurissa sertifikaatit menevät solmuun, pysäytä molemmat demonit (puppetmaster ja puppet agent) yhtä aikaa, poista /var/lib/puppet/ssl/. Tee tarvittavat korjaukset ja yritä uudelleen.

    • Juha Pitkänen says:

      Tunnilla 9.11. yhdellä master-koneella 5 slave-konetta:

      xubuntu@juhamaster:~/git/Puppet$ sudo puppet cert –list –all
      + “juhamaster.tielab.haaga-helia.fi” (SHA256) C4:E9:FE:4A:0D:11:A4:10:25:F0:C8:08:C5:3B:1E:69:5D:97:35:2A:9B:57:6F:80:7C:4B:19:CD:24:85:DA:D4 (alt names: “DNS:juhamaster”, “DNS:juhamaster.tielab.haaga-helia.fi”)
      + “slave01.tielab.haaga-helia.fi” (SHA256) 96:C2:DB:37:F2:3A:DA:00:E0:3B:9C:EF:2E:90:58:A8:8E:3E:97:5A:88:6F:FF:FD:89:6C:7E:E1:47:08:E2:14
      + “slave02.tielab.haaga-helia.fi” (SHA256) 6A:78:23:CD:78:86:8C:39:AA:DD:58:2A:2F:70:25:25:45:25:17:50:80:AD:C9:78:AA:35:BC:92:6D:CD:1D:D3
      + “slave03.tielab.haaga-helia.fi” (SHA256) DB:D4:86:66:36:6A:68:50:41:02:28:63:09:CE:FE:12:C7:67:74:87:70:F1:F7:46:C7:65:CA:4F:78:B7:AF:70
      + “slave04.tielab.haaga-helia.fi” (SHA256) F6:92:1C:30:A2:6D:2C:3A:12:46:1F:42:8C:5D:2F:A8:80:19:C5:0E:D9:98:C8:D2:F1:77:14:88:46:75:68:CB
      + “xubuntu.tielab.haaga-helia.fi” (SHA256) 7D:3A:8A:38:69:3C:BC:E5:5E:AB:63:A8:CB:5E:B3:47:08:15:9F:14:06:D7:46:FB:E5:C5:31:C1:6C:B0:63:A9

    • Juha Pitkänen says:

      Tunnilla 9.11. yhdellä master-koneella 5 slave-konetta:

      xubuntu@juhamaster:~/git/Puppet$ sudo puppet cert –list –all
      + “juhamaster.tielab.haaga-helia.fi” (SHA256) C4:E9:FE:4A:0D:11:A4:10:25:F0:C8:08:C5:3B:1E:69:5D:97:35:2A:9B:57:6F:80:7C:4B:19:CD:24:85:DA:D4 (alt names: “DNS:juhamaster”, “DNS:juhamaster.tielab.haaga-helia.fi”)
      + “slave01.tielab.haaga-helia.fi” (SHA256) 96:C2:DB:37:F2:3A:DA:00:E0:3B:9C:EF:2E:90:58:A8:8E:3E:97:5A:88:6F:FF:FD:89:6C:7E:E1:47:08:E2:14
      + “slave02.tielab.haaga-helia.fi” (SHA256) 6A:78:23:CD:78:86:8C:39:AA:DD:58:2A:2F:70:25:25:45:25:17:50:80:AD:C9:78:AA:35:BC:92:6D:CD:1D:D3
      + “slave03.tielab.haaga-helia.fi” (SHA256) DB:D4:86:66:36:6A:68:50:41:02:28:63:09:CE:FE:12:C7:67:74:87:70:F1:F7:46:C7:65:CA:4F:78:B7:AF:70
      + “slave04.tielab.haaga-helia.fi” (SHA256) F6:92:1C:30:A2:6D:2C:3A:12:46:1F:42:8C:5D:2F:A8:80:19:C5:0E:D9:98:C8:D2:F1:77:14:88:46:75:68:CB
      + “xubuntu.tielab.haaga-helia.fi” (SHA256) 7D:3A:8A:38:69:3C:BC:E5:5E:AB:63:A8:CB:5E:B3:47:08:15:9F:14:06:D7:46:FB:E5:C5:31:C1:6C:B0:63:A9

  5. https://github.com/Miikka-Alatalo/puppet/tree/master/tehtavat/h1

    Tein symlinkin kotihakemiston git-kansiosta /etc/puppet helpottamaan moduleitten tekemistä ja gitin käyttöä.
    https://github.com/Miikka-Alatalo/puppet/tree/master/setup

  6. h1.

    a) Asenna ja konfiguroi jokin muu demoni kuin Apache.

    b) Opiskele esitiedot (yllä) (tästä b-kohdasta ei tarvitse raportoida, kysellään tunnilla).

    c) Opiskele (tästä c-kohdasta ei tarvitse raportoida)

    http://terokarvinen.com/2013/hello-puppet-revisited-%E2%80%93-on-ubuntu-12-04-lts

    http://terokarvinen.com/2017/simpler-puppet-manifests-resource-defaults-and-manifest-ordering

    https://docs.puppet.com/puppet/3.8/lang_summary.html

    http://terokarvinen.com/2016/publish-your-project-with-github

    Vinkkejä:

    - A-kohdassa voit yksinkertaisimmillaan tehdä modulin, joka vain asentaa SSH:n package-resurssilla. Jos osaat jo hieman, kannattaa tehdä asetukset package-file-service -rakenteella.

    - Osaatko vaihtaa SSH:n portin?

    - Voit julkaista modulisi GitHubissa.

    - Raportti on helppo kirjoitaa GitHubiin MarkDown-tekstinä.

    - Lue opiskeltavat artikkelit ennenkuin teet tehtävän

    - SSH lienee helpoin demoni asentaa. Jos olet jo taitava Puppetissa, voit asentaa haastavampia vaihtoehtoja, kuten LAMP:in. Toisessa ryhmässä joku oli asentanut Mumblen.

    - Toisen toteutuksen raporteissa on runsaasti esimerkkejä SSH:n asennuksesta, esimerkiksi
    https://github.com/mcleppala/puppetconf/tree/master/sshd_moduuli/sshd
    https://minnaleppala.wordpress.com/2017/10/29/ssh-demoni-puppet-moduulina/

Leave a Reply

Your email address will not be published. Required fields are marked *

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Picks

  • Boxing Clock for AndroidOcton8 Diving T-ShirtsShaking Tower Panda Android GameLearn Chinese with Android
  • Student projects