h6

Tehtävän lähde: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/#h6

a) Asenna jokin toinen Linux-levityspaketti orjaksi Saltille. CentOS on hyvä vaihtoehto. Voit esimerkiksi asentaa CentOS:n VirtualBoxiin ja tehdä koneiden välille virtuaaliverkon. Jos käytät Vagrantia, ‘cent.vm.box = “centos/7″‘ on kätevä.

Laiska kun olen… Aloitin tutustumalla Vagrant -ohjelmaan. En tiedä ohjelmasta paljoakaan, mutta heidän etusivulla päämainoslauseena on juuri haluamani vastaus “Development Environments Made Easy”. Jatkan ohjelmaan tutustumista sivuilla ja käyn läpi “Getting started” dokumentaation.

Vagrant toimii cmd:n kautta Windowsilla.

Jes! Se löytääkin minulle tutun virtualboxin automaattisesti

Nyt olen tutustunut hiukan ohjelmaan. Aloitetaan tehtävä.

Hain täältä sopivan koneen tähä tarkoitukseen: https://app.vagrantup.com/boxes/search?utf8=%E2%9C%93&sort=downloads&provider=&q=centos7

Tein centos7 nimisen kansion ja ajoin sinne cmd:llä

vagrant init generic/centos7
katsoin vielä vagrantfile:stä tuliko nimi oikein
“hyrsk hyrsk”, nyt voin koneen asentelu klikkailun ajan tilalla tehdä kahvit
Kone ilmestyy “vagrant up” komennon jälkeen automaattisesti virtualboxiin

Worth it.

Edited: Kun asensin Vagrantin Windowsille, virtualbox ei suostunut enään käynnistymään.
Käynnistin koneen uudestaan eikä toiminut silläkään, joten ajoin repair toiminnon virtualboxiin hakemalla “Add or remove programs” -> “virtualbox” -> “modify” -> “repair”. Tämän jälkeen virtualbox toimi.

Seuraavaksi liitän centos7:n salt masteriin tuttuun tapaan.

b) Kerää grains.items avulla tiedot orjista, joissa on eri levityspaketti.

master$ sudo salt 'centos7.localdomain' grains.items

c) Tee päivän viesti (motd), jossa koneen tyyppi tulee grains osfinger -muuttujasta. Kokeile, että saat eri levityspaketeilla eri tuloksen. Voit hyödyntää aiemmin tekemääsi motd:ia.

Tässä aijemmin tekemäni.

Muokkasin muutamaa grainsia.

Ajoin tilan kahdesti ja ihmettelin näkymää:

Ilmeisesti tilan ajo onnistui. Mutta jäin ihmettelemään uutta näkymää, mikä johtunee eri käyttöjärjestelmästä
Edited: Johtuukin saltin eri versioista

En vielä tutkinut miten saan SSH:n vagrantilla koneen asennuksen yhteydessä reitteineen koneelle. Joten kirjaudun paikallisesti. Vagrantfile:ssa taisi olla default SSH asetukset olemassa, mutta kommentoitu # merkillä pois ja en ottanut niitä vielä tässä asennuksessa käyttöön.

Testasin paikallisesti.

‘OS’ grainsin voikin tämän perusteella poistaa motd tiedostosta
Lisäksi grain locale_info antaa ruman tulosteen

d) Tee tila, joka tekee RedHat-perheellä (esim. CentOS) tiedoston /tmp/redhat ja Debian-perheellä (esim Ubuntu) tiedoston /tmp/debian. Voit käyttää mitä vain eri perheiden levityspaketteja.

Tein tilan soveltaen ohjetta täältä: http://terokarvinen.com/2018/configure-windows-and-linux-with-salt-jinja-if-else-and-grains

tmp4os.sls
tmp4os.txt
Tila ensimmäisen kerran ajettuna. Ajan vielä toiste. Vaikuttaa saltin mukaan toimivan.
Onnistui

d) Tee tila, joka asentaa ja konfiguroi Apachen kahteen erilaiseen järjestelmään, esim. CentOS ja Ubuntu. Paketin nimi on CentOS:ssa “httpd”. Käytä Salt-koodin generointia muoteilla.

master$ sudo apt-get install apache2
Niinjoo, nginx on asennettuna ja päällä myös
master$ sudo systemctl disable nginx.service  #toimiskohan ihan vaan näin
master$ sudo systemctl enable apache2@
Vaikuttas toimivan, varmaan voisi tilaan tehdä varmistuksen että nginx on poissa päältä kun apachea laitetaan pystyyn
kopio edellisestä tehtävästä, vaihdettu nimet ja nyt tillalla asennetaan

Testataan ensin tätä. Ajan tilan kahdesti.

Toimii

To do:
sulje nginx prosessi samalla tilalla,
muokkaa index.html ja/tai asetuksia
käynnistä apache
poista apache molemmilta koneilta ja testaa