4. Modulikimara

Tämä raportti on osa Tero Karvisen k2020 Palvelinten hallinta-kurssia. Tässä harjoituksessa luodaan erilaisia salt-tiloja ja moduleja.

Luon yhteensä 6 erilaista modulia. Kaikki modulit luodaan kansiossa /srv/salt/.

1) Tekstitiedoston hallinta

Aloitin yksinkertaisella tekstitiedoston luonnilla /tmp/-kansioon. Aloitin tiedostonhallinnasta ja tein kansion, jonne sijoittaa tarvittavat tiedostot mkdir textfile

Loin kansioon textfile.sls– ja textfile.txt-tiedostot.

Käynnistin salt-tila sudo salt '*' state.apply textfile ja katsoin luotiinko tiedosto kohdekansioon.

textfile.txt löysi kohteeseensa

2) Käyttäjän hallinta

Haluan luoda uuden käyttäjän saltilla. Tein ensin kansion sudo mkdir adduser

Loin kansioon tiedoston init.sls. KIrjoitin salt-tilan, joka luo käyttäjän john sekä käyttäjän kotihakemiston

Ajoin tilan sudo salt '*' state.apply adduser

Tila ajettiin onnistuneesti. Katsoin oliko uusi käyttäjä luotu kotihakemistoon.

john oli löytänyt paikalle

3) SSH-server

SSH-palvelimen asennus ja asetukset package-file-service-rakenteella. Aloitin pelkällä pakettiasennuksella, koska halusin kopioida config-tiedoston asennuksesta. Loin tiedoston sshd.sls. Tämän jälkeen ajoin tilan sudo salt '*' state.apply sshd

Kopioin asennetun sshd_config-tiedoston salt-kansioon sudo cp /etc/ssh/sshd_config /srv/salt/

Lisäsin sshd.sls-tiedostoon file-service-funktiot

Muokkasin salt-kansiossa sshd_config-tiedoston porttiasetukseksi 8888

Ajoin lopullisen tilan

Testasin kirjautumista omalle hostille ssh -p 8888 markus@192.168.37.5

SSH-palvelin kuunteli porttia 8888 ja yhteys onnistui.

4) Graafisen ohjelman asennus: Audacity

Audacity on avoin audio-ohjelma, joka on asennettavissa suoraan Ubuntun paketinhallinnasta. Ensiksi asensin ohjelman käsin sudo apt-get install audacity.

Uusi kansio sudo mkdir audacity, Lisäsin kansioon init.sls-tiedoston. Tein ensin pelkän pkg.installed-tilan, ajoin tilan sudo salt '*' state.apply audacity ja testasin asentuiko ohjelma.

Ohjelma avautui ja toimi oikein

Conf-tiedosto sijaitsee ~/.audacity-data/audacity.cfg. Kopioin conf-tiedoston sudo cp ~/.audacity-data/audacity.cfg /srv/salt/audacity/.

Kirjoitin package-file rakenteen.

Ajoin tilan

Virhe. Parent directory not present. Tila ei löydä isäntä-tiedostoa audacity.cfg. Yritin muuttaa tiedostoa .txt-muotoon tai siirtää isäntätiedostoa samalla päivittäen init.sls-tiedostoa. Testasin muutoksia ajamalla tilan aina uudelleen. Ongelma ei kuitenkaan ratkennut.

5) Web-selaimen hallinta: Firefox

Ubuntulle on valmiiksi asennettuna Firefox-webselain. Asetustiedosto sijaitsee /etc/firefox/syspref.js. Loin tilan, joka asentaa Firefoxin orjakoneelle sekä muuttaa kotisivun haluamakseni.

Loin suolakansion firefox sekä init.sls-tiedoston. Lisäsin tiedostoon package-file-rakenteen.

Kopioin asetustiedoston suolakansioon sudo cp -r /etc/firefox/syspref.js /srv/salt/firefox/. Kokeilin tiedoston muokkailua ja lopulta lisäsin tiedostoon rivin, joka määrää selaimen aloitussivun.

pref("browser.startup.homepage", "http://www.terokarvinen.com");

Avasin selaimen orjakoneella ja kotisivu oli muuttunut haluamakseni http://www.terokarvinen.com/. Muutos näkyi myös Firefoxin graafisessa asetusvalikossa.

6) Package-File-Service: Sysstat

Olin aiemmassa Linux-palvelimet-kurssini raportissa Prosessinhallinta ja kuormitus asentanut käsin sysstat-monitorointityökalun. Nyt halusin asentaa ohjelman package-file-service-rakenteella ja tehdä asetukset saltilla.

Aloitin paketin asennuksesta. Tein uuden kansion mkdir sysstat. Lisäsin kansioon init.sls-tiedoston, jonne kirjoitin pkg.installed-funktion. Tämän jälkeen ajoin tilan sudo salt '*' state.apply sysstat

Tiesin, että sysstat-konfiguroidaan /etc/default/sysstat-tiedostossa. Kopioin luodun tiedoston salt-hakemistoon sudo cp /etc/default/sysstat /srv/salt/sysstat/

Sysstat laitetaan toimimaan muuttamalla asetustiedostosta ENABLED=”true”.

Lisäsin init.sls-tiedostoon file.managed-funktion, joka hakee mastertiedoston ja yhdistää sen orjan asetustiedostoon.

Ajoin taas tilan sudo salt '*' state.apply sysstat

Virhe: sysstat-tiedostomuoto vaikeuttaa asioita. Muutin tiedoston teksitiedostoksi sudo mv sysstat sysstat.txt

Ajoin tilan uudestaan

Asetus oli muuttunut kohdetiedostossa. Seuraavaksi sysstat täytyi käynnistää. Lisäsin vielä init.sls-tiedostoon service.running-funktion

Ajoin jälleen tilan

Testataan asennus. Kysyin sysstatilta CPU:n statuksen.

Sysstat toimii oikein!


Lähteet:

http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example

http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port

https://docs.saltstack.com/en/master/ref/states/all/salt.states.user.html

https://manual.audacityteam.org/man/preferences.html#portable

http://terokarvinen.com/2016/firefox-system-wide-settings-etcfirefoxsyspref-js

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

%d bloggers like this: