Hei maailma, verkon yli ja idempotenssi - Palvelinten hallinta viikkotehtävä 1
TLDR
Tehtävässä asensin onnistuneesti Salt master sekä Salt minion ohjelmat virtuaalikoneeseen, sekä testasin niiden toimivuuden. Määritin orjajärjestelmälle “hei maailma” tilan tiedostosta, sekä asensin etänä ohjelmia saltin tilan avulla.
Asenna salt ja siihen uusi orja - Tehtävä A
Ensimmäisessä tehtävässä asensin salt master, sekä salt minion ohjelmat virtuaalikoneelle. Näin pääsen kokeilemaan saltin toimintaa paikallisesti yhdellä virtuaalikoneella.
$ sudo apt-get -y install salt-master salt-minion
Saltin käyttöönotossa seurasin Tero Karvisen ohjeita.
Asennuksen jälkeen muokkasin /etc/salt/minion
tiedostoa ja lisäsin sinne rivit
master: Tähän master järjestelmän ip-osoite. Selviää $ hostname -I komennolla
id: toni
Koneen id:nä voi käyttää omavalitsemaa nimeä. Näiden lisäyksien jälkeen demoni piti käynnistää uudelleen ja hyväksyä salt-keyt. Tämä luo linkin Masterin ja Slaven välille joka pääsee tulimuureista sekä NATeista läpi. Sitten testasin saltin toimivuutta alla olevan kuvan komennoilla.
Tee saltille idempotentti tiedostosta - Tehtävä B
Tehtävän tekeminen onnistui mutkitta seuraamalla jälleen Teron ohjeita.
Tarkoituksena on siis luoda tiedosto(tila) joka määrittelee orjalle halutun tilan. Eli kun määritämme tässä tilassa, että hallittavan järjestelmästä löytyy /tmp/testi.txt tiedosto joka sisältää “Hello there” tekstin salt state.apply komento pitää siitä huolen.
$ sudo mkdir -p /srv/salt/test
$ sudo micro /srv/salt/test/init.sls
#/srv/salt/test/init.sls sisältö
/tmp/testi.txt:
file.managed:
- source: salt://test/hello.txt
$ sudo micro /srv/salt/test/hello.txt
"Hello There"
sudo salt '*' state.apply test
Kerää tietoa koneesta saltin avulla - Tehtävä C
Tässä tehtävässä käytämme saltin grains.items komentoa, saadaksemme tietoa orjajärjestelmistä. Tämä komento näyttää aivan kaiken tiedon kerralla, joten se on hyödyllinen putkittaa less komentoon lukemisen helpottamiseksi. Tuloksia voi myös suodattaa grep komennolla.
$ sudo salt '*' grains.items|grep -A1 osfinger
Tämän komennon avulla saamme kaikista koneista kaikkien käyttöjärjestelmien versiot. Järjestelmän tietoja voi etsiä myös yksitellen:
$ sudo salt '*' grains.item osfinger
Tämä komento hakee vain yhden tiedon sen sijaan, että hakisi kaiken ja suodattaisi tuloksia.
Kokeile jotain toista tilaa - Tehtävä D
Viimeisenä tuli testata jotain toista tilaa kuin aikaisempi file.managed. Päätin kokeilla asentaa saltin kautta ohjelmia orjajärjestelmiin.
Aloitin luomalla uuden kansion /srv/salt hakemiston sisään tätä tehtävää varten. Sen sisään loin uuden .sls tiedon joka määrittelee uuden tilan tätä varten. Ohjeita .sls tiedoston tekemiseen löytyi täältä.
$ sudo mkdir /srv/salt/install
$ sudo micro /srv/salt/install/init.sls
#/srv/salt/install/init.sls sisältö
install:
pkg.installed:
- pkgs:
- git
- curl
- vim
$ sudo salt '*' state.apply install