Oma moduuli h7(Palvelinten hallinta)

Etusivulle

b) Oma moduli (iso tehtävä). Ratkaise jokin oikean elämän tai keksitty tarve omilla tiloilla/moduleilla. Voit käyttää Salttia tai muuta valitsemaasi modernia keskitetyn hallinnan ohjelmaa. Esitä tulos viimeisellä opetuskerralla, 5-10 min (keskiviikon ryhmä). Live demo olisi kiva. Raportoi modulisi tarkoitus, koodi ja testit.

Lähde: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

Tehtävässä käytetyn koneen speksit

Koneen tiedot

Viimeisenä tehtävänä meillä oli rakentaa oma moduuli tai tila. Päädyin pohdiskelun jälkeen tekemään itselleni tilan, jolla pystyn asentamaan haluamani ohjelmat valmiiksi konffattuna, jos ne vaativat conffausta uudelle virtuaali koneelleni ja ainut mitä pitää tehdä on lisätä uusi kone minioniksi ja sitten vain ajaa sen state.highstate:lla. Tilan pitäisi toimi kaikilla Debian perheen distroilla mm. Kali, Ubuntu yms. Tämä säästää hurjasti aikaa vs jos alkaisin asentamaan kaikki ohjelmat uudelleen, jos lataa uuden orjan.
Myös yksi projektini ratkaisusta oli ladata myös sellaisia ohjelmia, jotka vaativat repositoryn. Ratkaisussani käytän tilaa, joka hakee automaattisesti repositoryn minionilleni, jotta ohjelman pystyy lataamaan.

Ohjelmat, jotka haluan aina ladata uudelle koneelleni ovat:

Atom #code editor
Apache2 #webserver
Stacer #System optimizer ja monitoring työkalu
Git #Jotta voin tarvittaessa viedä töitäni githubiin
SSH #voin tarvittaessa ottaa yhteyttä muihin koneisiin
Chromium #chromium on avoimeen lähdekoodiin perustuva Google Chrome ja pidän siitä enemmän kuin firefoxista.
Ja yleensä haluan tehdä muutoksia myös bashiin ja terminaliin.

Aloitin luomalla top.sls tiedoston /srv/salt kansioon ja näytän lopussa miltä se tulee näyttämään kokonaisuudessaan kun olen asentanut ohjelmat.

Apache2

Apache2 ja loin /srv/salt kansiion Apache2 kansion. Apache2 kansiion loin 2 tiedostoa. Tiedoston, joka näkyy webissä ja init.sls tiedoston, jossa on kaikki tarvittavat, jotta apache toimii. Alla init.sls ja testaus

Apache init.sls

Lähde: http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4
Omat tehtävät/Muistiinpanot

Atom

Aloitin atomin asennuksen luomalla /srv/salt kansioon sille oman kansion atom. Kansion sisään loin uuden init.sls tiedoston. Atomin asennus ei onnistu pelkällä
pkg installed komennolla vaan se tarvitsee repositoryn. Tässä kohtaa jouduin pohdiskelemaan kuinka saan repositoryn ladattua.
Pitkän tovin etsiskellessäni löysin saltstackista ohjeet pkgrepon käyttöön ja sitten aloin vaan kokeilemaan erilaisia yhdistelmiä, kunnes löysin oikean tavan käyttää tätä minun tilanteessani.
Repositoryn Atomille löysin sivulta codeforgeekistä, jotta sain asennettua Atomin. Lopullinen init.sls tiedosto tuli näyttämään seuraavalta.

Atom init.sls
ajo
sources.list

Lähteet: https://codeforgeek.com/install-atom-editor-ubuntu-14-04/
https://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html

Stacer

Stacer on monitorointi työkalu, jolla pystyt katsomaan CPU käyttöä muistia yms. Ja haluan ehdottomasti tämän aina uudelle koneelleni, joten aloitin ensiksi menemällä Stacerin Githubiin, josta löysin repositoryn, että saan ladattua stacerin. Tämän jälkeen loin /srv/salt kansioon stacer kansion ja sinne init.sls tiedoston joka tuli näyttämään samanlaiselta kuin atomin init.sls.

Stacer.init
Onnistunut ajo

Lähteet: https://github.com/oguzhaninan/Stacer
https://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html

SSH

