Puppet Slave-Master

Tehtävänanto on seuraavanlainen:

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).

Git scriptin olen tehnyt ja ladannut githubiin. Osoite sinne on https://github.com/poponappi/essential-tools.  Raportoinnin olen tehnyt githubiin.

Puppet

Tehtävää teen koululla labra luokassa. Aloitan tehtävän tekemisen kello 9. Aloitan tehtävän ajamalla githubissa edellisessä kohdassa tekemäni scriptin joka asentaa puppetin ja tekee sinne uuden moduulin joka asentaa LAMP:in.

Ensin laitan master (isäntä) koneelle hostnamen (isäntänimen). Komennolla ”sudo hostnamectl set-hostname blue”, kuten komennosta huomaa annan koneelle nimeksi blue. Jotta kaikki toimisi kuten pitää, lisään uuden nimen hosts-tiedostoon localhostin perään. Viimeisenä käynnistän avahi-daemon palvelun uudelleen. Testaan toimiiko uusi hostname menemällä selaimella osoitteeseen blue.local. Sieltä tulee näkyviin Hello World-sivu joka tarkoittaa hostname toimii. Hello World sivu on siellä koska Git-scripti tekee sellaisen oletus sivun.

Sitten asentamaan Puppet-master. Demoni jonka asennan on ”puppetmaster” ja asennan sen komennolla ”sudo apt -y install puppetmaster”. Asentamisen jälkeen pitää luoda uudet sertifikaatit. Ensin sammutan puppetmaster palvelun ja poistan vanhat sertifikaatit komennolla ”sudo rm -r /var/lib/puppet/ssl”. Uudet sertifikaatit generoituvat kun käynnistän puppetmaster palvelun, mutta ennen sen käynnistystä muokkaan puppet.conf tiedostoa joka on puppetin konfiguraatio tiedosto. Muokkaan sitä komennolla ”sudoedit /etc/puppet/puppet.conf”.  Lisään puppet.conf tiedostoon [master]-ostikon alle ”dns_alt_names = puppet, blue.local”. Nyt kun konfiguraatio tiedostoa on muokattu voin käynnistää puppetmasterin. Nyt on puppetmaster asennettu.

Seuraavaksi kokeilen slave konetta. Laitan slave koneelle hostnameksi red. En aja tälle koneelle Git-skriptiäni kokeillakseni että master-slave toimii. Aloitan saentamalla puppetin ”sudo apt install -y puppet”. Muokkaan slave koneen puppet.conf tiedostoa. Lisään tiedoston loppuun uuden otiskon [agent] ja sen alle ”server = blue.local”. Seuraavaksi laitan puppet slaven käynnistymään automaattisesti. Tiedostoon ”/etc/default/puppet” pitää lisätä ”START=yes” loppuun, muuttaminen vaatii sudo oikeudet. Seuraavaksi käynnistän puppetin uudelleen. Jotta slave toimisi master koneella pitää hyväksyä slave. Hyväksyttävät slave-koneet näkee komennolla ”sudo puppe[2017-11-06 10:12:26] – -> /production/file_metadatas/plugins?links=manage&recurse=true&ignore=.svn&ignore=CVS&ignore=.git&checksum_type=md5
[2017-11-06 10:12:27] 172.28.171.41 – – [06/Nov/2017:10:12:27 EET] ”POST /production/catalog/red.tielab.haaga-helia.fi HTTP/1.1” 200 5640
[2017-11-06 10:12:27] – -> /production/catalog/red.tielab.haaga-helia.fi
[2017-11-06 10:12:52] 172.28.171.41 – – [06/Nov/2017:10:12:52 EET] ”PUT /production/report/red.tielab.haaga-helia.fi HTTP/1.1″ 200 9
[2017-11-06 10:12:52] – -> /production/report/red.tielab.haaga-helia.fit cert –list” ja oikean hyväksyn komennolla ”sudo puppet cert –sign red.tielab.haaga-helia.fi”.

Jotta voisin kokeilla yhteyttä minun pitää tehdä moduuli, minun Git-scripti jonka ajoin koneelle tehtävän alussa teki minulle sellaisen, mutta se ei lisännyt moduulia site-manifestiin. Lisään sen sinne komennolla ”sudoedit /etc/puppet/manifests/site.pp” ja lisään sinne ”include apache”. Nyt käynnistän slave-koneessa puppetin uudelleen ja sen pitäisi ajaa apache moduuli.

Jostain syystä slave ei aja apache moduulia. Teen uuden moduulin helloworld. Sen koodiksi laitan seuraavan

class helloworld {
file { ’/tmp/helloFromMaster’:
content => ”See you at http://terokarvinen.com/tag/puppet\n”
}
}

Lisään uuden moduulin site.pp tiedostoon. Huomaan että uusi moduulikaan ei toiminut, mutta kun luen ohjeita uudelleen luen myös kommentit jonne oli lisätty, että puppet agentti pitää laittaa päälle jotta slave hakisi moduulit. Laitan sen päälle komennolla ”sudo puppet agent –enable”. Nyt kun käynnistin puppet palvelun uudelleen molemmat moduulin lähtivät toimimaan. Testasin helloworld moduulin toiminnan komennolla ”cat /tmp/helloFromMaster” joka palautti ”Testing puppet” ja apache moduulin testasin menemällä slave koneen selaimella osoiteeseen localhost josta näkyy Hello World-sivu.

Tehtävänannossa pyydettiin myös laittamaan pätkä http-lokia:

[2017-11-06 10:12:26] – -> /production/file_metadatas/plugins?links=manage&recurse=true&ignore=.svn&ignore=CVS&ignore=.git&checksum_type=md5
[2017-11-06 10:12:27] 172.28.171.41 – – [06/Nov/2017:10:12:27 EET] ”POST /production/catalog/red.tielahttps://puppet.com/docs/puppet/5.3/man/cert.htmlb.haaga-helia.fi HTTP/1.1” 200 5640
[2017-11-06 10:12:27] – -> /production/catalog/red.tielab.haaga-helia.fi
[2017-11-06 10:12:52] 172.28.171.41 – – [06/Nov/2017:10:12:52 EET] ”PUT /production/report/red.tielab.haaga-helia.fi HTTP/1.1” 200 9
[2017-11-06 10:12:52] – -> /production/report/red.tielab.haaga-helia.fi

Myös pyydettiin laittamaan listaus avaimista muuta ”sudo puppet cert list”-komento ei näyttänyt mitään, mutta kun lisäsin komennon loppuun ”–all”, se näytti:

+ ”blue.tielab.haaga-helia.fi” (SHA256) C3:D5:BD:1E:A0:D0:40:00:B5:6A:2D:F4:2A:D5:F1:91:55:63:11:B8:8A:77:AE:CE:71:74:0C:73:FA:C0:69:90 (alt names: ”DNS:blue.local”, ”DNS:blue.tielab.haaga-helia.fi”, ”DNS:puppet”)
+ ”red.tielab.haaga-helia.fi” (SHA256) DC:E3:9B:34:89:7C:D4:C6:BE:19:80:D7:B9:54:A0:48:18:A0:12:DD:47:E8:4E:63:C2:DD:44:6F:3E:CD:A4:D5

Läysin tämän puppetin cert ohjeista sivulta https://puppet.com/docs/puppet/5.3/man/cert.html

Lopetin tehätävän tekemisen 10.30

 

Lähteet:

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

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

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

https://puppet.com/docs/puppet/5.3/man/cert.html

Mainokset

Yksi vastaus artikkeliiin “Puppet Slave-Master

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s