a) Lue virallisesta Salt Getting Started Guide -kirjasta luvut Understanding SaltStack (noin 8 alasivua) ja SaltStack Fundamentals (6 alasivua, ei tarvitse asentaa demoympäristöä) ja SaltStack Configuration Management: Functions (1 alasivu). (Tätä lukutehtävää ei tarvitse raportoida).
b) Silmäile Laineen 2017 varastossa olevia salt -asetuksia. (Tätä lukutehtävää ei tarvitse raportoida).
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ä.
d) Kokeile jotain Laineen esimerkistä lainattua tilaa tai tee jostain tilasta oma muunnelma. Muista testata lopputuloksen toimivuus. Huomaa, että varastossa on myös keskeneräisiä esimerkkejä, kuten Battlenet-asennus Windowsille.
e) Kerää laitetietoja koneilta saltin grains-mekanismilla.
f) Oikeaa elämää. Säädä Saltilla jotain pientä, mutta oikeaa esimerkiksi omalta koneeltasi tai omalta virtuaalipalvelimelta. (Kannattaa kokeilla Saltia oikeassa elämässä, mutta jos se ei onnistu, rakenna jotain oikeaa konettasi vastaava virtuaaliympäristö ja tee asetus siinä).
g) Vapaaehtoinen: asenna ja konfiugroi jokin palvelin Saltilla. (package-file-server)
c)
Päivitetään aluksi paketit sudo apt-get update
sudo apt-get update
Hit:1 http://fi.archive.ubuntu.com/ubuntu cosmic InRelease
Hit:2 http://fi.archive.ubuntu.com/ubuntu cosmic-updates InRelease
Hit:3 http://fi.archive.ubuntu.com/ubuntu cosmic-backports InRelease
Get:4 http://security.ubuntu.com/ubuntu cosmic-security InRelease [88,7 kB]
Hit:5 http://ppa.launchpad.net/libreoffice/ppa/ubuntu cosmic InRelease
Ign:6 http://ppa.launchpad.net/nathan-renniewaldock/flux/ubuntu cosmic InRelease
Err:7 http://ppa.launchpad.net/nathan-renniewaldock/flux/ubuntu cosmic Release
404 Not Found [IP: 91.189.95.83 80]
Reading package lists... Done
E: The repository 'http://ppa.launchpad.net/nathan-renniewaldock/flux/ubuntu cosmic Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Tämä viesti vaikuttaa erikoiselta..
Jatketaan Tero Karvisen sivun ohjeiden mukaan ja koitetaan asentaa Salt stack master ja slave. [http://terokarvinen.com/2018/salt-quickstart-salt-stack-master-and-slave-on-ubuntu-linux]
Ajetaan komento
sudo apt-get -y install salt-master
Job for salt-master.service failed because the control process exited with error code.
See "systemctl status salt-master.service" and "journalctl -xe" for details.
invoke-rc.d: initscript salt-master, action "start" failed.
● salt-master.service - The Salt Master Server
Loaded: loaded (/lib/systemd/system/salt-master.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2019-03-28 20:14:13 EET; 9ms ago
Docs: man:salt-master(1)
file:///usr/share/doc/salt/html/contents.html
https://docs.saltstack.com/en/latest/contents.html
Process: 26602 ExecStart=/usr/bin/salt-master (code=exited, status=64)
Main PID: 26602 (code=exited, status=64)
maalis 28 20:14:13 blackbox systemd[1]: Starting The Salt Master Server...
maalis 28 20:14:13 blackbox salt-master[26602]: Usage: salt-master [options]
maalis 28 20:14:13 blackbox salt-master[26602]: salt-master: error: Failed to load configuration: unknown error (_ssl.c:2788)
maalis 28 20:14:13 blackbox systemd[1]: salt-master.service: Main process exited, code=exited, status=64/USAGE
maalis 28 20:14:13 blackbox systemd[1]: salt-master.service: Failed with result 'exit-code'.
maalis 28 20:14:13 blackbox systemd[1]: Failed to start The Salt Master Server.
dpkg: error processing package salt-master (--configure):
installed salt-master package post-installation script subprocess returned error exit status 1
Processing triggers for libc-bin (2.28-0ubuntu1) ...
Processing triggers for systemd (239-7ubuntu10.8) ...
Errors were encountered while processing:
salt-master
E: Sub-process /usr/bin/dpkg returned an error code (1)
Saadaan virheviesti..
Tarkistetaan mikä versio ubuntusta meillä olikaan.
Ajetaan komento: lsb_release -a
[https://linuxize.com/post/how-to-check-your-ubuntu-version/]
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.10
Release: 18.10
Codename: cosmic
Nettiä tutkimalla tulee vastaan joku bugi juttu.
https://bugs.launchpad.net/ubuntu/+source/salt/+bug/1797895
Todetaan että kokeillaan vaihtaa 18.04.1 -versioon. Joten asennetaan se livetikkuun ja omalle koneelle.
…
Hetkeä myöhemmin todetaan että Xubuntun 18.04.1 -versiossa on joku ongelma että firefox selain kaatuilee.
Päädytään asentamaan Ubuntu 18.04.2.
Ajetaan siis uudestaan http://terokarvinen.com/2018/salt-quickstart-salt-stack-master-and-slave-on-ubuntu-linux
sivun ohjeita mukaillen.
sudo apt-get update
sudo apt-get -y install salt -minion salt-master
sudo apt-get -y install salt-minion salt-master
hostname -I
ip osoite oli: 192.168.1.104
sudo ufw status
Status: inactive
Käydään asettamassa “master: 192.168.1.104” (ilman lainauksia)
tiedostoon /etc/salt/minion
sudoedit /etc/salt/minion
ja lisätään vielä id minion tiedostoon “id: slaveboi”
Käynnistetään slave uudestaan ja tarkistetaan sitten status.
sudo systemctl restart salt-minion
sudo systemctl status salt-minion
Hyväksytään masterilla slaven avain
sudo salt-key -A
Tässä oli hieman hassua että se otti rootin kanssa slaveksi?
Ajetaan sitten kaikilla orjilla käsky whoami
sudo salt '*' cmd.run 'whoami'
Tässä kohtaa ei tainnut oikeudet riittää rootissa ajamaan whoami komentoa kun jäi odottamaan.
Tai sitten on normaalia että komennon jälkeen ei palata omalle superuser@blackbox:~$ komentoriville.
Ajetaan mielenkiinnosta vielä kehoitettu komento.
salt-run jobs.lookup_jid 20190330164154237184
d) Kokeile jotain Laineen esimerkistä lainattua tilaa tai tee jostain tilasta oma muunnelma. Muista testata lopputuloksen toimivuus. Huomaa, että varastossa on myös keskeneräisiä esimerkkejä, kuten Battlenet-asennus Windowsille.
Luodaan /srv/salt/lamp.sls tiedosto minne kopioidaan
“install_lamp:
pkg.installed:
- pkgs:
- apache2
- libapache2-mod-php
/var/www/html/index.php:
file:
- managed
- source: salt://webserver/index.php
- require:
- pkg: install_lamp
/var/www/html/index.html:
file:
- absent
- require:
- pkg: install_lamp"
Ja ajetaan sudo salt 'slaveboi' state.apply komento.
Saatiin virheilmoitus:
Luodaan siis top.sls tiedosto.
“base:
'slaveboi';
- lamp”
Saadaan samaa virheilmoitusta. Jotenkin top fileä ei löydy, vaikka top.sls on /srv/salt/top.sls sijainnissa. Master ja minion on käynnistetty uudestaan.
e)
Kerää laitetietoja koneilta saltin grains-mekanismilla.
Saadaan slavesta tietoja grains modulen komennoilla.
Kun ajetaan näitä muita komentoja:
master$ sudo salt '*' cmd.run 'hostname -I'
master$ sudo salt '*' grains.items|less
master$ sudo salt '*' grains.items
root (toinen slave) koneen kohdalla tulee virheilmoitus:
Minion did not return. [No response]
f) Oikeaa elämää. Säädä Saltilla jotain pientä, mutta oikeaa esimerkiksi omalta koneeltasi tai omalta virtuaalipalvelimelta. (Kannattaa kokeilla Saltia oikeassa elämässä, mutta jos se ei onnistu, rakenna jotain oikeaa konettasi vastaava virtuaaliympäristö ja tee asetus siinä).
Koitetaan asentaa minioni digital ocean palvelussa olevaan droplettiin.
Poistetaan master ja minion asennukset.
http://installion.co.uk/ubuntu/vivid/universe/s/salt-master/uninstall/index.html
http://installion.co.uk/ubuntu/vivid/universe/s/salt-minion/uninstall/index.html
Ja poistetaan /srv/salt kansio ja sen sisältö.
Päivitetään aluksi paketit sudo apt-get update
Ajetaan komento
sudo apt-get -y install salt-master
Noin nyt meillä pitäisi olla salt master omalla koneella ja sitten vielä käydään asettamassa droplettii se minion.
Kirjaudutaan ssh:lla droplettiin.
Otetaan ylös oma ip = 192.168.1.104 (komennolla hostname -I)
Ajetaan dropletissa asennuskomento minionille.
sudo apt-get -y install salt-minion
Mennään kansioon /etc/salt/ ja muokataan tiedostoa minion ja lisätään sinne yhteys masteriin
master: 192.168.1.104
id: pena
käynnistetään minion uudestaan:
sudo systemctl restart salt-minion
Poistetaan vanhat avaimet, kun ne näköjään on vielä tallella.
salt-key -d “slaveboi”
Ajetaan testi onko minioneita:
sudo salt '*' test.ping
Antaa virheen:
No minions matched the target. No command was sent, no jid was assigned.
ERROR: No return received
sudo salt-key -A
The key glob '*' does not match any unaccepted keys.
Tarkistetaan onko palomuuri päällä ja master koneessa ei ainakaan ole.
sudo ufw status
Status: inactive
Minionin koneessa on palomuuri päällä, mutta
“No firewall configuration needs to be done on Salt minions. These changes refer to the master only.” [https://docs.saltstack.com/en/latest/topics/tutorials/firewall.html ]
Tämän perusteella ei minionin koneessa tulisikaan avata mitään portteja.