Palvelinten hallinta H5

Muottien tekoa ja moduulien asentamista

Tein tehtävän kotona pöytäkoneellani, jossa oli mm. Intel i5-3570K prosessori, 8GB RAM-muistia, Asus GTX 1060 (6GB) näytönohjain ja käyttöjärjestelmänä Win 10. Jatkoin tehtävien tekemistä VirtualBoxissa (versio 6.1.4) luomillani virtuaalikoneilla, joita käytin edellisissä harjoituksissa.

Tehtävänanto kokonaisuudessaan: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/


Aloitin tehtävän 5.5.2020 klo 18:00 (UTC +3)

Pähkäilin ensin itse melko pitkään miten tehtävä ratkaistaan. Koitin googletella ohjeita, mutta en löytänyt kummoisia ohjeita. Lopulta päädyin selailemaan Tero Karvisen sivuja, sekä kurssilaisten tehtäväratkaisuja, kuten tätä Aki Ronkaisen sivua. Sain sivuilta hyviä vinkkejä, joiden avulla lähdin ratkaisemaan tehtävää.



a) Hello templates! Tee muotilla esimerkkitiedosto, jossa on muuttujien (esim grains) arvoja.

Googletin, mitä arvoja grainsin avulla on saatavilla ja päädyin tälle sivustolle. Komento salt ’*’ grains.ls listaa grainsit. Päätin kokeilla tehdä templaten, joka näyttää orjakoneen id:n. Tein ensin masterille kansion:

sudo mkdir srv/salt/message/

Kansioon loin muotin:

sudoedit message

Muotin sisällöksi:

Tervetuloa!

Käyttämäsi koneen id on {{ grains['id'] }}

Loin kansioon myös init.sls tiedoston:

sudoedit init.sls

Init.sls sisällöksi:

/tmp/message:
  file.managed:
    - source: salt://message/message
    - template: jinja

Kyseinen tila luo muotista message -tiedoston orjalle kansioon /tmp/ (tiedostoon tallentuu orjan id). Valitsin kyseisen kansion, koska arvelin sen olevan tarkoitettu väliaikaisille tiedostoille.

Ajoin tilan testatakseni sitä:

sudo salt '*' state.apply message

Sain ilmoituksen onnistuneesta suorituksesta:

Kävin orjalla testaamassa templaten toimivuuden:

cat /tmp/message

Template näytti viestin ja orjan id:n kuten oli tarkoituskin:



b) Message of the Day. Sisäänkirjautuessa näytetään päivän viesti. Lisää päivän viestiin tietoa ympäristöstä käyttäen muotteja. Sopiva tiedosto on /etc/motd.

Tarkoituksena oli luoda templatea käyttäen orjalle viesti, joka näytetään kirjauduttaessa sisään ssh:lla.

Loin masterille uuden kansion:

sudo mkdir /srv/salt/motd

Kansioon tiedosto (muotti) nimeltä motd:

sudoedit motd

Tiedoston sisällöksi:

Tervehdys!

Koneen id: {{ grains['id'] }}
Käyttöjärjestelmä: {{ grains['osfullname'] }}
Suorittimen malli: {{ grains['cpu_model'] }}

Samaan kansioon init.sls:

sudoedit init.sls

Init.sls sisällöksi:

/etc/motd:
  file.managed:
    - source: salt://motd/motd
    - template: jinja

Ajoin tilan masterilla:

sudo salt '*' state.apply motd

Tila ajettiin onnistuneesti:

Kävin orjalla tarkistamassa, näkyykö motd kun kirjaudun ssh:lla ja näkyihän se. Motd-tiedoston rivit lisättiin default-viestin loppuun:



c) Bash. Tee bashiin asetuksia Saltilla. Ensin käsin, vasta toimivaa automatisoidaan. Muista testata lopputulos käyttäjän näkökulmasta.

Googletin aiheesta ja löysin pari sivustoa, joilla on neuvottu promptin säätämistä:
https://vitux.com/how-to-customize-ubuntu-bash-prompt/
https://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/

Testailin ensin masterilla komennoilla värien vaihtamista:

Sivustoilla oli mainittu, että asetustiedosto on sijainnissa /home/käyttäjä/.bashrc. Kävin kurkkaamassa tiedoston sisältöä. Unohdin ottaa kuvan rivistä, jota muutin, mutta muutos näkyy myös myöhemmin ajetussa tilatulosteessa. Muutettu numero alleviivattu keltaisella:

