Auteur Archief

Snel op weg in korte tijd

Written by Ger Apeldoorn. Posted in Nieuws

Aan het woord ‘ontwikkeling’ of ‘programmeren’ zit een stevige associatie… Langdurig. Als bedrijven erover denken om iemand in te huren om te helpen met het schrijven van de manifests, wordt vaak gedacht dat dat lang gaat duren en dus enorm veel kost.

Puppet heeft zijn oorsprong in de Open-Source wereld, en die mentaliteit vind je ook terug bij de mensen die met Puppet werken. Er zijn wereldwijd honderden Puppet-guru’s die geheel belangeloos hun modules delen via de Puppetforge.

Door niet alles vanuit het niets te ontwikkelen, maar voort te borduren op het werk van deze mensen is het inrichten van uw Puppet omgeving in verbazend korte tijd voor elkaar.

Om de korte doorlooptijd van de projecten inzichtelijk en concreet te maken, heb ik een aantal ‘Diensten’ gedefinieerd:

Ik hoop hiermee het verkeerde beeld van een maandenlange implementatie bij te stellen.

Hiera in gebruik

Written by Ger Apeldoorn. Posted in Sysadmin

Voor dit artikel ga ik ervan uit dat je Hiera al hebt ingericht. Mocht dit nog niet zo zijn, lees dan eerst onderstaande artikelen voor meer achtergrondinformatie.

Een simpele waarde ophalen

Een waarde ophalen uit Hiera is bijzonder eenvoudig! Puppet kent de functie hiera(), deze doet al het werk voor je.

Laten we met een voorbeeldje werken, aanschouw dit YAML-bestand:

Module op Forge gepubliceerd

Written by Ger Apeldoorn. Posted in Nieuws

forge-logoVandaag heb ik mijn module om RedHat servers te registreren bij Satellite of RHN-classic geupdate op Puppetforge. Puppetforge is een verzamelplaats voor modules die zijn gebouwd door gebruikers van Puppet.

Met deze module kun je ook heel simpel je systemen migreren van (of naar) Satellite server. De benodigde gegevens (API-key) kun je via parameters doorgeven, maar parameters die zijn verkregen via Hiera hebben prioriteit.

Een klant wilde alle RH servers migreren vanuit Satellite Server naar de hosted RHN-Classic. Door deze module is dat zonder problemen en eenvoudig verlopen.

http://forge.puppetlabs.com/gerapeldoorn/rhn

Single command server deployment

Written by Ger Apeldoorn. Posted in Sysadmin

This article is in English because it was mentioned in a PuppetLabs newsletter.

Although Puppet Enterprise gives you the wonderful tools to automate your Linux administration, you still cannot deploy a server with a single command. With the following script, you can.

Why is this so cool?

When, for instance, a new Tomcat server is needed, I create a DNS entry for that server and give a single command and get some coffee. Before it has cooled down enough to drink, the developer has his Tomcat-app deployed and the server is operational. (It takes about 8 minutes to get from scratch to a fully operational server.)

Waarom Puppet? – Voordelen organisatie

Written by Ger Apeldoorn. Posted in Management

Puppet is een van de weinige tools die zowel techneuten als managers erg blij maken. Mijn werk als sysadmin is er een stuk leuker van geworden en de voordelen die de bedrijven ondervinden zijn aanzienlijk.

Deze voordelen zijn eigenlijk onder te verdelen in drie categorieën:

Puppet en Hiera update configuratie workflow

Written by Ger Apeldoorn. Posted in Sysadmin

Je hebt iets prachtigs gemaakt in de ‘development’ environment en wilt dit doorzetten naar ‘testing’. Hier vind je een handige manier om dat te doen.

Bij dit stukje ga ik van het volgende uit:

Van start: Enkele wijzigingen lokaal committen

Eerst maar eens naar de juiste directory:

Environments en Git, een must!

Written by Ger Apeldoorn. Posted in Sysadmin

Met environments kun je verschillende versies van je manifests en modules zij-aan-zij gebruiken. Zo is het mogelijk om een ‘development’, ‘testing’ en ‘production’-environment maken op een enkele server. In de configuratie van je nodes (de gemanagede servers) geef je aan bij welke environment de node hoort.

Versioning van je manifests en modules is ook ontzettend belangrijk, bovendien kun je hier goed gebruik van maken wanneer je je code van je development environment naar testing, en vervolgens naar production door te zetten. De versioning tool die ik hier laat zien is Git.

Nog even ter verduidelijking; wijzig NOOIT je Puppet manifests/modules in produktie. Mocht je dit toch voornemens zijn, bookmark dan even deze link: LINK

Git repository maken

Git is enorm krachtig en kan ontzettend veel. Het is ook een redelijk complexe tool om te gebruiken en ik heb dan ook niet de illusie dat ik je in dit korte artikel de ins- en outs kan bijbrengen. Ik ga je wel de setup-procedure laten zien voor een nieuwe GIT repository, waar we onze Hieradata mee gaan managen.

We willen uiteindelijk 3 kopieen van onze datafiles hebben, elk ervan is een GIT repository:

Hiera inrichten

Written by Ger Apeldoorn. Posted in Sysadmin

De meeste Puppet inrichtingen hebben veel baat bij Hiera. Je manifests worden nodeloos complex of onoverzichtelijk omdat er data in komt. Met de tool Hiera kun je eenvoudig de data scheiden van je manifests. Hier vind je meer goede redenen om Hiera te gebruiken.

In dit artikel ga ik ervan uit dat je al Environments gebruikt voor je manifests, klik hier om te tonen hoe je dat kunt opzetten met Git.

Waarom Hiera?

Written by Ger Apeldoorn. Posted in Sysadmin

Intro

Als je een tijdje aan het bouwen bent geweest, kom je er waarschijnlijk op enig moment achter dat het bestand waar je de nodes classificeert (sites.pp of nodes.pp) niet erg overzichtelijk meer is.

Voor veel servers zijn er toch individuele settings nodig, je hebt bijvoorbeeld op elke webserver weer andere virtualhosts.

Dit ziet er dan bijvoorbeeld zo uit:

De ideale werkomgeving (voor mij dan)

Written by Ger Apeldoorn. Posted in Sysadmin

Een goede editor is onmisbaar bij het schrijven van welke code dan ook. Ik een hekel aan opgeblazen IDE’s waarmee ik veel tijd kwijt ben aan het browsen/zoeken door het menu, of de muis moet grijpen om dingen gedaan te krijgen.

Sublime Text 2

Sublime Text is een cross-platform editor die met kop en schouders boven alle andere uitsteekt. Er zijn erg goede plugins voor te vinden die echt helpen bij het schrijven van je Puppet code.