Trotz des Siegeszugs der Cloud ist die Infrastruktur eines Unternehmensnetzwerks noch immer physisch. Und auch das Rechenzentrum mit viel Blech und Kabeln ... (mehr)

Jobs konfigurieren

Die Nodes, auf denen Rundeck Jobs ausführt, legen Sie in einer Datei auf dem Server an. Eine Vorlage erzeugen Sie, indem Sie im oberen Menü des Webinterface auf "Nodes" klicken und einmal nach vorhandenen Nodes suchen. Anschließend ist auf der Festplatte die Datei "/var/rundeck/projects/webserver/etc/resources.xml" zu finden, die Sie genauso gut aber auch von Hand anlegen können. Beim automatischen Anlegen ist auch "localhost", also der Rundeck-Server selbst, Teil der Node-Liste:

<node name="localhost" description="Rundeck server node" tags="" hostname="localhost" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.13.0-83-generic" username="rundeck"/>

Hier sehen Sie einige der möglichen Attribute der Nodes. Nötig sind wenigstens der "name" und der "hostname", wobei Letzterer auch eine IP-Adresse enhalten kann. Ein weiteres wichtiges Attribut ist "username", das später den User bestimmt, über den sich Rundeck per SSH auf dem Remote Host einloggt. Über das Attribut "ssh-key-storage-path" können Sie den vorher beschriebenen Key Storage Path auch für jeden Node konfigurieren.

Bild 2: Mit einem mitgelieferten Plug-in (ganz unten) lassen sich die verwendeten Keys und Passwörter auch verschlüsselt speichern.

Einen neuen Job legen Sie unter dem Jobs-Menü mit "Create a new Job" an. Alternativ laden Sie eine Job-Definition im XML-, JSON- oder YAML-Format über das Webinterface hoch. Neben einem Namen und einer Beschreibung fügen Sie wenigstens einen "Step" des Jobs hinzu. Dies können ein einzelner Befehl, ein Skript im Webinterface oder ein Skript auf dem Server sein. Auch andere Jobs lassen sich hier einbinden. Sie können auch bestimmen, was passieren soll, wenn der ausgeführte Schritt fehlschlägt: den ganzen Job abbrechen oder mit dem nächsten Schritt fortfahren. Als Ausführungsmodus wählen Sie zwischen "Dispatch to Nodes" und "Execute locally" aus. Im ersten Fall geben Sie noch einen "Node Filter" an, der bestimmt, auf welchen

Nodes der Step ablaufen soll. In diesem Webinterface gibt es noch zahlreiche weitere Optionen, etwa, um zu bestimmen, ob sich der Job zu einem bestimmten Zeitpunkt automatisch ausführen lässt und so weiter.

Sind Sie mit dem Anlegen des Jobs fertig, können Sie ihn auf den Rechnern ausführen. Dabei haben Sie die Wahl zwischen den beiden Log-Leveln "Normal" und "Debug". Nach der Ausführung gibt Rundeck die Erfolgsquote der konfigurierten Jobs aus, über die es im Lauf der Zeit auch Buch führt. Reports und Logfiles werden archiviert, aber lassen sich natürlich auch löschen. Die Definitionen der Jobs lassen sich in den angesprochenen Dateiformaten exportieren und wieder importieren. Benachrichtigungen über abgearbeitete Jobs kann Rundeck per E-Mail oder HipChat verschicken. Über sogenannte Webhooks lassen sich die Benachrichtigungen an die eigenen Wünsche anpassen und beispielsweise in andere webbasierte Systeme integrieren.

Tasks delegieren

Das Management der Berechtigungen und somit das Delegieren von Projekten oder Jobs findet nicht über das Webinterface statt, sondern über Konfigurationsdateien auf dem Rundeck-Server. Dazu dienen sogenannte Access Control Policies, die üblicherweise im YAML-Format abgefasst werden. Per Default sind im Verzeichnis "/etc/rundeck" bereits die beiden Policies "admin.aclpolicy" und "apitoken.aclpolicy" zu finden, die den Zugang des Admin-Accounts respektive der Web-API regeln.

Die Policies erlauben es, fein abgestufte Rechte zu vergeben, die sich auf den kompletten Rundeck-Server, User-Verwaltung, Storage, Projekte oder Jobs beziehen können. Dabei gibt es wiederum eine ganze Reihe von Aktionen, die Benutzer entweder ausführen dürfen oder die ihnen verweigert werden, etwa Lesen, Ändern, Löschen, Ausführen. Die Zuordnung von Policies zu Benutzern findet über die bereits erwähnte Datei "/etc/ rundeck/realm.properties" statt, in der die Gruppen aufgeführt werden, die in den ACL-Policies verwendet werden können. Neben der Dokumentation auf der Website ist auf Youtube auch ein Video des Rundeck-Autors zu finden, das ein Beispiel der ACL-Policy-Konfiguration zeigt [2].

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023