Numero 32 on vihreä väri, jonka siis muutin violetiksi, eli numeroksi 35.

Tein tilalle kansion:

sudo mkdir /srv/salt/bash/

Kansioon init.sls tiedoston:

sudoedit init.sls

Sisällöksi:

/home/slave/.bashrc:
  file.managed:
    - source: salt://bash/.bashrc

Tässä on vain se sama ongelma, jonka takia minulla oli vaikeuksia aiemmissa harjoituksissa olleiden asetustiedostojen kanssa. Asetustiedosto on käyttäjän kotihakemistossa, ja käyttäjänimi ei ole kaikilla orjilla vakio. Laitoin yhden orjan nimen polkuun, joten tila toimii vain kyseisellä orjalla. Katselin muiden kurssilaisten tehtäväratkaisuja, ja he olivat ratkaisseet tämän aika pitkälti samalla tavalla.

Kopioin masterilla asetustiedoston tilakansioon:

sudo cp /home/master/.bashrc /srv/salt/bash/

Ajoin tilan komennolla:

sudo salt '*' state.apply bash

Sain ilmoituksen onnistuneesta rivimuutoksesta:

Kävin orjalla käynnistämässä terminaalin uudestaan, ja promptin väri oli vaihtunut:



d) Nginx. Tee nginx-weppipalvelimeen asetuksia Saltilla. Voit esimerkiksi tehdä uuden site:n, niin että etusivu vaihtuu.

Halusin muokata Nginxin defaultsivua. Kirjoitin ensin masterin selaimeen localhost ja huomasin, että minulla oli Apache asennettuna ja joku Apachelle luotu testisi tehtynä. Poisti ne, ja tarkistin vielä, ettei selaimessa annettu localhost avaa sivua.

Asensin masterille Nginxin:

sudo apt-get install -y nginx

Annoin varmuuden vuoksi komennon systemctl restart gninx, sillä en muistanut pitikö palvelin käynnistää uusiksi asentamisen jälkeen. Avasin selaimen ja kirjoitin osoiteriville localhost, minkä jälkeen Gninxin oletussivu avautui. Unohdin ottaa oletussivusta screenshotin.

Menin katsomaan, olisiko oletussivu samassa sijainnissa kuin Apachen oletussivu oli aiemmissa harjoituksissa. Sijainnista /var/www/html/ löytyi index.gnix-debian.html, eli juuri se sivu jota etsinkin. Muokkasin sivua:

<!DOCTYPE html>
<html>
<head>
<title>Testaillaan...</title>
Testaillaan...
</html>

Kirjoitin jälleen selaimeen localhost, jolloin luomani testisivu avautui:

Tein masterilla tilalle uuden kansion:

sudo mkdir /srv/salt/nginx/

Kopioin testisivun kyseiseen kansioon:

sudo cp /var/www/html/index.nginx-debian.html /srv/salt/nginx/

Uudelleen nimesin kopioimani tiedoston testi.html -nimiseksi, minkä jälkeen tein nginx -kansioon init.sls tiedoston seuraavalla sisällöllä:

nginx:
  pkg.installed

/var/www/html/index.nginx-debian.html:
  file.managed:
    -source: salt://nginx/testi.html

running:
  service.running:
  - name: nginx

Ajoin tilan masterilla komennolla:

sudo salt '*' state.apply nginx

Tilan suorittaminen onnistui lopun serviceä lukuunottamatta.

En tiennyt, mistä virhe saattoi johtua. Minulla oli orjalla Apache asennettuna, joten kävin varmuuden vuoksi pysäyttämässä sen. Olin unohtanut tehdä ennen ennen tilan ajoa testin orjan puolella (localhost selaimeen). Ajoin tilan uudeleen, jolloin servicen suorittaminen onnistui myös.

Minun olisi ollut hyvä testata vielä koko tilan ajaminen uudestaan ”puhtaalta pöydältä”, mutta se jäi tekemättä. Kävin kirjoittamassa orjakoneen selaimeen localhost, jolloin toivottu testisivu avautui.

Lopetin tehtävien tekemisen 6.5.2020 klo 2:20 (UTC +3). Tehtävien tekemiseen meni aikaa noin kahdeksan tuntia.



Lähteet

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s

Create your website with WordPress.com
Aloitus
%d bloggaajaa tykkää tästä: