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

Hallitse palvelimiasi ja työasemiasi automaattisesti.

Tämä sivu ja aikataulu päivittyy ja muuttuu kurssin lähestyessä.
Yksittäisten Linux-palvelinten ja työasemien ylläpito sujuu, ja nyt haluat hallita kokonaisia verkkoja? Tällä kurssilla opit

  • Automatisoimaan demonien ja muiden sovellusten asetukset
  • Hallitsemaan koneita, jotka eivät ole verkossa juuri nyt (ehkä niitä ei ole vielä ostettu)
  • Määrittelemään koneiden tavoitetilan…
    • ja toteuttamaan sen hallintatyökaluilla

Jos et saanut paikka Winhan kautta, voit tulla ensimmäiselle tunnille w45 torstaina 2015-11-05 kello 12:00 katsomaan peruutuspaikkoja.
Salt Stack on kurssin pääasiallinen työkalu.
Kurssin Moodle-sivu (edellyttää kirjautumista).

Alustava aikataulu

Tunnit 5. periodin ajan torstaisin 12:00 – 15:45 tietokonelabrassa PA/5004-Labra_25.
1. Ei lähiopetusta, pääsykokeet. w44
2. Aloitus. Aloitamme siis vasta periodin toisella viikolla. Järjestäytyminen, nykytilan arviointi; automaation ja keskitetyn hallinnan merkitys; katsaus työkaluihin. Hello Salt. Install the Latest Salt Stack on Ubuntu 14.04 LTS. Salt Package-File-Service with Pyobjects. w45
3. Muotit, pilarit ja jyväset. (Templates, pillars, grains). State top.sls. Salt Pillar Walktrough. Salt.renderers.jinja. States tutorial, Part I – Basic Usage. w46
4. Master-minion. Salt Master-Minion with Ubuntu 14.04 LTS – Control Your Slaves over the Internet. SaltStack Walk-through. Using cron with Salt. Opening the Firewall up for Salt: iptables (läksynä tästä vain “Debian” ja “Ubuntu”). w47
5. Työasemien hallinta. Suosikkisovellusten asentaminen. Tausta- ja latauskuvien vaihtaminen. Motd. Omien skriptien asennus /usr/local/bin/. Salt.rendereres.pyobjects. Salt Cloud with DigitalOcean – Deploy 50 Servers. Windows-orjien hallinta. w48
6. Tietoturvan tarkastaminen. Vierailuluennoitsija Benjamin Särkkä, Disobey.fi, Nordea Incident Responce Team. Palvelinten asetuksia. Preseed MySQL Server Password with Salt Stack. Salt State with Multiple SLS Files. w49
7. Koe. Git versionhallinta. Komentojen etäsuoritus. w50

8. Omien Salt-miniprojektien esittely. w51

Esitiedot

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

Kirjallisuutta

Full List of Builtin State Modules

Vanhoja kurssisivuja

Vanhoilta toteutuksilta voit lukea kommenteista opiskelijoiden palautetta ja kurssitöitä, tarkastella harjoitustehtäviä ja lukea kurssimateriaaleja.
Vanha toteutus: aikataulu – Linuxin keskitetty hallinta – ict4tn011-4 syksyllä 2013
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

Oma projekti

Oman projektin saa laittaa linkiksi kommenttiin. Laita mukaan kuvaus siitä, mitä projektisi tekee. Linkki kannattaa laittaa myös kommentin tekstiin.
Näin kaikki osallistujat saavat projektien linkit kätevästi, ilman manuaalista URLien jäljennysrumbaa.

Palautetta

Vapaamuotoiseen palautteeseen saa kirjoittaa mitä vain, eikä kysymyksiä tarvitse toistaa. Mutta tässä vinkiksi:

  • Opitko jotakin – eli osaatko nyt sellaista, mitä et osannut ennen kurssia?
  • Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim tulevaisuudessa töissä tai kotona?
  • Miten voisin parantaa kurssia?
  • Missä aiot hyödyntää taitoja kurssin ulkopuolella? Töissä, harrastuksissa, muualla?
  • Viihdyitkö kurssilla?
  • Suosittelisitko kurssia? Kenelle? Koulutoverille tai kollegalle?

Numeerinen palaute e-lomakkeella.

tero.karvinen@iki.filkj
Posted in Uncategorized | Tagged , , , , , , , , , , , | 37 Comments

37 Responses to Aikataulu – Linuxin keskitetty hallinta – ict4tn011-8 syksyllä 2015

  1. h1:
    a) Asenna Salt (Helium tai uudempi).
    b) Package-File-Service. Tee oma Package-File-Service tyylinen tila Saltille.
    Lukuläksynä aikataulusta linkitetyt sivut.
    Vapaaehtoisia bonustehtäviä:
    Kokeile Saltia jossain muussa levityspaketissa tai käyttöjärjestelmässä kuin tunnilla käytetyssä Ubuntu 14.04:ssä.
    Tehtävien määräaika on aina 24 h ennen seuraavan tunnin alkua.

  2. Q&A: BSD: kyllä. Gentoo/emerge: kyllä. Siis kyllä, kuulen mielelläni kokemuksistanne näillä alustoilla. Itse en ole ajanut Saltia vielä kummallakaan.


  3. /srv/salt$ tree
    .
    ├── apache
    │   ├── index.html.jinja
    │   └── init.sls
    └── top.sls
    1 directory, 3 files
    tee@taulu:/srv/salt$ cat apache/init.sls
    #!pyobjects
    Pkg.installed("apache2")
    File.managed("/var/www/html/index.html",
    source="salt://apache/index.html.jinja",
    template="jinja")
    tee@taulu:/srv/salt$ cat apache/index.html.jinja
    Tero was here {{ grains['fqdn'] }}
    tee@taulu:/srv/salt$ sudo salt-call --local grains.items


  4. tee@taulu:/srv/salt/sshd$ cat init.sls
    #!pyobjects
    Pkg.installed("openssh-server")
    Service.running("ssh", enable=True)
    with Service("ssh", "watch_in"):
    File.managed("/etc/ssh/sshd_config",
    source="salt://sshd/sshd_config.jinja",
    template="jinja",
    context={"sshport": pillar("sshport")})
    tee@taulu:/srv/salt/sshd$ grep ^Port sshd_config.jinja
    Port {{ sshport }}
    tee@taulu:/srv/salt/sshd$ head -100 /srv/pillar/*
    ==> /srv/pillar/ssh.sls /srv/pillar/top.sls <==
    base:
    '*':
    - ssh
    $ sudo salt-call --local state.sls sshd

  5. h2. Pilareja ja jyviä. Tee tila (state), joka hyödyntää pilareja (pillars) ja jyväsiä (grains). Voit tehdä myös useamman tilan.
    Lukuläksy tulee linkkinä aikatauluun.
    ps. Jos sinulta puuttuu Live USB, tee sellainen seuraavalle tunnille. Xubuntu 14.04 LTS amd64 desktop/live. Helpoin tehdä Unetbootinilla Linuxissa.
    Vapaaehtoisena lisätehtävänä raportoi Saltin kokeilu toisessa käyttöjärjestelmässä. Linkkejä raportteihin saa laittaa muiden paikkojen lisäksi tälle sivulle kommentteina.

  6. h3: Herra ja orjat. Asenna salt toimimaan herra-orja (master-slave, master-minion) arkkitehtuurissa. Tee uusi moduli ja määrää orjat noudattamaan sitä.
    Lukuläksy aikataulussa.

  7. “Kuka hallitsee Saltilla isointa määrää koneita?” Ilkka kiri jo ennen kurssin puoliväliä johtoon. Ja 50 konetta on kyllä aikamoinen määrä tässä vaiheessa.

  8. h3: Työpöydällä. Unelmien työasema: tee itsellesi tarpeellisia säätöjä työasemalle. Voit muokata koneen ulkoasua vaihtamalla taustakuvia ja latauskuvia sekä päivän viestiä (motd). Asenna suosikkiohjelmasi. Jos osaat, voit myös tehdä niihin tarvittavat asetukset.
    Vapaaehtoinen lisätehtävä: säädä oikeita, käytössä olevia työasemiasi Saltilla.
    Vapaaehtoinen lisätehtävä: automatisoi Firefoxin asetuksia, esimerkiksi aloitussivu ja oletuskirjanmerkit. Tehtävää vaikeuttaa Firefoxin yhteisten ja aloitusasetusten yleinen sekavuus ja eri versioiden vaihtelevat tiedostojen paikat.

  9. h4. Tee oma Salt-tila, joka asentaa LAMP:n (Linux Apache MySQL PHP).
    Weppipalvelimen asentava tila voi kuvailla yhden sivun kotisivun, joka pyörii yhdellä koneella. Tai kokonaisen infrastruktuurin, jolla Wikipedia toimii. Kannattaa valita työn laajuus omien taitojen ja käytettävissä olevan ajan mukaan.
    Lisää linkki omiin läksyihisi kommenttina tämän sivun perään, jos haluat. Lisää näkyvyyttä, lisää PageRankia ja kaikille helpompi valmistatuminen kokeeseen.
    Valmistaudu kokeeseen. Materiaalina kurssiohjelmasta linkitetyt artikkelit sekä tuntien opetus. Koe on teoriakoe Moodlessa.

  10. h5. Tee oma Salt-tila ja esittele se viimeisellä tunnilla.
    Mieti jokin hyödyllinen tarkoitus tekemällesi tilalle. Ehkä jotain, mitä voit hyödyntää kotona tai töissä.

  11. Daniel Racero Saarnisuo says:

    Kurssilla oppi hyvin Saltin perusteet, ja vähän edistyneempääkin asiaa. Keskitetylle hallinnalle on aina käyttöä ICT-maailmassa, joten uskon, että kurssista oli hyötyä minulle.
    Kurssia voisi parantaa muun muassa lisäämällä käytäviä asioita, ja vähentämällä asioiden kertausta. Oppilaille vaikeissa asioissa niistä parin esimerkin julkaiseminen esim. kotisivulle auttaa paljon. Kurssi oli viihtyisä ja ilmapiiri oli loistava!

  12. Ilkka Jylhä says:

    Mielestäni kurssin tärkein asia oli oikeiden toimintatapojen oppiminen ja sudenkuoppien välttäminen.
    Alkuun pääsemisen jälkeen uutta tietoa oli helppo soveltaa. Kurssilla opitut asiat ovat minulla aktiivisessa käytössä joka päivä.
    Henkilökohtaisesti kurssi olisi voinut olla nopeatempoisempi ja syventävämpi, mutta uskon että kurssista tulisi tällöin yleisesti liian vaativa.
    Suosittelen kurssia lämpimästi aivan kaikille.
    Kurssin päätösprojektiksi automatisoin Let’s Encrypt työkalulla sertifikaatin luomisen.
    https://ilkka.jylha.eu/post/lets-encrypt-quick-demonstration/

  13. Haaga-Helian kurssien parhaimmistoa. Todella opettavainen, informatiivinen sekä ajankohtainen. Opin paljon uusia asioita keskitetystä hallinnasta sekä itse Linuxista. Saatuja taitoja voi hyödyntää sekä kotona että töissä. Kurssi oli melko työläs kolmen opintopisteen kurssiksi ja lähtötaso keskitasoa. Kurssilla opetus oli intensiivistä mutta sopivaa vauhtia etenevää, en tuntenut tipahtavani kärryiltä missään vaiheessa ja ongelmiin sai apua. Suosittelen ehdottomasti kaikille Linuxista ja keskitetystä hallinnasta kiinnostuneille.

  14. Janne Lehtimäki says:

    Kurssi oli mielestäni erittäin hyvä jatko linux palvelimena kurssin jatkoksi.
    Itse opin mielestäni todella paljon ja hyvin mahdollista että opittoja taitoja tulee hyödynnettyä jatkossa kotona omaksi iloksi ja työelämässäkin.
    Vaike keksiä tähän hätään parannettavaa, mutta ehdottomasti suosittelisin kaikille opiskeliolle jotka ovat käyneet linux palvelin kurrsin. Ei tarvitse olla mikään linux ekspertti, ainakaan omasta mielestäni ole ja silti kurssi onnistui, mutta ehdottomasti pohjaa täytyy olla. Myös vaikka ei välttämättä ole linux “intoilia” on kurssi hyvä, itsellä ainakin kiinnostus kasvoi kurssin edetestä ja taitojen kehityyessä ja uutta oppiessa

  15. Joakim Tick says:

    Kurssin loputtua minulle jäi peruskäsite Linuxin keskitetystä hallinasta.
    Joka tunnista jäin paljon käteen. Kurssilla kannattaa olla paikan päällä, koska joka tunnilla käytiin asiat perusteelliseti läpi ja niistä jäi hyvä pohja kotitehtävien tekoon.
    Omasta mielestäni kurssin sisältö oli hyvä ja ytimekäs. Jokaisella tunnilla käytiin asiat selkeästi läpi ja Terolta sai hyvät ja selkeät ohjeet tehtävien tekoon.
    Mahdollisesti tulen käyttämään kurssilla opittuja taitoja työelämässä.
    Suosittelisin kurssia kaikille, jotka ovat kiinnostuneet edes vähän Linuxista tai käynyt aikasempia kursseja liityen Linuxiin.

  16. Aivan huikea kurssi taas. Salt on tehokas työkalu keskitettyyn hallintaan ja ainakin omasta mielestä perusasiat on helppo omaksua. Kurssi oli helpompi kuin Linux palvelimena. Eli jos siitä selviää kunnialla, niin tämä kurssi on selkeä seuraava vaihtoehto.
    Itseäni kiinnosti enemmän koodata Saltin tilat Pythonilla, joten olisi ehkä hyvä melko alussa selittää miten Yamlin esimerkit voi “kääntää” Pythonille. Netissä kuitenkin suurin osa esimerkeistä on Yamlilla.
    Toinen asia mitä kaipaisin olisi se, että harjoteltaisiin enemmän asetusten tekemistä ja esim. käyttäjien hallintaa kuin asentamista. Sitähän tietysti tuli tehtyä jonkin verran jo kurssin tässäkin toteutuksessa, mutta mielestäni se on tärkeämpää.
    Git oli kiva lisä, koska itselleni se on jäänyt hieman vieraaksi. Vielä olisi voinut käydä läpi oman salaisen Git repositoryn tekemistä. Monella tälläkin kurssilla kuitenkin on jonkinnäköinen oma palvelin ja sehän olisi mukavaa käyttää sitä.
    En tiedä miten moni tällä kurssilla tämän teki, mutta kannattaa vihjasta opiskelijoille, että saltin asennuksen voi scriptaa, niin menee tunnin alussa asentaminen nopeammin (siis jos käyttää LiveCD:ta)
    Hieno kurssi, lisää näitä!

  17. Janne Warén says:

    Palaute kurssista.
    # Opitko jotakin – eli osaatko nyt sellaista, mitä et osannut ennen kurssia?
    Keskitetyn hallinnan perusperiaatteet olivat jo valmiiksi tuttuja, joten suurin oppiminen tapahtui nimenomaan Saltin parissa: miten Salt asennetaan, konfiguroidaan, miten minionit yhdistää masteriin ja miten tiloja ajetaan.
    # Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim tulevaisuudessa töissä tai kotona?
    Opittu oli hyödyllistä, mutta en tiedä tuleeko sille käyttöä. Todennäköisesti en käytä Saltia jatkossa, koska töissä on jo valmiina käytössä Ansible ja pidän siitä ehkä enemmän. Ansiblessa on _aivan mahtavaa_ se että mikä tahansa kone (kehittäjän läppäri) voi olla master-koneena, ja se idea että _kaikki_ mitä sillä tehdään on vain komentojen ajamista SSH:n yli. Ei tarvita erillistä palvelinta toimimaan masterina.
    # Miten voisin parantaa kurssia?
    Jättäisin pois:
    – Pythonin / pyobjectsin käyttäminen (Saltin omat ohjeet ja suurin osa materiaalista netissä on tehty yamlilla)
    – Työasemien hallinnointiin voisi keskittyä vähemmän, todennäköinen käyttötapaus joka vastaan tulee on kuitenkin palvelimissa
    Lisäisin:
    – Vertailua eri työkalujen välillä, eikä vain yhtä totuutta. Ehkä opiskelija voisi jopa valita millä työkalulla tekee? Jos tavoitteena on saada apache2 asennettua, onnistuu se millä vaan työkalulla (Puppet, Chef, Ansible, Salt)
    – Oikeaa käyttötapausta vastaavaa asiaa: eri “ympäristöt” (testing, staging, production) ja niiden konfigurointi ja käyttö niin ettei samaa asiaa tehdä kahdesti
    # Missä aiot hyödyntää taitoja kurssin ulkopuolella? Töissä, harrastuksissa, muualla?
    Jossain vaiheessa todennäköisesti automatisoin omien palvelimieni (web, e-mail) ylläpidon, ja tästä on varmasti siinä hyötyä.
    # Viihdyitkö kurssilla?
    Kyllä, hyvä kurssi.
    # Suosittelisitko kurssia? Kenelle? Koulutoverille tai kollegalle?
    Kaikille joilla Linux on jo valmiiksi hyvin hallussa.

  18. Kiitos kommenteista!
    Kysyit oman salaisen Git-varaston perustamisesta. Jos teet joka projektista saman tien paikallisen git-varaston, ja myöhemmin saada sen toimimaan palvelimella:
    http://terokarvinen.com/2012/git-from-offline-to-network

  19. Juuh, kyllä mie sen jo virittelinkin itselleni.
    Tää git olisi ehkä muutenkin enemmän Linuxin perusteet tai Linux palvelimella -asiaa. Mutta itselleni uutta, niin en valita 🙂

  20. Janne Warén says:

    Viimeisenä kotitehtävänä / “miniprojektina” yksinkertainen kuormanjako (nginx) http://www.jannewaren.fi/blog/2015/12/17/linuxin-keskitetty-hallinta-kotitehtava-6.html

  21. Mielenkiintoinen ja sopivan haastava kurssi jossa keskitetyn hallinnan lisäksi oppi paljon sekalaisia Linux-vinkkejä ja hyviä käytäntöjä. Tunneilla ja harjoitusten myötä hankittua osaamista hyödynnän varmasti ainakin joissakin omissa projekteissa.
    Kurssia voi mainiosti suositella Linux palvelimena -kurssin jatkoksi ja kaikille Linuxista tai keskitetystä hallinnasta kiinnostuneille.

  22. Sami Tuominiemi says:

    https://tuominiemi.wordpress.com/2015/12/15/salt-projekti/
    Orjakoneiden salasanojen vahvuuden tarkistus Saltilla

  23. Hesekiel Kontiainen says:

    https://hesekielk.wordpress.com/saltjavaeclipse/
    Javan ja Eclipsen asentaminen minionille.

  24. Antti Leino says:

    Kurssi oli mielestäni erittäin mielenkiintoinen sekä opettavainen. Suosittelen kaikkia Haaga-Helian järjestelmäpuolen opiskelijoita suorittamaan kurssin, jos Linux palvelimena ei osoittautunut ylitsepääsemättömäksi haasteeksi. Olen varma siitä, että kurssilla opittuja taitoja voidaan soveltaa työelämän ylläpitotehtävissä ja Salt osoittautui päteväksi keskitetyn hallinnan työkaluksi.
    Kurssi ei myöskään keskittynyt ainoastaan Saltin käyttöön työkaluna, vaan painopiste oli keskitetyn hallinnan tarkoituksessa sekä toimintatavoissa. En ollut ennen kurssia tutustunut keskitettyyn hallintaan lainkaan, mutta näin kurssin jälkeen tunnen omaavani hyvän yleiskäsityksen sekä taidot, jotka mahdollistavat oman osaamisen syventämisen.
    Mikäli päätät suorittaa kurssin, suosittelen ehdottomasti osallistumaan lähiopetukseen. Ilman ennakkotietoa keskitetystä hallinnasta voi harjoitusten suorittaminen etänä osoittautua todella haastavaksi. Viihdyin kurssilla vallan mainiosti ja se kuuluu mielestäni Haaga-Helian parhaimmistoon.

  25. – Opitko jotakin – eli osaatko nyt sellaista, mitä et osannut ennen kurssia?
    SaltStack oli minulle ennestään tuntematon, kurssilta sai hyvän pohjan sen käyttöönottoon.
    – Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim tulevaisuudessa töissä tai kotona?
    SaltSack on varmasti hyödyllinen työkalu, ja uskon käyttäväni sitä jatkossa niin työelämässä kuin kotona.
    – Miten voisin parantaa kurssia?
    * Pyobjects on hyvä ja yksinkertainen käyttää. Ikävä kyllä siitä löytyy varsin vähän dokumentaatiota netistä, joten näin SaltStack -aloittelijan kannalta, olisi hyvä valita kieli josta löytyisi enemmän materiaalia.
    * Kurssissa voitaisiin mennä vielä syvemmälle palvelinten konfiguroinnissa. Nyt itse konfigurointi jäi melko pinnalliseksi, ja olisinkin toivonut kurssin olevan haastavampi.
    – Missä aiot hyödyntää taitoja kurssin ulkopuolella? Töissä, harrastuksissa, muualla?
    Olen jo asettanut Saltin käyttöön kotona, töissä aijon tehdä samoin.
    – Viihdyitkö kurssilla?
    Kyllä, hyvä kurssi – Haaga-Helian parhaimmistoa.
    – Suosittelisitko kurssia? Kenelle? Koulutoverille tai kollegalle?
    Suosittelen kurssia motivoituineille Linux-käyttäjille.