Manage multiple server & client computers with SaltStack (finnish)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

5.9 KiB

Palvelinten hallinta - Harjoitus 5

Disclaimer:

Tämä harjoitus on tehty osana Haaga-Helian Tietojenkäsittelyn koulutusohjelman kurssia Palvelinten hallinta (ICT4TN022, kevät 2018). Kurssin pitäjänä toimii Tero Karvinen, joka on määritellyt tämän harjoituksen tehtävänkuvaukset. Tehtävien vastaukset ovat Pekka Heleniuksen (allekirjoittanut) tuottamia.

SISÄLLYSLUETTELO

b) Julkaise raportti MarkDownilla. Jos käytät GitHub:ia, se tekee muotoilun automaattisesti “.md”-päätteisiin dokumentteihin.

Vastaus:

Kaikki raportit Git-varastoissa 'Central Management of Multiple Servers' sekä 'Basics of a Linux Server' tehty tähän mennessä MarkDownilla.

c) Aja oma Salt-tila suoraa git-varastosta. Voit joko tehdä tilan alusta lähtien itse tai forkata sirottimen.

Vastaus:

1) Git-varaston alustus

Alustetaan uusi git-varasto, Ubuntu 18.04 LTS. Ajetaan normaalikäyttäjänä tietokoneella:

sudo apt-get update && sudo apt-get -y install git
mkdir -p ~/harjoitus_5

Luodaan tässä vaiheessa uusi varasto esimerkiksi GitHub:iin. Uudella käyttäjällä aloitetaan uusi projekti (New project), jolle annetaan nimi (tässä tapauksessa salt_testrun).

Kun uusi varasto on luotu, ladataan se paikalliselle koneelle:

cd ~/harjoitus_5
git clone https://github.com/Fincer/salt_testrun.git
cd salt_testrun

HUOM! Mikäli git-komento pyytää, on komennon tulostamien ohjeiden mukaan asetettava sähköpostiosoite ja käyttäjätunnus git:iä varten. Testikoneella nämä oli määritelty jo ennalta.

Luodaan GitHub:sta ladattuun git-varastoon alikansiot scripts ja data:

mkdir -p ~/harjoitus_5/salt_testrun/{scripts,data,images}

Seuraavat tiedostot oli tehty harjoitusta varten jo ennalta. Kopioidaan valmiit tiedostot oikeisiin paikkoihin git-varastossa.

HUOM! Mikäli muokkaat git-varastoon kuuluvia tiedostoja, tee tämä aina git-varaston (~kansion) sisällä!

GIT_VARASTO=$HOME/harjoitus_5/salt_testrun
cp ~/salt_testrun.sh ${GIT_VARASTO}/
cp ~/salt_pillar_apache_sample.sh ${GIT_VARASTO}/scripts/
cp ~/{sampleindex.html,sampleindex_functions.js} ${GIT_VARASTO}/data/
touch ${GIT_VARASTO}/images/.gitignore
unset GIT_VARASTO

Lisätään tiedostot git-puuhun:

cd ~/harjoitus_5/salt_testrun
git add *
git commit -m "Initial content"

Output:

[04/05/2018 04:14:37 - fincer: salt_testrun ]$ git commit -m "Initial content"
[master 9cc3aab] Initial content
5 files changed, 1384 insertions(+)
create mode 100755 data/sampleindex.html
create mode 100755 data/sampleindex_functions.js
create mode 100644 images/.gitignore
create mode 100644 salt_testrun.sh
create mode 100644 scripts/salt_pillar_apache_sample.sh

HUOM! Tiedostojen poisto seuraavasti, esimerkki:

[04/05/2018 04:13:50 - fincer: salt_testrun ]$ git rm -rf .gitignore
rm '.gitignore/.gitignore'
[04/05/2018 04:14:01 - fincer: salt_testrun ]$ git commit -m "Delete gitignore"
[master fd87536] Delete gitignore
1 file changed, 1 deletion(-)
delete mode 100644 .gitignore/.gitignore

Julkaistaan muutokset GitHub:ssa:

git push

Output:

[04/05/2018 04:19:40 - fincer: salt_testrun ]$ git push
Counting objects: 12, done.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (12/12), 14.38 KiB | 2.40 MiB/s, done.
Total 12 (delta 0), reused 0 (delta 0)
To https://github.com/Fincer/salt_testrun.git
c72f9b7..1be1fb5  master -> master

HUOM! Mikäli git-varasto käyttää useampaa haaraa, on git push -komennossa määriteltävä, mihin haaraan muutokset kohdistetaan (esim. git push origin master)

HUOM! Mikäli kyseessä on useamman tekijän git-varasto ja mikäli ei voida olla varmoja, onko git-puuta päivitetty jonkun toisen tekijän toimesta omien muutostöiden välissä, on suositeltavaa käyttää git push -komennon edellä git pull -komentoa. Yleensä git osaa varoittaa, mikäli välissä muutettuun varastoon ollaan tekemässä muutoksia, mutta hyvän työskentelykäytännön takia git pull:ia on hyvä käyttää.

2) Salt-tila suoraan varastosta - skripti

Seuraava komentosarja on testattu Ubuntu 18.04 LTS:ssä:

wget https://raw.githubusercontent.com/Fincer/salt_testrun/master/salt_testrun.sh
sudo bash ./salt_testrun.sh
  • asentaa yhdelle koneelle Salt Master/Minion -arkkitehtuurin (Minion-koneen ID on defaultMinion)

  • asentaa Apachen Salt-minionille (Salt-tiloja käyttäen)

  • konfiguroi esimerkkisivun Apachelle (Salt-tiloja käyttäen)

  • avaa esimerkkisivun käyttäjän 1000 (UID) oletusselaimessa

Git-varasto löytyy kokonaisuudessaan seuraavasta osoitteesta:

Fincer - salt_testrun