Harjoitus 3 – ICT4TN022-4

Tehtävät ja materiaalit: http://terokarvinen.com/2018/aikataulu-%E2%80%93-palvelinten-hallinta-ict4tn022-4-ti-5-ke-5-loppukevat-2018-5p

https://docs.saltstack.com/en/getstarted/config/jinja.html

https://docs.saltstack.com/en/getstarted/config/files.html

http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states

Tehtävän e) tila osoitteesta http://miikkavaltonen.com/

Harjoitus 3

Käytössäni on DigitalOceanilta vuokraamani virtuaalipalvelin masterina joka käyttää 16.04.4 LTS Ubuntua ja Läppäri jossa on 16.04.3

b) Tiedosto muotista: tee yksinkertainen SLS-tilatiedosto, joka laittaa muuttujan tiedostoon. Käytä jinjan kontekstimuuttujaa (template: jinja, context: …).

Aloitamme tekemällä directoryn jossa voimme testata tilaa

$ sudo mkdir /srv/salt/jinjatesti/

Jonne teemme kaksi tiedostoa

$ sudoedit init.sls

Laitamme sisään pohjan Tero Karvisen artikkelista http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states ja muokkaamme sinne omat tiedot tarvittaviin kohtiin.

{% for file in [‘testi.txt’] %}

/tmp/testaus/{{ file }}:
file.managed:
– source: salt://jinjatesti/testi.txt
– makedirs: True
– template: jinja
– context:
file: {{ file }}

{% endfor %}

Huom! WordPress saattaa kusta sisennykset

Ja teemme myös tiedoston nimeltä testi.txt komennolla

$ sudoedit testi.txt

Laitetaan vaikka sisällöksi

Tama olla  {{ file }}

Testataan tilaa komennolla

$ sudo salt ‘*’ state.apply jinjatesti

1

Tila näyttäisi toimivan ja kun käyn läppärillä katsomassa niin tiedosto on ilmestynyt sinne.

 

c) SLS tilaa Jinjalla: tee yksinkertainen SLS-tilatiedosto, joka käyttää for-in -silmukaa. Voit esimerkiksi tehdä kolme tiedostoa silmukalla. (Tässä tehtävässä siis käytetään jinjaa vain SLS-tiedoston sisällä, älä sotke samaan esimerkkiin tekstitiedostojen sisällön muuttamista.)

Muokataan edellisessä tehtävässä tehtyjä tiedostoja

$ cd /srv/salt/jinjatesti

$ sudoedit init.sls

Laitamme sisällöksi

{% for file in [‘testi.txt’, ‘zulul.txt’, ‘billy.txt’, ‘feelsgoodman.txt’, ‘ezclap.txt’] %}

/tmp/testaus/{{ file }}:
file.managed:
– source: salt://jinjatesti/testi.txt
– makedirs: True
– template: jinja
– context:
file: {{ file }}

{% endfor %}

Joka on melkein sama kuin ensimmäisessä tehtävässä, mutta tässä se tekee enemmän tiedostoja.

!Huom taas sisennykset voivat näyttää erilaisilta wordpressissä kuin ne näyttävät omalla koneellani

Muokataan myös testi.txt jotta huomaamme eroja

$ sudoedit testi.txt

2

Testaamme komennolla

$ sudo salt ‘*’ state.apply jinjatesti

32

Tila toimii odotetulla tavalla ja voin myös varmentaa läppäriltäni että tiedostot ovat tehty.

d) SSH-demonin portti: tee tila, joka asentaa SSH-demonin valittuun porttiin. Käytä portin valintaan Jinjaa, siten että sshd_config:issa “Port:”-kohdan arvo tulee Jinjan muuttujasta.

Aloitan tekemällä uuden testi directoryn

$ sudo mkdir /srv/salt/ninjaportti

Tässä vaiheessa tarvitsen sshd_config tiedoston joten kopioin sen käyttämällä komentoa

$ sudo cp /etc/ssh/sshd_config /srv/salt/ninjaportti/

Tehdään init.sls tila ja laitetaan vaihtamaan portti vaikkapa ‘777’

$ sudoedit init.sls

{% for port in [‘777’] %}

ssh:
pkg.installed

/etc/ssh/sshd_config:
file.managed:

– source: salt://ninjaportti/sshd_config
– makedirs: True
– template: jinja
– context:
port: {{ port }}

{% endfor %}

!Huom sisennykset voivat olla päin mäntyä wordpressissä

ninjaportti

Muokataan myös /srv/salt/ninjaportti/sshd_configista portin kohtaan {{ port }}

No ei kai tässä auta muu kuin testata joten käytämme komentoa

$ sudo salt ‘*’ state.apply ninjaportti

sshd

Testataan vielä menemällä läppärille laittamaan komento

$ ssh axel@uganda -p 777

Tulee connection refused =(

Yritän alkaa ratkomaan mysteeriä käynnistämällä uudelleen ssh:n

$ sudo systemctl restart ssh.service

ja varmuuden vuoksi myös

$ sudo systemctl restart sshd.service

Tämän jälkeen yritän uudelleen

$ ssh axel@uganda -p 777

leikkd

Voimme todeta että yhteys menee läpi ja portti on muutettu.

Uskon että virhe tuli sen takia, koska minulla oli SSH jo valmiiksi asennettuna ja sitä ei laitettu käynnistymään uudelleen ollenkaan init.sls tilassa.

e) Kokeile jonkun toisen opiskelijan tekemää Salt-tilaa. Kokeiltava tila voi olla mistä vain harjoituksesta. Opiskelijoiden raportteja ja koodeja löydät tämän sivun perästä kommenteista.

Aion kokeilla sysstat asennusta ja sen päivitystahdin muuttamista Miikka Valtosen johdolla.

Kyseinen tila löytyy osoitteesta http://miikkavaltonen.com

!HUOM! SUORA LAINAUS !HUOM!

“f) Asennetaan minionille sysstat, kytketään se päälle ja asetetaan sen päivitystahti minuutiksi.

Aluksi tehdään kansio /srv/salt/sysstat. Kopioidaan sinne sisään sysstatin asetustiedosto:

sudo cp /etc/default/sysstat /srv/salt/sysstat

Kopioidaan samalla ajastuksen konfigurointitiedosto, mutta laitetaan sen perään numero 2, jottei aikaisempi tiedosto ylikirjoitu:

sudo cp /etc/cron.d/sysstat /srv/salt/sysstat2

(Huomasin tässä kohtaa virheen. Sen pitäisi olla sudo cp /etc/cron.d/sysstat /srv/salt/sysstat/sysstat2) Ilmoitin virheestä Miikalle ja hän korjasi sen omaan ohjeeseensa.

!HUOM! VIELÄKIN SUORAA LAINAUSTA !HUOM! OMAT KOMMENTIT TULEVAT TEHTÄVÄN LOPPUUN – KOPIOITU OSOITTEESTA http://miikkavaltonen.com/ !HUOM!

Tehdään tiedostoihin tarvittavat muutokset, sysstatiin muutetaan seuraava:

ENABLED=”true”

Seuraavaan, sysstat2, muutetaan 5-55/10 tekstiksi */1, lopullinen rivi on siis:

*/1 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1

Seuraavaksi luodaan sysstat kansioon init.sls:

sysstat:

  pkg.installed

/etc/default/sysstat:

  file.managed:

    - source: salt://sysstat/sysstat

/etc/cron.d/sysstat:

  file.managed:

    - source: salt://sysstat/sysstat2
Kun asetukset on tehty, täytyy tila vielä lisätä /srv/salt/top.sls tiedostoon:

base:

  '*':

    - apache

    - hosting

    - sysstat

Sitten voidaankin lähteä ajamaan tilaa:

$ sudo salt ‘*’ state.highstate

!HUOM! SUORA LAINAUS LOPPUU TÄHÄN !HUOM!

Lainaus luvat saatu:

12.47 – Julmajamal: saanko suoraan lainata sulta tuolta jos laitan credittii
12.47 – Julmajamal: ettei tarvii kirjottaa kaikkee ite
12.47 – Miikkb ♪: tietenki
12.47 – Miikkb ♪: niinhän se ois tarkotus tehdä
12.47 – Miikkb ♪: kato vaa et sisennykset ei hajoo
12.47 – Miikkb ♪: koska yaml ja wp

zulul

Tila näyttäisi toimivan masterin puolelta. Testataan vielä komennolla sar -A minionilla toimiiko. Näyttää vielä 10 minuutin välein joten kokeilen käynnistää uudelleen komennolla

$ sudo systemctl restart sysstat.service

Josta tulee valitus että katso

$sudo systemctl status sysstat.service

9du2ZGe

Kokeilin purgea sysstatin minionilta ja käyttää uudelleen tilaa.

Virheenä oli että olin muokannut alkuperäistä sysstat asetustiedostoa ja kun laitoin sen takaisin normaaliin tilaan niin Miikka Valtosen tila toimi niin kuin sen kuuluikin.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s