Salt and Jinja

Tein harjoituksen kotonani HP Pavilion 15-aw022no-tietokoneella, käyttöjärjestelmänä toimi 64-bittinen Ubuntu 16.04.3 livetikulta. Livetikku toteutettu Pendrivelinuxilla.
Tehtävät Tero Karvisen sivuilta.

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

15.4.2018 19.41

Koska aloitin tyhjällä tietokoneella ajoin komennon setxkbmap fi && sudo apt-get update && sudo apt-get install -y salt-minion
Komennolla vaihdoin suomalaisen näppäinkartan, päivitin paketit ja asensin salt-minionin.

Tein /srv/salt kansion, sudo mkdir /srv/salt. Sinne tein tiedoston nimeltä jinja.sls, sudoedit /srv/salt/jinja.sls. Jinja.sls tiedostoon kirjoitin tiedoston mitä haluan tehdä, eli /tmp/jinjatest.txt ja minkä tiedoston pohjalta, /srv/salt/jinjatest.txt. Halusin, että puolestani kirjoitetaan joka {{ variable }} kohtaan Haa.

sls.png

Sitten tein vielä /srv/salt/jinjatest.txt tiedoston sudoeditillä ja kirjoitin sinne vain, että Huu. Komennolla sudo salt-call –local state.apply jinja ajoin tilan ja komennolla cat /srv/salt/jinja.sls tarkistin vielä, että tiedosto luotiin.

jinjatest.png

 

c) SLS tilaa Jinjalla: tee yksinkertainen SLS-tilatiedosto, joka käyttää for-in -silmukaa. Voit esimerkiksi tehdä kolme tiedostoa silmukalla.

13.4.2018 17.00

Koska aloitin taas tyhjällä tietokoneella ajoin komennon setxkbmap fi && sudo apt-get update && sudo apt-get install -y salt-minion
Komennolla vaihdoin suomalaisen näppäinkartan, päivitin paketit ja asensin salt-minionin.

Aloitin tekemällä /srv/salt kansion, sudo mkdir /srv/salt, jonka sisään vielä jinja kansio, sudo mkdir /srv/salt/jinja. Jinja kansioon tein init.sls tiedoston, sudoedit init.sls. Init.sls tiedostoon kiroitin luupin, joka tekee for-in silmukalla halutun määrän tiedostoja. Alla olevalla koodilla luon /etc/apache2/sites-available/ kansioon hakasuluissa määritellyn nimisen tiedoston, jonka sisältö tulee lähteestä salt://jinja/defaultvirtualhost.txt.  jinjainit

defaultvirtualhost.txt tiedostoon, joka on /srv/jinja kansiossa, kirjoitin perus VirtualHost koodinpätkän.

vitualhost.png

Sitten testasin komennolla sudo salt-call –local state.apply jinja.

succes.png

Komento loi nyt defaultvirtualhost.txt tiedoston pohjalta sisällön matias.example.com.conf ja richterich.example.com.conf tiedostoihin.

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.

Asensin openssh-serverin, sudo apt-get install openssh-server -y.

Tein uuden kansion tilaa varten, sudo mkdir /srv/salt/ssh. Sinne init.sls tiedoston sudoeditillä. Init.sls tiedostoon kuvassa olevan koodin pätkän. Siinä on for-in luuppi, missä “port” on variablen nimi ja hakasuluissa ‘8888’ on variable arvo. Tiedosto mitä muutetaan on /etc/ssh/sshd_config ja tiedosto minkälaiseksi muutetaan salt://ssh/sshconfig.txt.

sshinit.png

Sitten kohde tiedosto. Loin samaan kansioon sshconfig.txt sudoeditillä. Kansioon kopsasin SSH:n asetustiedoston ja siitä poistin kaikki kommentit. Portiksi vaihdoin variablen {{ port }}.

sshconfig.png

Sitten testasin komennolla sudo salt-call –local state.apply ssh. Succeeded: 1.

Tila on oikein kirjoitettu.

Kävin katsomassa /etc/ssh/sshd_config tiedostosta onko portti vaihtunut.

Seuraavaksi demonin asennus ja asetusten muuttamisen jälkeinen uudelleenkäynnistäminen.

Lisäsin ensimmäisiksi riveiksi

openssh-server:
  pkg.installed

ja tiedoston loppuun

openssh-service:
  service.running:
      – name: ssh
      – watch:
         – file: /etc/ssh/sshd_config

Alla kuva lopullisesta init.sls tiedostosta

initslsfinal.png

Poistin valmiit SSH:n asetukset ja itse demonin sudo apt-get purge komennolla.

Sitten ajoin komennon sudo salt-call –local state.apply ssh.

true

Tarkistin vielä, että varmasti kaikki toimii oikeassa portissa. Komento ssh -p 8888 xubuntu@localhost todisti tämän, koska kysyi haluatko jatkaa.

e) Kokeile jonkun toisen opiskelijan tekemää Salt-tilaa.

https://valtteripartanen.wordpress.com/2018/04/01/palvelinten-hallinta-h1/

Valtteri Partasen varmuuskopiointinnin automatisoiva tila vaikuttaa hyvältä idealta.

/srv/salt kansioon uusi tiedosto, sudoedit /srv/salt/backup.sls.

Sinne seuraava koodin pätkä. Jos ei määrittele minuutteja, tila tekee uuden kopion joka minuutti määritellyn tunnin aikana. Jätin minuutin määrittelemättä, että pääsen vähän helpommalla.

realbackup.png

Tila luo backup.tar nimisen  tervapallon kotihakemistooni kello 17.

Ajoin tilan sudo salt-call –local state.apply backup. Kävin hetken päästä katsomassa /home/xubuntu kansiosta, oliko tervapallo siellä. Olihan se.

olihanse.png

 

Lähteet:

http://terokarvinen.com/2018/aikataulu-%e2%80%93-palvelinten-hallinta-ict4tn022-4-ti-5-ke-5-loppukevat-2018-5p
http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states
https://docs.saltstack.com/en/latest/topics/tutorials/states_pt3.html
https://docs.saltstack.com/en/getstarted/config/jinja.html
http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port
https://valtteripartanen.wordpress.com/2018/04/01/palvelinten-hallinta-h1/

https://docs.saltstack.com/en/latest/ref/states/all/salt.states.cron.html

Leave a Reply

Your email address will not be published.