Hello, nous allons voir dans cet article comment installer & configurer Rundeck sous Rocky Linux. Rundeck est un ordonnanceur open-source permettant l’automatisation des tâches Windows/Linux.
Ce qu’il vous faut :
- VM Rocky Linux : installation-rocky-linux-step-by-step/
- Une VM sous Windows Server 2016/2019 (prochain chapitre)
- Une VM sous Linux Server (prochain chapitre)
Ressources Rundeck :
- Documentation : docs.rundeck.com/docs/
- Plugins Rundeck : github.com/rundeck
- Rundeck API :docs.rundeck.com/docs/api/rundeck-api.html
Configuration requise :
OS | Database | Composants |
Red Hat Enterprise Linux Oracle Linux Ubuntu Windows Server | Mysql Mariadb Postgres Oracle | Java 8 ou 11 |
Plus d’info : install/system-requirements
Installation des Prérequis
Mettez à jour votre serveur :
[root@vm-rundeck ~]# yum update -y
Installer JAVA 8.
[root@vm-rundeck ~]# yum install java-1.8.0-openjdk
[root@vm-rundeck ~]# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)
[root@vm-rundeck ~]#
Installation de PostgreSQL-13
Lister les modules PostgreSQL :
[root@vm-rundeck ~]# dnf module list postgresql
La version 10 est activée par défaut.
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
postgresql 9.6 client, server [d] PostgreSQL server and client module
postgresql 10 [d] client, server [d] PostgreSQL server and client module
postgresql 12 client, server [d] PostgreSQL server and client module
postgresql 13 client, server [d] PostgreSQL server and client module
Activer la version 13 :
[root@vm-rundeck ~]# dnf module enable postgresql:13
Dernière vérification de l’expiration des métadonnées effectuée il y a 9:58:58 le ven. 13 août 2021 05:23:04 EDT.
Dépendances résolues.
================================================================================================================
Paquet Architecture Version Dépôt Taille
================================================================================================================
Activation des flux de modules:
postgresql 13
Résumé de la transaction
================================================================================================================
Voulez-vous continuer ? [o/N] : o
Terminé !
[root@vm-rundeck ~]#
Installer PostgreSQL :
[root@vm-rundeck ~]# dnf install postgresql-server
Dernière vérification de l’expiration des métadonnées effectuée il y a 10:00:32 le ven. 13 août 2021 05:23:04 EDT.
Dépendances résolues.
=================================================================================================================
Paquet Architecture Version Dépôt Taille
=================================================================================================================
Installation:
postgresql-server x86_64 13.3-1.module+el8.4.0+546+3620623e appstream 5.6 M
Installation des dépendances:
libpq x86_64 13.3-1.el8_4 appstream 196 k
postgresql x86_64 13.3-1.module+el8.4.0+546+3620623e appstream 1.5 M
Résumé de la transaction
=================================================================================================================
Installer 3 Paquets
Taille totale des téléchargements : 7.4 M
Taille des paquets installés : 29 M
Voulez-vous continuer ? [o/N] : o
Initialiser la base de données :
[root@vm-rundeck ~]# postgresql-setup --initdb
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
[root@vm-rundeck ~]#
Editer le fichier pg_hba.conf :
[root@vm-rundeck ~]# nano /var/lib/pgsql/data/pg_hba.conf
Modifier comme ci-dessous :
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust host all all 192.168.1.75/24 trust # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 ident host replication all ::1/128 ident [root@vm-rundeck ~]#
192.168.1.75 = est l’adresse IP du serveur vm-rundeck.
Démarrer et activer la base de données :
[root@vm-rundeck ~]# systemctl start postgresql [root@vm-rundeck ~]# systemctl enable postgresql Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. [root@vm-rundeck ~]#
[root@vm-rundeck ~]# systemctl status postgresql ● postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2021-08-13 15:28:16 EDT; 14s ago Main PID: 62655 (postmaster) Tasks: 8 (limit: 11091) Memory: 16.9M CGroup: /system.slice/postgresql.service ├─62655 /usr/bin/postmaster -D /var/lib/pgsql/data ├─62656 postgres: logger ├─62658 postgres: checkpointer ├─62659 postgres: background writer ├─62660 postgres: walwriter ├─62661 postgres: autovacuum launcher ├─62662 postgres: stats collector └─62663 postgres: logical replication launcher ... ... [root@vm-rundeck ~]#
[root@vm-rundeck ~]# psql -V
psql (PostgreSQL) 13.3
[root@vm-rundeck ~]#
Nous allons ajouter un utilisateur et une base de données pour Rundeck.
Connectez-vous à la base de données :
[root@vm-rundeck ~]# su - postgres [postgres@vm-rundeck ~]$ [postgres@vm-rundeck ~]$ psql psql (13.3) Saisissez « help » pour l'aide. postgres=#
- Rundeck Database : rundeckdb
- Rundeck User : rundeck
- Rundeck User password : Rundeck123
postgres=# CREATE DATABASE rundeckdb; CREATE DATABASE postgres=# CREATE USER rundeck WITH ENCRYPTED PASSWORD 'Rundeck123'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE rundeckdb TO rundeck; GRANT postgres=# exit [postgres@vm-rundeck ~]$ exit déconnexion [root@vm-rundeck ~]#
Installation de Rundeck
Ajouter la repo de Rundeck :
[root@vm-rundeck ~]# nano /etc/yum.repos.d/rundeck.repo
Ajoutez-y (copier/coller) :
[rundeck] name=rundeck baseurl=https://packages.rundeck.com/pagerduty/rundeck/rpm_any/rpm_any/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packages.rundeck.com/pagerduty/rundeck/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
Mettez à jour :
[root@vm-rundeck ~]# yum update rundeck 274 B/s | 833 B 00:03 rundeck 4.8 kB/s | 3.9 kB 00:00 Import de la clef GPG 0x7C5C34C0 : Utilisateur : « https://packagecloud.io/pagerduty/rundeck (https://packagecloud.io/docs#gpg_signing) <support@packagecloud.io> » Empreinte : 0DDD 2FA7 9B15 D736 ECEA 32B8 9B52 0616 7C5C 34C0 Provenance : https://packages.rundeck.com/pagerduty/rundeck/gpgkey Voulez-vous continuer ? [o/N] : o rundeck 502 kB/s | 2.7 MB 00:05 Dernière vérification de l’expiration des métadonnées effectuée il y a 0:00:03 le ven. 13 août 2021 15:49:29 EDT. Dépendances résolues. Rien à faire. Terminé ! [root@vm-rundeck ~]#
Installer Rundeck :
[root@vm-rundeck ~]# yum install rundeck
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:00:28 le ven. 13 août 2021 15:50:32 EDT.
Dépendances résolues.
=================================================================================================================
Paquet Architecture Version Dépôt Taille
=================================================================================================================
Installation:
rundeck noarch 3.4.2.20210803-1 rundeck 175 M
Résumé de la transaction
=================================================================================================================
Installer 1 Paquet
Taille totale des téléchargements : 175 M
Taille des paquets installés : 189 M
Voulez-vous continuer ? [o/N] : o
Téléchargement des paquets :
rundeck-3.4.2.20210803-1.noarch.rpm 1.8 MB/s | 175 MB 01:37
-----------------------------------------------------------------------------------------------------------------
Total 1.8 MB/s | 175 MB 01:37
Test de la transaction
La vérification de la transaction a réussi.
Lancement de la transaction de test
Transaction de test réussie.
Exécution de la transaction
Exécution du scriptlet: rundeck-3.4.2.20210803-1.noarch 1/1
Préparation : 1/1
Exécution du scriptlet: rundeck-3.4.2.20210803-1.noarch 1/1
Installation : rundeck-3.4.2.20210803-1.noarch 1/1
Exécution du scriptlet: rundeck-3.4.2.20210803-1.noarch 1/1
Vérification de : rundeck-3.4.2.20210803-1.noarch 1/1
Installed products updated.
Installé:
rundeck-3.4.2.20210803-1.noarch
Terminé !
[root@vm-rundeck ~]#
Configuration de Rundeck
Nous allons configurer Rundeck pour utiliser la base de données PostgreSQL.
Editer le fichier suivant :
[root@vm-rundeck ~]# nano /etc/rundeck/rundeck-config.properties
Modifier comme ci-dessous :
# change hostname here grails.serverURL=http://localhost:4440 dataSource.dbCreate = update # dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true dataSource.driverClassName = org.postgresql.Driver dataSource.url = jdbc:postgresql://localhost:5432/rundeckdb dataSource.username = rundeck dataSource.password = Rundeck@123
Démarrer Rundeck :
[root@vm-rundeck ~]# systemctl enable rundeckd rundeckd.service is not a native service, redirecting to systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable rundeckd [root@vm-rundeck ~]# [root@vm-rundeck ~]# systemctl start rundeckd [root@vm-rundeck ~]# [root@vm-rundeck ~]# systemctl status rundeckd ● rundeckd.service - SYSV: rundeckd, providing rundeckd Loaded: loaded (/etc/rc.d/init.d/rundeckd; generated) Active: active (running) since Fri 2021-08-13 15:55:15 EDT; 6s ago Docs: man:systemd-sysv-generator(8) Process: 63627 ExecStart=/etc/rc.d/init.d/rundeckd start (code=exited, status=0/SUCCESS) Main PID: 63637 (runuser) Tasks: 0 (limit: 11091) Memory: 1.7M CGroup: /system.slice/rundeckd.service
En cas de problème de démarrage, le fichier debug est ici :
[root@vm-rundeck ~]# tail -f /var/log/rundeck/service.log
Si tout est Ok, vous avez le message ci-dessous à la fin du fichier :
...
...
[2021-08-13T17:33:51,622] INFO rundeckapp.BootStrap - Rundeck startup finished in 1955ms
[2021-08-13T17:33:52,018] INFO rundeckapp.Application - Started Application in 68.486 seconds (JVM running for 73.154)
Grails application running at http://localhost:4440 in environment: production
Aller à l’URL indiqué dans le log et connectez-vous à Rundeck.
- Utilisateur : admin
- Password : admin
C’est terminé.
Si vous aimez les stickers, le lien est à droite 🙂
Vous pouvez personnaliser l’URL via le même fichier de configuration (n’oublier pas d’ajouter l’hôte à votre serveur DNS).
Nous verrons dans le prochain chapitre comment utiliser Rundeck avec Windows Server et Linux.
Bonne journée et à bientôt.