Omschrijving
Rundek is een job schedular en kan worden gebruikt om bijv. binnen een TAP omgeving jobs te starten / schedulen zoals bijv. een yum update. Voordeel van Rundeck is dat het eenWebGUI heeft waardoor het aanmaken, wijzigen en schedulen van jobs eenvoudig is. De jobs worden onderhuids middels SSH naar een node (=server) uitgevoerd.
In deze uitleg wordt uitgegaan van een CentOS 7 server.
Installatie
Rundeck is een Java applicatie en heeft dus een Java omgeving nodig, deze kan worden geinstalleerd met:
yum install java-1.7.0-
Om Rundeck middels yum te kunnen installeren en updaten moet in /etc/yum.repos.d een repo worden aangemaakt, deze kan worden gedownload / geinstalleerd middels:
rpm -Uvh http://repo.rundeck.org/latest.rpm
yum install rundeck
Om Rundeck na een reboot v/d server automatisch te laten starten:
systemctl enable rundeckd
Configuratie
firewall
De Rundeck applicatie draait op de linux server mgt-03-p op port 4440 en is te bereiken via http://{hostname}:4400 Hiervoor dient de firewall te worden opengezet:
firewall-cmd --zone=public --add-port=4440/tcp --permanent
gevolgd door:
firewall-cmd --reload
starten en stoppen
De Rundeck applicatie is een Java applicatie en kan worden gestart / gestopt met
systemctl start|stop rundeskd
Hou er wel rekening mee dat het even kan duren na een stop / start dat alle applicatie-onderdelen ook daadwerkelijk gestopt of gestart zijn.
authenticatie
Standaard kan worden ingelogd met username admin en password admin. Rundeck kan ook authenticeren tegen LDAP/Active Directory
nodes toevoegen
Na de installatie is alleen localhost zichtbaar als node. Om nodes toe te voegen wordt eerst een project aangemaakt, bijvoorbeeld EXAMPLE_T met als omschrijving "test omgeving" Na het aanmaken van een project zal in '''/var/rundeck/projects/{PROJECTNAAM}/etchet bestand recourses.xml worden aangemaakt met de standaard inhoud:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<node name="rundeck.example.com" description="Rundeck server node" tags="" hostname="rundeck.example.com" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-327.10.1.el7.x86_64" username="rundeck"/>
</project>
configuratie nodes
De jobs die in Rundeck worden aangemaakt worden met het rundeck useraccount middels ssh uitgevoerd op de betreffende node(s). Hiervoor moet op elke node de group / user rundeck worden aangemaakt en de publieke ssh key van de user rundeck op de rundeck server worden geplaatst in de rundeck user authorized_keys file in /home/rundeck/.ssh
groupadd rundeck useradd -g rundeck rundeck
Log als root in op een te configureren node en wordt de user rundeck: su – rundeck maak als user rundeck de directory .ssh aan:
mkdir .ssh
De public key staat op de rundeck server in /var/lib/rundeck/.ssh/id_rsa.pub, copyeer de inhoud van deze key (bijv. door copy-paste tussen 2 terminal schermen) naar de betreffende node in /home/rundeck/.ssh/authorized_keys
Zorg dat de rechten goed staan: chmod 640 /home/rundeck/.ssh/authorzed_keys
Controleer of rundeck nu zonder problemen in kan loggen door op de rundeck server de user rundeck te worden (su - rundeck
) en met ssh naar de geconfigureerde node een verbinding te maken.
Daarnaast moet de user rundeck rechten krijgen om jobs uit te kunnen voeren, voeg hiervoor de twee onderstaande regels toe aan /etc/sudoers
Defaults:rundeck !requiretty rundeck ALL=(ALL) NOPASSWD: ALL
Nu krijgt de rundeck user alle rechten, beter is het om na een testperiode de rundeck user alleen rechten te geven op die programma's die nodig zijn.