Palvelinten hallinta H4

Tehtävässä käytetyt harjoitukset löytyvät osoiteesta : Palvelinten hallinta
Kurssin opettajana toimii Tero Karvinen.

Harjoitus suoritetaan Lenovo T470P kannettavalla tietokoneella, jossa on i7 7700hq suoritin, 16 Gb DDR4 keskusmuistia sekä Samsung 960 evo 256Gb m.2 kovalevy.

Käyttöjärjestelminä toimii kaksi Ubuntu 16.04.3 64bit asennusta, jotka on asennettu VirtualBox virtuaaliympäristöön.

Aloitan tehtävän asentamalla käyttöjärjestelmät virtualbox.n, nimeän toisen koneen “master” ja toisen “minion” harjoitusta varten, Käyttäjänimi on molemmissa koneissa sama, tatu.

Konfiguroin virtuaalikoneet samaan sisäverkkoon, jotta ne voivat olla yhteydessä toisiinsa vaivattomasti. Ohjeet konfigurointiin virtualbox.a varten löytyvät aikaisemmasta tehtävästäni palvelinten hallinta H2

Kun molemmat virtuaalikoneet on asentuneet, päivitän ne komennoilla

“sudo apt-get update”

sekä

“sudo apt-get upgrade”

Tämän jälkeen testaan virtuaalista sisäverkkoa laittamalla koneet pingaamaan toisiaan.

nyt kun olen varmistunut että yhteydet pelaa, voin aloittaa tehtävien teon jotka ovat:

a) Kokeile Ansible

b) Kokeile Salt:tia

SALT

Alointa Salt.a koska se tuntui helpoiten lähetyttävämmältä sekä myös kiinnostavimmalta näistä kahdesta.

Aloitan tehtävän asentamalla “master” koneelle salt-masterin, teen tämän komennolla

“sudo apt-get install salt-master”

Kun ohjelma on asentunut, lisään master koneen ip-osoitteen salt.n master tiedostoon, joka sijaitsee /etc/salt/master

Tämän jälkeen käynnistän palvelun uudestaan komennolla

“sudo service salt-master restart”

Asennan “minion” koneelle salt-minion.n seuraavaksi. Teen tämän komennolla

“sudo apt-get install salt-minion”

Kun ohjelma on asentunut lisään “master” koneen tiedot minion tiedostoon, joka sijaitsee /etc/salt/minion

Myös salt-minion käynnistän uudestaan kun lisäys on tehty.

Kokeilen yhteyttä salt.minion.a “master” koneeseen komennolla

“sudo salt-minion”

Kokeilen myös yhteyttä “master” koneella komennolla

“sudo salt-master”

“master” kone antoi ensimmäisenä virheen “error parsing configuration file”. Selvisi että kun muokkasin “master” tiedostoa, niin minulta unohtui lisätä “:” inteface sanan jälkeen. Kun tämän korjasin virhe poistui.

“minion” koneen antama virhe mainittiin jo ohjeissa ja ei aiheuttanut toimenpiteitä.

“master” koneella syötin komennon

“sudo salt-key -F master”

jotta näkisin avainten tilan, hyväksymättömissä näkyikin “minion” koneen yhteyspyyntö.

Hyväksyin “minion” koneen avaimen komennolla

“sudo salt-key -A” (-A hyväksyy tässä tapauksessa kaikki avaimet!)

ja testasin uutta yhteyttä komennolla

“sudo salt minion test.ping”

Kun varmistuin siitä että yhteys pelaa, kokeilen paketin (apache2) asentamista “master” koneella. Teen tämän komennolla

“sudo salt minion pkg.install apache2”

ANSIBLE

Teen harjoituksen samoilla virtuaalikoneilla kuin aikaisemmassa harjoituksessa. Aloitan tehtävän asentamalla molemmille koneille SSH.n. Teen tämän komennolla

“sudo apt-get install ssh”

Tämän jälkeen testaan ssh yhteyttä “master” koneelta “minion” koneelle.

Tämän jälkeen kopioin “master” koneen julkisen ssh avaimen “minion” koneelle komennolla

“ssh-copy-id tatu@10.13.13.104”

Asennan “master” koneelle seuraavaksi ansiblen. (HUOM! node koneelle ei tarvitsee erikseen asentaa ansible, ssh yhteys riittää.). Joudun tätä varten lisäämään uuden repositoryn (huom! uusi luottamussuhde syntyy), jotta saan viimeisimmän version. Komennot tähän on :

“sudo apt-get update”
“sudo apt-get install software-properties-common”
“sudo apt-add-repository ppa:ansible/ansible”
“sudo apt-get update”
“sudo apt-get install ansible”

Tämän jälkeen yritin ottaa yhteyttä minioniin komennolla

“ansible all -m ping”

mutta sain ilmoituksen että hosteja ei ole mihin ottaa yhteyttä.

Luin manuaaleja ja kävi ilmi että master koneelle tulisi lisätä halutun node.n ip osoite.

Seuraavaksi lisään siis ansible.n hosts tiedoston merkinnän tulevasta nodesta (minion), hosts tiedosto sijaitsee /etc/ansible/hosts. Näin “master” tietää minne ottaa yhteyttä.

Kun ajan ping komennon uudestaan, kysytään ssh avainta ja saan yhteyden.

Seuraavaksi testaan paketin asennusta. mukailen arcticCM ohjeita mutta en luo erikseen ryhmää asennusta varten, vaan käytän suoraan noden ip osoitetta. Luon paketin /etc/ansible kansioon nimellä apache.yml.

Ajan tiedoston komennolla

“ansible-playbook /etc/ansible/apache.yml”

Saan virhe ilmoituksen valtuuksien puuttumisesta.

Tutkin materiaaleja lisää ja lisään komennon perään.

“–ask-become-pass”

Tämän jälkeen tulee kysely sudo salasanasta, sen syötettyään asennus onnistuu.

Lähteet:

https://github.com/joonaleppalahti/CCM

https://docs.ansible.com/ansible/latest/intro.html