Add some salt(project) and Voilà
Palvelinten hallinta ICI001AS3A-3010
päivä | aihe |
---|---|
2024-10-24 w43 Thu | Hello Salt. Master-slave, pull -arkkitehtuuri. Komentojen etäsuoritus (cmd.run, pkg.install). Tietojen kerääminen orjista (grains.items). Idempotentti konfiguraatio (foo.sls, top.sls). Esimerkkejä tiloista (file.managed). |
Aloitin su 27.10 klo 11:30, Käytin koko päivän Saltproject tutustumiseen, kokeiluun sekä raportin tekemiseen.
”””
pkg
, file
, service
, user
and cmd
.”””
Lähde [1]
”””
The network will have one master, and many slaves. The master prompt below is “master$” and slave “minion” prompt is “slave$”.
Install Master
master$ sudo apt-get -y install salt-master
Install Slave
slave$ sudo apt-get -y install salt-minion
The slave must know where the master is
slave$ sudoedit /etc/salt/minion
”””
Lähde [2]
Alkutoimet
Päivitykset & Palomuuri
$ apt-get update && sudo apt-get upgrade
$ apt-get install ufw
$ enable ufw
Debian 12 järjestelmälle tarkoitettu salt järjestelmän voi ladata sivulta https://docs.saltproject.io/salt/install-guide/en/latest/topics/install-by-operating-system/debian.html.
Luennolla kerrattiin pakettien latauksen menetelmät. Muistutus että ei saisi kopioida nettisivuilta kommentoja ollenkaan tai käyttää nettisivujen sudokomentoja, ymmärtämättä.
Sivulla näkyy komennot:
mkdir /etc/apt/keyrings
sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg https://repo.saltproject.io/salt/py3/debian/12/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/12/amd64/latest bookworm main" | sudo tee /etc/apt/sources.list.d/salt.list
Ensimmäinen komento tekee keyrings kansion /etc/apt kansion alle. Seuraava komento lataa ja asentaa url sivulta .gpg tiedoston, jossa on julkinen avainpari. Viimeinen komento lisää salt.list tiedostoon järjestelmäasetuksia. Salt hakee päivitykset ja todentaa yhteyden .gpg
tiedoston avaimella.
Päätin että lataan tiedoston manuaalisesti ja lisään itse tekstin salt.list tiedostoon.
Latasin .gpg tiedoston.
Siirsin sen kansioon /etc/apt/keyrings
.
Sen jälkeen siirrying kansioon /etc/apt/sources.list.d/
ja siellä tein salt.list
tiedoston johon kirjoitin:
deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/12/amd64/latest bookworm main
Sen jälkeen asennus:
sudo apt-get install salt-master
sudo apt-get install salt-minion
Tämän jälkeen ajoin komennon sudo salt-call --version
, joka tulosti:
salt-call 3007.1 (Chlorine)
Yllä näkyvässä kuvassa komento asensi tree
tiedoston. Yksityiskohdista näkee, kätetty funktio pkg.installed
, aloitusaika 20:32:21
, mutta tiivistelmä oli vihreän värinen ja kommentin kohdalla luki että All specified packages are already installed
. Olin ajanut komennon aikaisemmin ennen näyttökuvaa. Sitten vielä Succeeded
oli 1 ja Failed
0, eli mitään ei vaihtunut, koska tila oli tyydytetty.
Ylläolevassa kuvassa käytin file.managed
tilafunktioo, ja loin uuden tiedoston /tmp/simonsFolder
, ja /tmp/sayings
sisällön kanssa. Tällä kertaa tiivistelmä oli sininen ja Succeeded
näytti suluissa (changed=1)
.
Tässä poistin luomani tiedoston /tmp/simonsFolder
Seuraavaksi yritin komentaa apachen käynnistettäväksi service
funktiota käyttämällä. Tämä ei onnistunut koska en ollut ladannut Apachea.
$ sudo apt-get update
$ sudo apt-get install apache2
Tällä kertaa näytti vihreätä, apache2 käynnistyi latauksen jälkeen.
Kokeilin vielä sammuttaa apachen, tai ottaa pois käytöstä komennolla:
$ sudo salt-call --local -l info state.single service.dead apache2 enable=False
Näissä kahdessa kuvassa näkyy, kun ensin luon käyttäjän johnwayne
, ja sitten poistan saman käyttäjän.
Ylläolevassa kuvassa oli käytössä tilafuntio cmd
, tällä funktiolla voidaan tehdä komento. Luodaan komento kansioon /tmp, komento joka luo tyhjän foo
tiedoston /tmp kansion alle.
creates, unless, onlyif” [1]
$ sudo salt-call –local -l info state.single cmd.run ‘touch /tmp/foo’ creates=”/tmp/foo”
Tässä komennossa idempotenssi ilmenee creates="/tmp/foo"
, jossa creates
tarkistaa ensin jos tiedosto on olemassa tällä polulla. Mitään ei tehdä jos tiedosto on olemassa, tiedosto luodaan jos sitä ei ole olemassa.
Tehtävää on päivitetty ti 29.10 klo 20
Mielestäni tein harjoitukset juuri niin, että herra ja orha olivat samalla koneella. Otan selvää seuraavalla ristiinarvioinnissa, ja seuraavalla tunnilla tästä tehtävästä.
Ristiinarvioinnissa tuli vastaan opiskelijatoverin Hanna Burmanin raportti, jossa hän onnistui tehtävässä. [5]
Olin yrittänyt jo aikaisemmin komentoa master$ sudo salt '*' cmd.run 'whoami'
josta sain virheviestin. Päätin että jatkan tehtäviä ja palaan takaisin virheviestiin.
Tässä tehtävässä, seurasin miten Hanna onnistui tehtävässään, mutta vaikka yritin seurata samoja muokkauksia, en silti saanut samaa tulosta.
[1][2][4]