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.
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.
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.
defaultvirtualhost.txt tiedostoon, joka on /srv/jinja kansiossa, kirjoitin perus VirtualHost koodinpätkän.
Sitten testasin komennolla sudo salt-call –local state.apply jinja.
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.
Sitten kohde tiedosto. Loin samaan kansioon sshconfig.txt sudoeditillä. Kansioon kopsasin SSH:n asetustiedoston ja siitä poistin kaikki kommentit. Portiksi vaihdoin variablen {{ port }}.
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
Poistin valmiit SSH:n asetukset ja itse demonin sudo apt-get purge komennolla.
Sitten ajoin komennon sudo salt-call –local state.apply ssh.
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.
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.
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