Ensimmäisen viikon tehtävät

Tero Karvisen kurssin palvelinten hallinta ensimmäisen viikon tehtävät: [http://terokarvinen.com/2018/aikataulu-palvelinten-hallinta-ict4tn022-3003-ti-ja-3001-to-loppukevat-2019]


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.