Kahden koneen Puppet master-slave

Tehtävänanto:

“h2.

a) Gittiä livenä: Tee ohjeet ja skriptit, joilla saat live-USB -tikun konfiguroitua hetkessä – ohjelmat asennettua ja asetukset tehtyä.

b) Kokeile Puppetin master-slave arkkitehtuuria kahdella koneella. Liitä raporttiisi listaus avaimista (sudo puppet cert list) ja pätkä herran http-lokista (sudo tail -5 /var/log/puppet/masterhttp.log).

c) Lue (tästä c-kohdasta ei tarvitse raportoida)

http://terokarvinen.com/2012/puppetmaster-on-ubuntu-12-04

http://terokarvinen.com/2012/puppetmaster-on-ubuntu-12-04#comment-21939

http://terokarvinen.com/2017/simpler-puppet-manifests-resource-defaults-and-manifest-ordering

https://github.com/poponappi/essential-tools

Vinkkejä:
– Herra-orja arkkitehtuuria on helppo kokeilla labrassa oikeilla koneilla. (Virtualboxilla kokeileminen on todennäköisesti hitaampaa ja hankalampaa)
– Jos herra-orja arkkitehtuurissa sertifikaatit menevät solmuun, pysäytä molemmat demonit (puppetmaster ja puppet agent) yhtä aikaa, poista /var/lib/puppet/ssl/. Tee tarvittavat korjaukset ja yritä uudelleen.”

 

Harjoituksessa käytetty tietokone:

  • CPU: Intel Core I5 3570K
  • GPU: Gainward Geforce 1070 GTX
  • HDD: Corsair 1TB
  • SSD: Corsair Force 3 120GB
  • RAM: Corsair Vengeance DDR3 16GB
  • MB: MSI H77MA-G43

 

a) Gittiä livenä: Tee ohjeet ja skriptit, joilla saat live-USB -tikun konfiguroitua hetkessä – ohjelmat asennettua ja asetukset tehtyä.

Aloitin tehtävän 02.11.2017 klo. 23:25. Aloitin tehtävän normaaliin tapaan komennoilla

setxkbmap fi’

‘sudo apt-get update’

Alkukomentojen jälkeen suunnistin Teron sivuille katsomaan tehtävänantoa. Tähän tarvitsin gittiä, joten asensin sen

‘sudo apt-get -y install git’

Aloin rakentaa skriptiä Eemeli Aaltosen toteutuksen pohjalta. Aloitin rakentamaan skriptiä

‘nano quickstallation.sh’

Tarvittaviksi komennoiksi skripti asettaa aikavyöhykkeen, suomenkielisen näppäimistön, ohjelmat git, puppet, tree, sekä tekemäni SSH-moduulin puppetilla. Skripti lataa githubista myös ssh-moduulini.

quickstallation

Skriptin tehtyäni siirsin sen Teron ohjeita käyttäen gittiin.

Testasin skriptin toimivuutta lataamalla sen githubista ja ajamalla sen.

‘wget https://raw.githubusercontent.com/Defthy/quickstallation/master/quickstallation.sh’

Ajoin skriptin komennolla

‘bash quickstallation.sh’

joo.png

RUnattu.png

Testasin ssh-moduulin toimivuutta, ja se toimikin vasta, kun muistin että sallin moduulissani ssh-yhteyden portille 88. Aikavyöhyke vaihtui myös, kuten lokista ilmenee.

Toimii.png

Testasin myös ‘treen’ toimivuuden.

tree.png

Lopetin tehtävän a) 00.50.

 

 

b) Kokeile Puppetin master-slave arkkitehtuuria kahdella koneella. Liitä raporttiisi listaus avaimista (sudo puppet cert list) ja pätkä herran http-lokista (sudo tail -5 /var/log/puppet/masterhttp.log).

Master

Aloitin tehtävän 3.11.2017 klo. 11:50. Tein tehtävän käyttämällä kahdella eri koneella kotiolosuhteissa. Menin Teron sivuille etsimään ohjeita pupptemasterin käyttöä varten.

Asetin  koneeni hostnameksi masterin roolin.

‘sudo hostnamectl set-hostname master’

‘sudoedit /etc/hosts’

 

master.png

Määritin myös puppet.conf -kansioon masterin tiedot

‘sudoedit /etc/puppet/puppet.conf’

masterdns

Tämän jälkeen käynnistin daemonin uudestaan.

‘sudo service avahi-daemon restart’

T’ämän jälkeen pingasin orjaa.

‘ping orja.local’

ping.png

Seuraavaksi latasin puppetmasterin.

‘sudo apt-get -y install puppetmaster’

 

Loin orjan luettavaksi moduulin /etc/puppet/modules/hello/manifests/init.pp kansioon. (‘sudoedit init.pp’)

sudoedit.png

Ajoin moduulin komennolla

‘sudo puppet apply -e ‘class {hello:}”

runningmodule.png

Käynnistin puppetmasterin uudestaan

‘sudo service puppetmaster restart’

Orjan sertifikaattipyyntö onnistui komennoilla, jotka listasivat kysytyt sertifikaatit, ja antoivat sen kysyjälle.

‘sudo puppet cert list -all’

‘sudo puppet cert sign “orja.home”‘

toimiiko?.png

Otin halutut lokitiedostot komennolla

‘sudo tail -5 /var/log/puppet/masterhttp.log’

http.png

Slave

Aloitin tehtävän asentamalla puppetin

‘sudo apt-get -y install puppet’

Tämän jälkeen vaihdoin host-nimeni, sekä laitoin agentin tiedot puppet.conf-kansioon.

‘sudo hostnamectl set-hostname slave’

‘sudoedit /etc/hosts’

Screenshot_2017-11-03_12-06-18.png

‘sudoedit ‘etc/puppet/puppet.conf’

puppetconf.png

pingasin masteria ja itseäni myös onnistuneesti

‘ping master/slave.local’

ping.png

Käynnistin avahi daemonin uudestaan ja loin yhteyden masteriin komennolla kahdesti, jonka jälkeen yhteydenotto onnistui

‘sudo service avahi-daemon restart’

 

‘sudo puppet agent- tdv’

Komentojen välissä käytin myös komentoa, jonka jälkeen sertifikaatti meni läpi

‘sudo puppet agent –enable’

Avasin masterin tekemän moduulin komennolla

‘cat /tmp/hello’

toimii.png

 

 

 

Lähteet:

http://terokarvinen.com/2017/aikataulu-palvelinten-hallinta-ict4tn022-3-5-op-uusi-ops-loppusyksy-2017-p5

http://terokarvinen.com/2016/publish-your-project-with-github

https://raw.githubusercontent.com/Defthy/quickstallation/master/quickstallation.sh

https://github.com/Defthy/sshmoduuli

https://mikkoknutas.wordpress.com/category/koulutyot/palvelinten-hallinta/

https://ykermorvant.wordpress.com/2017/05/02/h4-linux-server-management-vol-4/

1 thought on “Kahden koneen Puppet master-slave

Leave a comment