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].
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
Arctic CCM, Salt by Jori Laine
SaltStack Configuration Management: Functions
ICT-Infrastructure student from Finland.
Learning Linux, DevOps and Docker…
3 thoughts on “Palvelinten Hallinta Harjoitus 1”