Palvelinten Hallinta kurssin harjoitukset Tero Karvisen opastamana.

Harjoitus suoritettu Lenovo Ideapad 700, jossa Xubuntu 16.0.4.4 LTS sekä DigitalOceanin VPS:llä [1GB RAM, 25GB SSD, Ranska, Ubuntu LAMP 16.04].



c) Asenna Salt Master ja Slave pull-arkkitehtuurilla (eli master on server). Voit laittaa herran ja orjan myös samalle koneelle. Kokeile suorittamalla salt:illa komentoja etänä.

Asennan Salt-Masterin VPS:lleni jonka jälkeen teen kannettavasta tietokoneestani minionin asentamalla Salt-Minionin.

Aluksi otan yhteyden VPS:lleni pöytäkoneeltani käyttäen PuTTya. Päästyäni sisälle päivitän paketit ja asennan salt-masterin.

sudo apt-get update
sudo apt-get -y install salt-master

Salt Masterin asennuksessa kuluu aikaa tavallista enemmän verrattuna esimerkiksi Apachen asennukseen.

Master tarvitsee tulimuuriin muutaman reiän, jotka ovat 4505/tcp sekä 4506/tcp, eli avaamme ne.

sudo ufw allow 4505/tcp
sudo ufw allow 4506/tcp

Seuraavaksi asennan Salt Minionin kannettavalleni

sudo apt-get update
sudo apt-get -y install salt-minion

Salt-Minionin asennettua käymme muokkaamassa konfiguraatio tiedostoa jotta Minionimme osaa ottaa yhteyttä oikeaan Masteriin. Tämä toteutuu seuraavanlaisesti.

sudoedit /etc/salt/minion

Tänne lisäämme aivan loppuun muutaman rivin.

master: [VPS:n IP-osoite]
id: viuhka

Eli Masterin IP-osoite sekä ID jolla tunnistan Salt Masterilla avaimia hyväksyttäessä.

Uudelleen käynnistämme molemmat demonit jotta konfiguraatiot tulevat käyttöön.

Masterilla:
sudo systemctl restart salt-master.service
Minionilla:
sudo systemctl restart salt-minion.service

Ajettaessa VPS:llä komento

sudo salt-key

Saamme näkyviin listan avaimista.

Huomaamme että Salt-Minionin ID näkyy kohdassa Unaccepted Keys. Hyväksytään se komennolla

sudo salt-key -A

Tuo -A hyväksyy kaikki avaimet, jos haluat hyväksyä yhden tietyn monen joukosta käytä, -a “minionin id”.

Näin olemme yhdistäneet Masterin sekä Minionin. Testataan ajamalla komento Masterilla.

sudo salt '*' cmd.run 'ls /'

Toimii! Komentoa annettaessa voit antaa käskyn kaikille tähdellä -> ‘*’ tai tietylle käyttämällä Minionin ID:tä -> ‘viuhka’.

Tehtävä C paketissa, seuraava…


d) Kokeile jotain Laineen esimerkistä lainattua tilaa tai tee jostain tilasta oma muunnelma. Muista testata lopputuloksen toimivuus.
sekä
f) Oikeaa elämää. Säädä Saltilla jotain pientä, mutta oikeaa esimerkiksi omalta koneeltasi tai omalta virtuaalipalvelimelta.

Teen oman tilan ottamalla mallia Laineen tiloista. Ennen sitä joudumme luomaan salt kansion kohteeseen /srv/.

mkdir /srv/salt
cd /srv/salt

Top.sls on korkein taso konfiguraatiossasi. Siinä sinä luettelet haluamaasi lopputulosta minioneillesi. Luodaan top.sls.

sudoedit top.sls

Tämän sisälle kirjoitan seuraavanlaisen pätkän.

base:
 'viuhka':
   - edititing
   - coding
   - office
   - media
   - browser

Tämä on lopputilani jonka toivon kannettavalleni. Luettelen seuraavaksi sisällön editingille sekä muille.

Ensimmäiseksi editing.sls tiedosto:

install_editing:
 pkg.installed:
   - pkgs:
     - gedit
     - inkscape
     - blender
     - kate

Sitten coding.sls:

install_coding:
 pkg.installed:
   - pkgs:
     - ruby-full
     - git

Office.sls:

install_office:
 pkg.installed:
   - pkgs:
     - libreoffice

Ja viimeiseksi media.sls:

install_media:
 pkg.installed:
   - pkgs:
     - vlc

Kaikki kyseiset .sls tiedostot ovat kirjoitettu YAML:ssa joka tarkoittaa sitä että uudet rivit tarvitsevat kahden välilyönnin sisennykset, eli tässä ei toimi TABulaattori sisennys.

Tehtyäni kaikki .sls tiedostot, uudelleen käynnistän Salt-Masterin. Tämän jälkeen suoritan Salt-Masterilla komennon

sudo salt '*' state.highstate

Tämä ajaa kaikki minionit top.sls laadittuun tilaan. Ensimmäisellä kerralla kun ajoin kyseisen komennon se kesti n. 10min. Tässä kuva kun kone on jo halutussa tilassa.

Tarkastaessa kannettavaltani löysin ilokseni kaikki toivomani ohjelmat jotka olin .sls tiedostoihin luetellut. Toimii moitteettomasti!


e) Kerää laitetietoja koneilta saltin grains-mekanismilla.

sudo salt '*' grains.items

Tuotti seuraavanlaisen lopputuloksen.


Lähteet:

Salt Quickstart by Tero Karvinen

Salt States by Tero Karvinen

Arctic CCM, Salt by Jori Laine

Understanding SaltStack

SaltStack Fundamentals

SaltStack Configuration Management: Functions

 

ICT-Infrastructure student from Finland.

Learning Linux, Windows and some Python3…

2 comments

Leave a Comment

Your email address will not be published. Required fields are marked *