Palvelinten hallinta h3 – Salt jinja

b) Tiedosto muotista: tee yksinkertainen SLS-tilatiedosto, joka laittaa muuttujan tiedostoon. Käytä jinjan kontekstimuuttujaa (template: jinja, context: …).

c) SLS tilaa Jinjalla: tee yksinkertainen SLS-tilatiedosto, joka käyttää for-in -silmukaa. Voit esimerkiksi tehdä kolme tiedostoa silmukalla. (Tässä tehtävässä siis käytetään jinjaa vain SLS-tiedoston sisällä, älä sotke samaan esimerkkiin tekstitiedostojen sisällön muuttamista.)

d) SSH-demonin portti: tee tila, joka asentaa SSH-demonin valittuun porttiin. Käytä portin valintaan Jinjaa, siten että sshd_config:issa “Port:”-kohdan arvo tulee Jinjan muuttujasta.

e) Kokeile jonkun toisen opiskelijan tekemää Salt-tilaa. Kokeiltava tila voi olla mistä vain harjoituksesta. Opiskelijoiden raportteja ja koodeja löydät tämän sivun perästä kommenteista.

Tämä harjoitus on tehty linux livetikulla ja käyttöjärjestelmänä toimii Xubuntu-16.04-03 LTS. Tässä vielä kyseisen version levykuva.

b) SLS-tilatiedosto, joka laittaa muuttujan tiedostoon.

Loin /srv/salt/ hakemistoon kansion testjinja

cd /srv/salt

sudo mkdir testjinja

cd /srv/salt/testjinja

sudo nano helloworld

Luodaan tiedosto, joka kutsuu muuttujaa.

bteht1kuva

Sitten loin tilatiedoston

sudo nano hello.sls

bteht3kuva

Nyt tilan voi ajaa

sudo salt ‘*’ state.apply testjinja/hello

bteht4kuva

Tila meni onnistuneesti läpi ja muuttuja oli saanut arvonsa (muuttunut muuttuja).

c) SLS tilaa Jinjalla

Luodaan /srv/salt/ hakemistoon kansio multi

cd /srv/salt/

sudo mkdir multi

cd multi

sudoedit /srv/salt/multi/init.sls

c1k

(Tämän tiedoston sisältö on suora lainaus Tero Karvisen sivuilta, jota olen hieman muuttanut. Linkki: http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states)

Luodaan kansion multi sisään tekstitiedosto, jonka sisällä on muuttuja

sudoedit hello

c2k

Nyt voimme ajaa tilan ja katsoa toimiiko se

sudo salt ‘*’ state.apply multi

c3keilapi

Oho tila ei mennyt läpi, syynä oli kirjoitusvirhe

init.sls tiedoston sisällä

/tmp/jinja/{{ file }}:
file.managed:
– source: salt://multi/hello.txt
– makedirs: True
– template: jinja
– context:
file: {{ file }}
{% endfor %}

Olin laittanut vahingossa .txt päätteen hello tiedostolle, poistettuani sen ajoin tilan taas.

c4ktoimii

Ja se meni läpi. Vasemmalla näkyy /tmp/jinja/ johon on ilmestynyt hello1 hello2 ja hello3 tiedostot.

 

d) SSH-demonin portin asennus Jinjaa käyttäen

Aloitin asentamalla SSH-demonin manuaalisesti.

sudo apt-get -y install ssh

Testasin että yhteys toimii

ssh xubuntu@localhost

ssh toimii

Sitten luomaan SSH-tilatiedostoa. Ensin luodaan SSH:lle oma kansio /srv/salt hakemistoon.

 

cd /srv/salt/

sudo mkdir ssh

cd /srv/salt/ssh

sudo nano init.sls

init.sls tiedoston sisältö

Tässä kuvassa muuttujalle port on määritetty arvo 8888

initslssis

(Tämän tiedoston sisältö on suora lainaus Tero Karvisen sivuilta, jota olen hieman muuttanut. Linkki: http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port)

Sitten luomme /srv/salt/ kansion sisään sshd_config tiedoston, jossa on muutetut asetustiedostot.

cd /srv/salt/

sudo nano sshd_config

Portin tilalle on laitettu muuttuja, jonka nimi on port

sshdconfmuokat

(Tämän tiedoston sisältö on suora lainaus Tero Karvisen sivuilta, jota olen hieman muuttanut. Linkki: http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port)

Nyt pystyin suorittamaan tilan

sudo salt ‘*’ state.apply ssh

tilatoimi

Kävin vielä tarkistamassa, että sshd_config tiedostoon oli portti muuttunut 8888. Nyt voimme poistaa koneelta SSH:n ja kaikki siihen liittyvät tiedostot ja voimme kokeilla toimiiko tilamme.

sudo apt-get purge openssh-server

ssheitoimi

Eli SSH-demoni ei ole asennettu. Nyt voimme koittaa toimiiko SSH-tilamme oikeasti.

sudo salt ‘*’ state.apply ssh

SSHTILATOIM

Ja tila toimii! Vasemmalla puolella näkyy sshd_config tiedoston sisältö ja portti tosiaan on muuttunut muuttujan mukaan. Testasin vielä SSH-yhteyden ja se toimi.

tilatoimi

 

e) Kokeile toisen opiskelijan Salt-tilaa

Päätin kokeilla Lauri Mattilan tekemää Salt-tilaa, joka asentaa nmap ja ack ohjelmat.

Loin kansion programs /srv/salt/ hakemiston sisään ja programs kansion sisään programs.sls tiedoston.

cd /srv/salt

sudo mkdir programs

cd programs

sudoedit programs.sls

d1

Ajoin tilan

d2

Se meni läpi, testasin vielä ackin ja nmapin toiminnan.

d3

Ja molemmat ohjelmat toimivat. Vähän tylsän tehtävän valitsin tähän mutta no…

 

Lähteitä:

http://terokarvinen.com/2018/aikataulu-%e2%80%93-palvelinten-hallinta-ict4tn022-4-ti-5-ke-5-loppukevat-2018-5p

http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states

http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port

https://laurimattilablogi.wordpress.com/2018/04/01/palvelinten-hallinta-h1/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s