Tämän viikon harjoitus löytyy Tero Karvisen Palvelin hallinnan sivuilta.
Harjoituksessa käyttämäni kone on MSI:n GX 640 (64-bit) kannettava tietokone ja koneeseen on asennettu käyttöjärjestelmäksi Linux Xubuntu 16.04.3 LTS (64-bit).
Voit saada oman Xubuntu 16.04.3 LTS (64-bit) versiosi täältä.
Aloitan harjoituksen tekemisen maanantaina 23.4.2018 klo 9.30
Aluksi loin kaksi minionia vagrantilla käyttämällä Teron ohjetta. Tämän jälkeen luodaan master ja minion hallintasuhde. Ohjeet tämän tekemiseen löydät Kristian Syrjäsen sivuilta, joita myös itse käytin. Sen jälkeen jatkamme ajamalla pakettien päivityksen livetikulla varustetussa kannettavassa tietokoneessa, joka toimii masterina, ja kahdessa vagrantilla luodulla minionilla seuraavalla komennolla.
$ sudo apt-get update
b) Tee kahdella orjalla esimerkki, jossa orjat saavat eri muuttujan pilarista. Tarkista ‘pillars.items’, että kummalekin orjalle mene eri tieto. Tee jokin muu kuin tunnilla tehty sshd-esimerkki.
klo 9.40
Tehdään tämä tehtävä luomalla tekstitiedosto, jonne eri minionit saavat eri muuttujan. Aloitetaan luomalla ensin pillar-kansio ja sinne top.sls tiedosto seuraavilla komennoilla.
$ sudo mkdir /srv/pillar
$ cd /srv/pillar/
$ sudoedit top.sls
Kuten kuvasta näkyy, vagrantilla luomani minionit ovat slave1 ja slave2. Ne saavat annetun arvon, jos niiden muuttuja löytyy myös samasta kansiosta, jonne top.sls luotiin. Tämä tapahtuu seuraavilla komennoilla.
$ sudoedit test1.sls
$ sudoedit test2.sls
Seuraavissa kuvissa näkyy sisältö, jonka määrittelin kummallekin minionille.
Tämän jälkeen siirrymme luomaan salt-kansion, jonka alle luomme pillartest-kansion, jonne luomme init.sls tiedoston. Tämä onnistuu seuraavilla komennoilla.
$ sudo mkdir /srv/salt
$ sudo mkdir /srv/salt/pillartest
$ cd /srv/salt/pillartest
$ sudoedit init.sls
Tämä tiedosto luo minionin tmp-kansioon test.txt tiedoston, joka käyttää pohjana masterilla pillartest-kansiossa olevaa test.txt tiedostoa. Seuraavaksi luomme tuon init.sls tiedostossa pohjaksi määrittelemämme test.txt tiedoston. Tämä onnistuu seuraavalla komennolla.
$ sudoedit test.txt
Luodaan vielä lopuksi salt-kansioon top.sls tiedosto.
$ sudoedit /srv/salt/top.sls
Tämän jälkeen voimme siirtyä testaamaan toimivatko pillarit, ajamaan highstate ja lopulta tulostamme cat-komennolla kummankin minionin tmp-kansiossa olevat test.txt. Tämä kaikki toteutetaan seuraavilla komennoilla.
$ sudo salt ’*’ pillar.items
$ sudo salt ‘*’ state.highstate
$ sudo salt ‘*’ cmd.run ‘cat /tmp/test.txt’
Kuten kuvat osoittavat, tehtävämme onnistui. Voimme siis siirtyä seuraavaan kohtaan.
c) Tee kahdella orjalla esimerkki, jossa toinen orja saa muuttujan pilarista ja toinen käyttää oletusarvoa (pillar.get). Tee jokin muu kuin tunnilla tehty sshd-esimerkki.
klo 10.15
Voimme yrittää tehdä tämän tehtävän helposti muokkaamalla aiemmin luomamme pillartest-kansion init.sls tiedostoa.
$ sudoedit /srv/salt/pillartest/init.sls
Vaihdoimme siis tuon aiemmin käyttämämme {{ pillar[’test’] }} muotoon {{ pillar.get(’test’ , ’Testi’) }}. Eli jos test-muuttujalle määriteltyä sisältöä ei löydy, sille annetaan oletusarvo Testi. Tämän jälkeen poistamme pillar-kansiosta tuon test2.sls tiedoston jotta näemme, toimiiko tuo muutettu init.sls. Seuraavaksi voimme siirtyä testaamaan toimivatko pillarit, ajamaan highstate ja lopulta tulostamme cat-komennolla kummankin minionin tmp-kansiossa olevat test.txt. Tämä kaikki toteutetaan seuraavilla komennoilla.
$ sudo salt ‘*’ state.highstate
$ sudo salt ‘*’ cmd.run ‘cat /tmp/test.txt’
Muutos näytti onnistuneen. Tehtävä on siis valmis. Lopetan harjoituksen maanantaina 23.4.2018 klo 10.40. Harjoituksen tekemiseen meni noin 1 tunti ja 10 minuuttia.
Lähteet:
Tero Karvisen nettisivut: http://terokarvinen.com/2018/aikataulu-–-palvelinten-hallinta-ict4tn022-4-ti-5-ke-5-loppukevat-2018-5p
Tero Karvisen Vagrant ohje: http://terokarvinen.com/2017/multiple-virtual-computers-in-minutes-vagrant-multimachine
Kristian Syrjäsen ohjeet Saltin asentamiseen: https://ksyrjanen.me/2018/04/01/palvelinten-hallinta-harjoitus-1/