Palvelinten hallinta, tehtävä 1

Tehtävänä on asentaa Salt Master ja Slave pull-arkkitehtuurilla (eli master on server). Kokeile suorittamalla salt:illa komentoja etänä. Kun koneet on asennettu on takoituksena testata erilaisia komentoja ja kerätä tietoja orjakoneesta.

Käytetyt koneet ja alustavat toimenpiteet

Aloitin tehtävän luomalla palvelimen DigitalOcean palveluun. Käyttöjärjestelmäksi valitsin Ubuntu 18.04. Tästä koneesta on tarkoitus tehdä Salt Master ja hallita sillä kannettavaa tietokonettani, jota käytän livetikulla. Oma vanha sotaratsuni on:

Fujitsu Lifebook  AH531, i3-2328M, Windows 7, Livetikulla: Xubuntu 16.4.

Tämän jälkeen lueskelin muutaman aikaisemman kurssin palautuksia läpi ja katsoin minkälaisia ratkaisuja muut ovat tehneet.  Tero Karvisen sivujen lisäksi käytin myös Miko Lähdesmäen sivustoa apunani.

Salt Masterin asennus verkkopalvelimeen

Apuna asennuksessa käytin kurssin opettajan kotisivun ohjetta. Aluksi asennetaan salt-master ohjeen mukaan:

sudo apt-get update

sudo apt-get -y install salt-master

Koska palvelimella oli vain SSH-portti (22) auki, avasin myös Saltin käyttämät portit:

sudo ufw allow 4505

sudo ufw allow 4506

Tarkastin vielä palomuurin tilanteen:

sudo ufw status

scrot3.gif

Orjan asentaminen

Tehdään omasta kannettavasta orja (minion).

sudo apt-get -y install salt-minion

Seuraavaksi kerrotaan missä IP-osoitteessa Salt Master on ja annetaan orjalle identiteetti, eli muokataan tiedostoa orjalla:

sudoedit /etc/salt/minion

master: tähän.tulee.masterin.ip
id: Minion_Sepp

Ja käynnistetään orjan salt- palveluprosessi uudelleen, jotta muutokset tulee voimaan.

sudo systemctl restart salt-minion.service

Seuraavaksi annetaan avain Masterilta:

sudo salt-key -A

kuva2.jpg

Testasin Masterilla mitä orjia löytyy.

sudo salt-key –list-all

kuva3.jpg

Harjoituksia

Testasin muutamalla komennolla miten yhteys toimii. Apuna käytin taas Tero Karvisen sivuja josta kokeilin kaikkia komentoja. Komennoilla sai paljon tietoa orjakoneesta. Esimerkiksi:

sudo salt ’*’ grains.items

Näytti mm. tietoja itse koneesta

cpu_model:Inte l(R) Core(TM) i3-2328M CPU @ 2.20GHz

productname:LIFEBOOK AH531

osfinger:Ubuntu-16.04

Harjoitukset jatkuivat seuraavana päivänä ja tein uuden orjan käynnistäessäni livetikun uudelleen. Masterina toimi eilen luotu palvelin. Masteria käytin tänään toiselta kannettavalta kirjautumalla palvelimelle Putty:n avulla.

Seuraavaksi testasin muita kurssin harjoituksia. Aluksi tein .txt tiedoston jonka halusin kopioida orjalle. Aluksi pitää tehdä salt-kansio Masterille, josta se hakee ohjeet

sudo mkdir -p /srv/salt/

Kansioon tein yksinkertaisen terve.txt tiedoston:

sudoedit /srv/salt/terve.txt

teksti.PNG

Tämän jälkeen tein kansioon hello.sls tiedoston jossa ohjeet Masterille mitä pitää tehdä

sudoedit /srv/salt/hello.sls

hello.PNG

Komennolla, joka koskee kaikkia orjia (’*’):

sudo salt ’*’ state.apply hello

Salt käy kurkkaamassa /salt-kansiosta hello.sls tiedoston sisällön ja jonka ohjeen mukaan orjien /tmp kansioon tehdään terve.txt-tiedosto, jonka sisältö haetaan Masterin salt-kansiosta (srv/salt/)

teksti 2.PNG

Kävin tarkastamassa orjan tmp-kansion ja tiedosto löytyy sieltä. Alinpana oleva varoitus kertoo, ettei eilen tekemääni orjaa tavoitettu.

Seuraavaksi luin tehtävänannon mukaan erilaisia esimerkkejä salt-asetuksia ja valitsin sieltä työpöydän asentamisen. Tein  tyoasema.sls tiedoston, jossa kerrotaan mitä ohjelmia asennetaan, kun saltilla annetaan komento ajaa tiedosto. Lisäsin sinne Gimpin.

tyoasema.PNG

Ajoin tiedoston komennolla

sudo salt ’*’ state.apply tyoasema

Käskyn jälkeen ei tapahtunut hetkeen mitään, joten keskeytin sen ctrl+z. Kokeilin käskyä uudelleen niin, että osoitin sen tänään luomalleni orjalle.

sudo salt ’Minion_Sepp_2’ state.apply tyoasema

Jolloin tuli seuraavanlainen ilmoitus:

ilmoitus.PNG

Eli paketit olivat asentuneet vaikka siitä ei ehtinyt tulla ilmoitusta onnistumisesta Masterille ja orjalla näkyikin kaikki ohjelmat, mitä olin laittanut asentumaan.

Muokkasin tiedostoa hieman, ja kokeilin uudelleen.

työasema.PNG

Ja hetken odoteltuani sain haluamani ilmoituksen:

ilmo2.PNG

State.highstate

Testailu jatkuu ja poistin muutamia asentamiani ohjelmiani ensin orjalta:

sudo apt-get –purge remove scrot vlc putty gimp

ja poistin vielä riippuvuudet joita asennuspakettien mukana on voinut tulla

sudo apt-get autoremove

Seuraavaksi kokeillaan asennusta, missä asennetaan paketteja automaattisesti useammalle koneelle ja orjat käyvät myös päivittämässä tietoja ajoittain. Ohjeet edelleen Tero Karvisen sivuilta. Aluksi luodaan top.sls tiedosto, josta ohjeet ja päivitykset haetaan ja sen lisäksi .sls tiedostot, jossa ohjeet ovat. Alla kolme tiedostoa: top.sls, oletus.sls ja verkko.sls. Ajettaessa top.sls, se asentaa kaikkiin koneisiin oletus.sls ohjelmat (gimp ja vlc-payer) ja orjaan jonka id on ’Minion_Sepp_2’ verkko.sls ohjelmat (putty)

tiedostot.PNG

Seuraavaksi haluan asentaa ohjelmat heti koneille, joten annan komennon

sudo salt ’*’ state.highstate

1.asenn.PNG

ilmo2.PNG

Eli kaikki ohjelmat asentuivat tänään luodulle orjalle ja eilistä orjaa ei luonnollisestikaan löytynyt. Tarkastin vielä orjakoneen ja ohjelmat löytyivät koneelta.

Lähteet:

http://terokarvinen.com

https://lahdemi.wordpress.com/2018/04/01/1-viikkotehtava-palvelinten-hallinta/

https://github.com/joonaleppalahti/CCM/tree/master/salt/srv/salt

https://fi.wikibooks.org/wiki/Ubuntu_tutuksi/Komentorivi#Yleisimm%C3%A4t_komennot_pakettien_hallintaan

******************************************************

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

******************************************************

Mainokset

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s