Tehtävänanto:
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.
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’
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.
Testasin myös ‘treen’ toimivuuden.
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’
Määritin myös puppet.conf -kansioon masterin tiedot
‘sudoedit /etc/puppet/puppet.conf’
Tämän jälkeen käynnistin daemonin uudestaan.
‘sudo service avahi-daemon restart’
T’ämän jälkeen pingasin orjaa.
‘ping orja.local’
Seuraavaksi latasin puppetmasterin.
‘sudo apt-get -y install puppetmaster’
Loin orjan luettavaksi moduulin /etc/puppet/modules/hello/manifests/init.pp kansioon. (‘sudoedit init.pp’)
Ajoin moduulin komennolla
‘sudo puppet apply -e ‘class {hello:}”
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”‘
Otin halutut lokitiedostot komennolla
‘sudo tail -5 /var/log/puppet/masterhttp.log’
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’
‘sudoedit ‘etc/puppet/puppet.conf’
pingasin masteria ja itseäni myös onnistuneesti
‘ping master/slave.local’
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’
Lähteet:
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/
“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.”