SSH asennuksessa käytin apuna omia muistiinpanojani ja tehtäviäni, jotta saan SSH:n toimimaan ja muutin sieltä perinteisesti porttinumero defaultista (22) -> 8888. Tein tämän ensiksi käsin masterilla, jotta sain kopioitua sshd_config tiedoston /srv/salt/ssh kansioon.
Aloitin lataamalla Openssh-serverin omalle masterilleni, jotta saan sshd config tiedoston kopioitua /srv/salt/ssh kansioon, johon tein sitten porttinumeron muutoksen.

SSH init.sls
init.sls

Asennuksen jälkeen halusin vielä kokeilla, että SSH varmasti toimii, joten testasin sen.

Lähteet: http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port

Asensin myös uuden selaimen Chromiumin ja Gitin, mutta ne menevät ihan vain pkg.installed komennolla.

Terminal ja Bash prompt

Haluan myös yleensä muokata Bash promtia ja terminaalia, joten tein niihin myös muutoksia. Aloitin ensiksi terminaalin muokkaamisella ja tein sen ensiksi käsin masterilla. Eli oikealla klikkauksella terminaalin päällä ja sieltä dropdown valikosta preferences ja sieltä pystyt vaihtamaan värejä ja muuta. Itse halusin muuttaa värimaailmaa terminaalista joten se onnistui kohdasta Colors.
Asetusten jälkeen suuntasin kansioon:
/home/slave/.config/xfce4/terminal ja sieltä kansiosta löytyi terminalrc tiedosto, jonka kopioin sitten /srv/salt/terminal kansiooni, jotta saan ajettua asetukset salt minionilleni.

init.sls terminal
terminalrc tiedosto
Ajo terminal

Tämän jälkeen siirryin muokkaamaan bash promptia. Ajoin bashin uudet asetukset
/home/slave/.bashrc , jotta ne tulevat näkyviin minionilleni. Loin ensiksi uuden init.sls ja newbash tiedoston /srv/salt/bash kansiooni. init.sls tiedosto tuli näyttämään seuraavalta:

bash init.sls

Uuden bashin loin käyttäen nettisivua nimeltä Easy Bash Prompt Generator, jolla pystyn muokkaamaan oman bashin millaiseksi haluan sen ja generaattori muuttaa sen koodiksi. Uuden bash promptin koodi tuli näyttämään tältä.

Ajo bash
uusi prompt

Vaihdoin promptista @merkin väriä ja pidin myös värimaailman samanlaisena kuin uuden terminaalini värimaailma ja promptin lopusta poistin, että se näyttää vain nykyisen directoryn.

master$ sudo salt '*' state.highstate

Lopullinen top.sls tiedosto

Top.sls

Salt kansion puu näkymä.

Tree view

Lopuksi halusin vielä kokeilla uudella ja tyhjällä virtuaalikoneella, että tämä minun tilani toimii ja asentaa kyseiset ohjelmat ja laittaa asetukset.
Aloitin asentamalla uuden virtuaalikoneen ja guest additionit käytin apuna teron kurssi materiaali guest additionien asennukseen.
Uuden virtuaalikoneen asennuksen jälkeen latasin salt-minionin koneelle ja liitin sen master koneelleni minioniksi.

Asetusten jälkeen lähdin kokeilemaan tilaani uuteen virtuaalikoneesee ja tässä lopputulos.

master$ sudo salt ubuntuorja2 state.highstate

ajot

Tilat menivät läpi uudelle koneelle, joten tilan luonti on onnistunut. Laitan vielä kuvat loppuun, että ohjelmat toimivat uudella virtuaalikoneella.

Atom
Atom projects kansio
Git
Apache ja chromium
Uusi prompt ja terminal
SSH
yhteyden testaus masterilta uudelle minionille
Stacer

Ja tilan luonti on onnistunut ja ohjelmat asentuivat uudelle virtuaalikoneelle conffattuna ja käyttövalmiina.

Tein tehtävää 3 eripäivänä ja aikaa meni noin 12tuntia

Lähteet: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/
http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4

https://codeforgeek.com/install-atom-editor-ubuntu-14-04/
https://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html
http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port
http://terokarvinen.com/2020/remote-learning-tools-for-my-courses/
https://github.com/oguzhaninan/Stacer

Etusivulle

Jätä kommentti

Design a site like this with WordPress.com
Aloitus