Puppet 5 – how new is that!


Have you heard? In July this year Puppet released its’ new software stack of the agent, server and db package to manage, control and orchestrate your IT infrastructure. Enough time has passed for us to test, upgrade and implement it in our environment. With this series we want to introduce some of the new features and inform you about the tasks you need to know or be aware of should you wish to upgrade.
Let us start with the basic changes in the new version. These are for example the switch from PSON to JSON encoding if the agent downloads his information, catalogues or metadata. This will help you to better integrate Puppet in your setup when it needs to communicate with other tools. You can also see an improved performance in handling facts and reports, especially when it matters to process larger quantities.
Another point to mention is the usage of the newer Ruby in version 2.4. Since version 4, Puppet ships all it needs in its’ packages, so you need to reinstall your manually added Puppet agent gems.
And the last point for today should be the version numbering of the new packages. Puppet focuses on keeping all major versions of agent, server and db in one counter and follows the Semantic Versioning as closely as possible. Which is one of the reason for the huge jump in the Puppet server version.
Stay tuned to learn more. And if you need further help or want to learn more about Puppet take a look at our products or training course .

Weekly Snap: DevOps Camp & Icinga 2 Workshop, PuppetDB & Foreman

weekly snap15 – 19 September was filled with sys admin tips and events – looking ahead to the OSMC, and back on the DevOps Camp and Icinga 2 Monitoring Redesigned workshop just past.
Eva started by counting 71 days to the OSMC with Rihards Olups’ talk on Zabbix and Marius G continued by sharing his impressions from the recent DevOps Camp 2014 in Nuremberg.
Meanwhile, Michael gave the lowdown on the Icinga 2 Monitoring Redesigned workshop just past as Markus explained how to make the most of Puppet’s ‘exported resources’ feature with PuppetDB and Foreman.
Finally, Georg introduced three water intrusion sensor systems from our hardware store.

Foreman und die PuppetDB

foreman_small
Ein schönes, aber selten gewürdigtes Feature von Puppet sind wohl die sogenannten exported resources.
In einem Standard Setup mit Foreman funktionieren diese Resources jedoch nicht, ich möchte heute zeigen wie das zusammen mit der PuppetDB recht einfach umsetzbar ist.

Aber was tut das?

Mit exportierten Resourcen können Resourcen aus der einzelnen Node Konfiguration herausgehoben, und auf allen Nodes verwendet werden.
Hier ein kleines Beispiel, bzw. eigentlich das Standardbeispiel.

@@sshkey { $::fqdn:
  type         => rsa,
  key          => $::sshrsakey,
  host_aliases => [ $::hostname, $::ipaddress ],
}

Die Resource SSH-Key kümmert sich hierbei darum, den Key auf Basis eines Facts in die Datei /etc/ssh/ssh_known_hosts einzupflegen.
Grundsätzlich würde die Resource aber nur für den gleichen Node gültig sein, dies ändert das Prefix “@@” vor dem Resourcentyp, er macht die Resource exportierbar.
Um die exportierten Resourcen nun auch zu benutzen muss noch folgender Puppetcode ergänzt werden:

Sshkey <<| |>>

Dieser Collector sorgt dafür dass die Resourcen dieses Typs verwendet werden.
Es gibt noch ein paar Tricks mit Tags um unterschiedliche Bereiche dieser Resourcen zu unterscheiden und aufzuteilen, hierzu empfehle ich die Dokumentation zu Tags und Kollektoren zu lesen.

Wie funktioniert die Speicherung?

(mehr …)

Markus Frosch
Markus Frosch
Principal Consultant

Markus arbeitet bei NETWAYS als Principal Consultant und unterstützt Kunden bei der Implementierung von Nagios, Icinga und anderen Open Source Systems Management Tools. Neben seiner beruflichen Tätigkeit ist Markus aktiver Mitarbeiter im Debian Projekt.

Reminder für das morgige Puppet Webinar

PuppetIch möchte noch einmal auf das morgige Webinar zum Thema Puppet: Aufbau einer Puppet Enterprise Umgebung hinweisen. Ziel soll es sein, einen groben Überblick über die Funktionsweise und Möglichkeiten zu geben, aber auch die Unterschiede zur Open Source Variante herauszustellen.
Natürlich werden wir, wie bisher auch, detailliert auf Fragen eingehen und einige Beispiele demonstrieren, die in der Open Source Variante genauso hilfreich sein können.
Wer sich registrieren möchte, hat über unsere Webinarseite jetzt noch die Gelegenheit.
Bis morgen!

Christian Stein
Christian Stein
Lead Senior Account Manager

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Senior Sales Engineer und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".