Hiera ist ein Werkzeug zur Trennung von Daten und Konfigurationen in Puppet-Modulen. Puppet-Module können damit allgemeingültig geschrieben werden.

Die zentrale Verwaltung von Konfigurationsdateien ist derzeit eines der spannendsten Themen in der IT. Sie ist elementarer Bestandteil eines jeden Projektes zur Automatisierung im Rechenzentrum. Das wohl wichtigste Werkzeug für die zentrale Verwaltung von Konfigurationsdateien ist Puppet. Puppet bietet eine Vielzahl von Möglichkeiten und lässt sich darüber hinaus leicht um weitere Funktionalitäten erweitern.

Mit Hiera steht ein Werkzeug zur Verfügung, durch das sich Daten und Konfigurationen in Puppet-Modulen voneinander trennen lassen. So können Puppet-Module allgemeingültig erstellt werden, die spezifischen Daten für den Einsatz der Module werden über Hiera bereitgestellt.

Hiera verwendet Variablen, deren Werte anhand von Unterscheidungskriterien verschieden gesetzt werden können. Das Unterscheidungskriterium kann beispielsweise das installierte Betriebssystem sein (z.B. über die Facter-Variable $operatingsystem).

Wird diese Facter-Variable verwendet, so wird beim Aufruf von Hiera nach den zu verwendenden Werten gesucht. Sind diese für Red Hat Enterprise Linux und SUSE Linux Enterprise Server verschieden, gibt Hiera den jeweiligen Wert an Puppet zurück und dieser Wert wird beim Lauf von Puppet verwendet.

Als Beispiel soll die Installation von Paketen für den Dienst sshd dienen. Im Fall von SUSE Linux Enterprise Server wird ein Paket benötigt (openssh), im Fall von Red Hat Enterprise Linux werden drei Pakete (openssh, openssh-server, openssh-clients) benötigt.

Es soll eine Variable mit dem Namen ssh_packages in der Puppet-Konfiguration verwendet werden, um die zu installierenden Pakete zu definieren:

code-Elementpackage
{ $ssh_packages:
  ensure => present,}

Um diese Variable mit unterschiedlichen Werten für verschiedene Betriebssysteme zu belegen, erfolgt ein Aufruf von Hiera:

$ssh_packages = hiera('ssh_pakete')

Mit dieser Anweisung sucht Hiera in seinen Konfigurationsdateien nach einem Eintrag mit dem Namen ssh_pakete. Wird dieser Eintrag gefunden, wird der dafür hinterlegte Wert (also in diesem Fall die Namen der zu installierenden Pakete) in die Variable des Puppet-Moduls übertragen.

Sie möchten mehr zu den Themen Puppet und Hiera erfahren? Fragen Sie die Puppet-Experten der ATIX AG. Sie erreichen uns unter Telefon +49 89 4523538-0 und unter .

Kommentieren

Sie können einen Kommentar abgeben, indem Sie das untenstehende Formular ausfüllen. Nur Text. Kommentare werden moderiert.