Palvelinten Hallinta kurssin harjoitukset Tero Karvisen opastamana.
Harjoitus suoritettu Lenovo Ideapad 700, jossa Xubuntu 16.0.4.4 LTS, joka toimii masterina ja pyöräyttämällä muutama minioni vagrantilla Teron ohjetta käyttämällä.
Yhdistän molemmat Vagrant orjat masteriin muokkaamalla niiden /etc/salt/minion tiedostoa ja lisäämällä niihin masterin IP-osoitteen sekä orjien ID:t.
sudoedit /etc/salt/minion
Päivitetään paketit ennen kuin aloitetaan.
sudo apt-get update sudo apt-get upgrade
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.
Luodaan pillar hakemisto /srv/ alle,
sudo mkdir /srv/pillar
Pillar hakemistoon luodaan top.sls tiedosto,
sudoedit /srv/pillar/top.sls $ base: slave01: - default
Tämä on toimii samanlailla kuin /srv/salt/ kansiossa sijaitseva top.sls.
Tämän jälkeen luodaan kyseinen default tila joka näkyy top.sls tiedostossa.
sudoedit /srv/pillar/default.sls $ editor: vim
Ja luodaan myös toinen tila joka menee vain toiselle orjalle.
sudoedit /srv/pillar/special.sls $ edit: gedit
Lisätään tämä top.sls tiedostoon myös.
sudoedit /srv/pillar/top.sls $ base: slave01: - default slave02: - special
Ennen kuin voit käyttää kyseistä tilaa joudut päivittämään pilarisi.
sudo salt '*' saltutil.refresh_pillar
Ja tarkastetaan että meneekö tieto perille.
sudo salt '*' pillar.items
Siellä lepää…
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.
Luon top.sls tiedoston /srv/salt hakemistoon,
sudoedit top.sls $ base: '*': - punches
Sitten luon punches.sls tiedoston,
sudoedit punches.sls $ /tmp/punches.txt: file.managed: - source: salt://punchmanual/punches.txt - template: jinja - context: punch: {{ pillar.get('punch', "Sucker Punch") }}
“Sucker Punch” on tässä oletusarvo, eli jos jollain orjalla ei löydy pilarista vastausta “punch” muuttujaan niin se saa tuon kyseisen oletusarvon.
Luodaan punches.txt tiedosto /srv/salt/punchmanual hakemiston alle, joka toimii pohjana tulosteelle,
sudoedit punches.txt $ Hi, you just learned the {{ punch }}!
Sitten lisätään /srv/pillar hakemistoon slave01.sls ja muokataan top.sls tiedostoa.
sudoedit /srv/pillar/slave01.sls $ punch: Rocket Punch
Ja top.sls muokkaus,
sudoedit top.sls $ base: slave01: - default - slave01 slave02: - special
Muistetaan päivittää pilarin data komennolla
sudo salt '*' saltutil.refresh_pillar slave02: True slave01: True
Tämän jälkeen ajetaan tila punches.sls,
sudo salt '*' state.apply punches
Hyvältä näyttää tähän asti, katsotaan virtuaalikoneilta että mitä siellä sanotaan,
Tila sekä pilarit toimii…
Lähteet:
http://terokarvinen.com/2018/simple-secrets-in-salt-pillars
http://terokarvinen.com/2017/multiple-virtual-computers-in-minutes-vagrant-multimachine
ICT-Infrastructure student from Finland.
Learning Linux, DevOps and Docker…