Aikataulu – Palvelinten hallinta ict4tn022-3 – 5 op, uusi OPS – loppusyksy 2017 p5

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

My current research area is configuration management systems: I gave an invited speech in IEEE ICIM, I’ve recently published a conference paper and gave some tailored teaching on this.

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 tiistai 12:00 – 17:30 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. Eri ympäristöjen hallinta. Ehdolliset valinnat. Windows. Puppetin asennus Windowsiin. Chocolatey. w46

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. Koe kirjallisuus + tunnit w48

7. Modulien tekoa w49

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 – Palvelinten hallinta 3 (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 , , , , , , , , , , , , , , , , , , | 51 Comments

51 Responses to Aikataulu – Palvelinten hallinta ict4tn022-3 – 5 op, uusi OPS – loppusyksy 2017 p5

  1. Saku Kähäri says:

    Voisin tehdä twitch.tv / jonkin muun suoratoistopalvelun moduulin.

  2. Minna Leppälä says:

    Teen LAMP moduulin.

  3. Tommi Timonen says:

    Moduuli, joka asentaa cryptovaluutta mainerin ja asettaa sen toimimaan.

  4. https://github.com/poponappi/hellowindows

    Puppet-moduuli sisältää uuden käyttäjän ja taustakuvan vaihdon

  5. Mikko Knutas says:

    Moduuli, joka asentaa WordPressin ja siihen tietyn valmisteeman.

  6. h5.

    a) Asenna Puppetin orjaksi vähintään kaksi eri käyttöjärjestelmää. (Tee alusta, pelkkä tunnilla tehdyn muistelu ei riitä).

    b) Säädä Windows-työpöytää. Voit esimerkiksi asentaa jonkin sovelluksen ja tehdä sille asetukset.

    c) Varaa omalle modulillesi aihe kommenttina kurssisivun perään. Ensimmäisenä varannut saa aiheen itselleen.

    Lue kokeeseen: tunnit, Puppet 3.8 Reference Manual, Puppet Cookbook.

  7. Monimuotoinen kilpa – eniten käyttöjärjestelmiä

    Yhden numeron arvosanan korotus syksyn keskitetyn hallinnan kurssien parhaalle monimuotoisessa kilpailussa. Kuka hallitsee eniten erilaisia käyttöjärjestelmiä kerralla Puppetilla? Käyttöjärjestelmille tulee tehdä jotain, minimissään “Hei maailma” -tyyppinen moduli.

    Pisteytys:
    a) Täysin eri käyttöjärjestelmä: Linux/Windows/OSX/BSD: 12 pistettä
    b) Eri levityspaketti tai eri iso versio: Windows 7 vs Windows 10; CentOS vs Debian; Debian vs Ubuntu: 3 pistettä
    c) Eri pikkuversio tai arkkitehtuuri: Xubuntu 16.04 vs Kubuntu 16.04, Xubuntu 16.04 vs Xubuntu 17.10; Windows 10 Enterprise vs Windows 10 Nano. 1 piste; amd64 vs arm vs x86;

    Kilpailun päättymispäivä on yllätys. Onnea ottelijoille!

  8. Tatu Erkinjuntti & Simo Suominen says:

    Msi paketin asennus sekä gedit modulit

    https://github.com/TatuE/puppetWin

  9. Masterin ja slaven automaattinen pystytys.

    Esivalmistelut:
    Tarkista masterin ip-osoite ja muuta se skriptiin. Vagrantfile haetaan automaattisesti ja se konfiguroi väärän ip-osoitteen. Se pitää slavesta manuaalisesti muuttaa.

    Hae kotihakemistoon komennolla:
    wget https://raw.githubusercontent.com/mcleppala/puppet/master/puppetmaster.sh

    Aja komennolla:
    bash puppetmaster.sh

  10. h4.

    a) Kokeile Ansible

    b) Kokeile Salt:tia

    Seuraavalle tunnille 2 tyhjää USB-tikkua mukaan.

    Mieti, minkä oman modulin / projektin haluat tehdä tällä kurssilla.

    Aloita kertaamaan kurssikirjallisuutta kokeeseen: tunnit, Puppet 3.8 Reference Manual, Puppet Cookbook.

  11. $ sudo apt-get -y install salt-master salt-minion
    $ sudoedit /etc/salt/minion
    $ grep -v ^# /etc/salt/minion|grep -v '^$'
    master: 172.28.171.3
    $ sudo service salt-minion restart
    $ sudo salt-key --accept xubuntu
    The key glob 'xubuntu' does not match any unaccepted keys.
    $ sudo salt-key
    Accepted Keys:
    xubuntu
    Denied Keys:
    Unaccepted Keys:
    Rejected Keys:
    xubuntu@xubuntu:/etc/salt$ sudo salt '*' test.ping
    [..]
    xubuntu:
        True
    
  12. Saku Kähäri says:

    Pull requestin tekeminen githubissa.
    Huomasin virheen projektissa ja korjasin yhden virheen.
    Forkkasin halutun kirjaston ja tein sinne omat muutokset. Tallentaessa muutosta kommentoin mitä olin muuttanut.
    Menin oman github sivuni kautta forkattuun kirjastoon ja siellä ilmoitettiin muutoksesta ja pull request nappi teki loput.

    https://github.com/joonaleppalahti/CCM/pull/1

  13. h3.

    a) Asenna useita orjia yhteen masteriin. Ainakin yksi rauta- ja useampia virtuaalisia orjia.

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

    c) OrjaSkripti: Tee skripti, joka muuttaa koneen Puppet-orjaksi tietylle masterille. Voit katsoa mallia Tatun tai Eemelin ratkaisuista.

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

  14. Orjakilpailu: kuka ohjaa eniten orjia Puppetilla?

    Todisteena raportti, lokit ja lista avaimista.

    Palkintona yhden arvosanan korotus lopulliseen numeroon, esimerkiksi 4 => 5.

    Kilpailun loppupäivä on yllätys, joten toimi nopeasti. Ja onhan se hauska nähdä, mihin määriin päästään. Tätä kirjoittaessa ennätys on kolme orjaa. Saisitkohan neljä?

  15. Minna Leppälä says:

    Siirryin WordPressistä GitHubiin
    https://github.com/mcleppala/puppet

  16. h2.

    a) Gittiä livenä: Tee ohjeet ja 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).

    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.

  17. Janne says:

    Kotitehtävä 1.

    testwordpresscom5123.wordpress.com/2017/10/28/palvelinten-hallinta-ict4tn022-3-h1-puppet-ssh/

  18. Tomi says:

    Palvelinten hallintatehtävät

  19. Matias Räisänen says:

    Kotitehtävä 1: Mumble-server demonin asennus puppetilla, ja konfiguraatiotiedoston muokkaus.
    http://renki.dy.fi/linux2/tehtava1.php

  20. h1. a) Asenna jokin muu demoni kuin Apache. Raportoi, miten rakensit, selvitit ja testasit kunkin osan (esim. sudo puppet resource, puppet describe, lähteet…). Julkaise myös modulisi lähdekoodi niin, että sen voi helposti ottaa käyttöön.

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

    c) Opiskele

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

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

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

    (tästä c-kohdasta ei tarvitse raportoida, kysellään tunnilla).

    Vinkkejä:

    - Käytä package-file-service -rakennetta.

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

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