Hei maailma verkon yli

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.

Tehtävänanto

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.

salt

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"

1stcat

sudo salt '*' state.apply test

saltapply

2ndcat

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.

grainsitems

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

saltinstalled

Linkkejä