Installer Rudder 9.0 : serveur et agents
Mise à jour :

Ce guide vous accompagne dans l’installation de Rudder, que ce soit pour un environnement de test local ou pour une mise en production. Nous verrons les deux approches : l’installation rapide avec Vagrant pour découvrir l’outil, et l’installation manuelle pour un déploiement réel.
Prérequis
Pour un environnement de test (recommandé pour débuter)
Si vous voulez simplement découvrir Rudder sans impacter votre infrastructure, vous avez besoin d’un environnement de virtualisation pour créer quelques machines.
Plusieurs options s’offrent à vous :
| Environnement | Cas d’usage | Guide |
|---|---|---|
| Proxmox VE | Lab on-premise, homelab | Guide Proxmox |
| Cloud public | AWS, GCP, Azure, Outscale… | Créez 3 VMs (1 serveur + 2 nodes) |
| Poste local | VirtualBox, VMware Workstation | 3 VMs manuelles |
Dans ce guide, nous utiliserons Proxmox VE — une solution de virtualisation open-source très répandue dans les environnements DevOps et les homelabs.
Ressources nécessaires (3 VMs) :
- RAM : 4 Go minimum (2 Go pour le serveur + 1 Go par node)
- Disque : 20 Go par VM
- Réseau : Les VMs doivent pouvoir communiquer entre elles
Pour une installation en production
Serveur Rudder :
- OS supportés : Debian 11/12, Ubuntu 22.04/24.04 LTS, RHEL 8/9 et dérivés
- RAM : 4 Go minimum, 8 Go recommandés pour 100+ nodes
- CPU : 2 vCPU minimum
- Disque : 50 Go minimum sur
/var(les données Rudder peuvent grossir rapidement) - Réseau : Port 443 (HTTPS) ouvert pour les agents
Agents Rudder :
- OS supportés : Debian, Ubuntu, RHEL/CentOS/Rocky, SLES, Alpine, Windows Server
- RAM : 50 Mo (l’agent est très léger)
- Réseau : Accès HTTPS au serveur Rudder
Flux réseau et pare-feu
Configurez vos pare-feux pour autoriser ces flux :
| Source | Destination | Port | Usage |
|---|---|---|---|
| Utilisateur / API | Serveur | tcp/443 | Interface web, API |
| Node | Serveur/Relay | tcp/443 | Rapports, inventaires, fichiers |
| Node Linux | Serveur/Relay | tcp/5309 | Récupération des politiques |
| Node Windows | Serveur/Relay | tcp/443 | Récupération des politiques |
| Serveur/Relay | Node Linux | tcp/5309 | Déclenchement distant de l’agent (optionnel) |
Création de l’environnement de test
Pour ce guide, nous allons créer 3 machines virtuelles dans Proxmox :
| VM | Rôle | OS | RAM | CPU |
|---|---|---|---|---|
rudder-server | Serveur Rudder | Ubuntu 24.04 | 2 Go | 2 vCPU |
node1 | Agent à gérer | Ubuntu 24.04 | 1 Go | 1 vCPU |
node2 | Agent à gérer | Rocky Linux 9 | 1 Go | 1 vCPU |
Création des VMs dans Proxmox
-
Téléchargez les images ISO
Dans Proxmox, allez dans local (storage) → ISO Images → Download from URL :
- Ubuntu 24.04 Server :
https://releases.ubuntu.com/24.04/ubuntu-24.04.3-live-server-amd64.iso - Rocky Linux 9 :
https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9-latest-x86_64-minimal.iso
- Ubuntu 24.04 Server :
-
Créez la VM serveur (
rudder-server)- Create VM → Donnez-lui l’ID 100 et le nom
rudder-server - OS : Sélectionnez l’ISO Ubuntu 24.04
- System : BIOS par défaut, SCSI Controller VirtIO
- Disks : 20 Go minimum
- CPU : 2 cores
- Memory : 2048 Mo
- Network : Bridge
vmbr0(ou votre bridge habituel)
- Create VM → Donnez-lui l’ID 100 et le nom
-
Créez les VMs nodes (
node1,node2)Répétez l’opération avec 1 Go de RAM et 1 vCPU pour chaque node. Utilisez Ubuntu 24.04 pour
node1et Rocky Linux 9 pournode2(pour tester la compatibilité entre familles Debian et Red Hat). -
Installez les OS
Démarrez chaque VM et suivez l’installation standard. Notez les adresses IP attribuées (ou configurez des IPs statiques).
-
Configurez la résolution DNS
Sur chaque machine, ajoutez les entrées dans
/etc/hosts:Terminal window # Remplacez par vos IPs réellesecho "192.168.1.100 rudder-server" >> /etc/hostsecho "192.168.1.101 node1" >> /etc/hostsecho "192.168.1.102 node2" >> /etc/hosts
Installation manuelle en production
Pour un déploiement réel, suivez ces étapes sur vos serveurs.
Installation du serveur Rudder
sudo -i# 1. Importer la clé GPG de Rudderwget -qO /etc/apt/keyrings/rudder_apt_key.gpg \ "https://repository.rudder.io/apt/rudder_apt_key.gpg"
# 2. Ajouter le dépôt# Codenames : bookworm (Debian 12), trixie (Debian 13), noble (Ubuntu 24.04)echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/rudder_apt_key.gpg] \ http://repository.rudder.io/apt/9.0/ $(lsb_release -cs) main" \ > /etc/apt/sources.list.d/rudder.list
# 3. Mettre à jour et installerapt updateapt install -y rudder-server
# 4. Créer le compte administrateurrudder server create-user -u adminsudo -i# 1. Importer la clé GPGrpm --import https://repository.rudder.io/rudder_release_key.pub
# 2. Ajouter le dépôt# $releasever sera remplacé automatiquement (8 ou 9)cat > /etc/yum.repos.d/rudder.repo << 'EOF'[Rudder_9.0]name=Rudder 9.0baseurl=http://repository.rudder.io/rpm/9.0/RHEL_$releasever/gpgcheck=1gpgkey=https://repository.rudder.io/rudder_release_key.pubEOF
# 3. Installer le serveurdnf install -y rudder-server
# 4. Ouvrir le pare-feufirewall-cmd --permanent --zone=public --add-port=443/tcpfirewall-cmd --reload
# 5. Créer le compte administrateurrudder server create-user -u adminVérification :
# Vérifier que les services tournentsystemctl status rudder-jettysystemctl status rudder-slapdsystemctl status postgresql
# Accéder à l'interfacecurl -k https://localhost/rudder/Configuration réseau post-installation
Ouvrez votre navigateur et connectez-vous à l’interface web de Rudder :
https://<IP_SERVEUR>/rudder/
Après l’installation, configurez les réseaux autorisés pour les agents :
- Allez dans Settings → General → Allowed Networks
- Ajoutez les plages IP de vos nodes (ex:
192.168.1.0/24) - Sauvegardez
Installation des agents
Rudder propose deux dépôts pour les agents :
| Dépôt | URL | Accès | Distributions |
|---|---|---|---|
| Communautaire | repository.rudder.io | Gratuit | Debian 11/12/13, Ubuntu 24.04, RHEL 8/9, Amazon Linux 2023 |
| Souscription | download.rudder.io | Payant | Support LTS + Ubuntu 20.04/22.04, Amazon Linux 1/2 |
Sur chaque machine à gérer :
Pour Debian 11/12/13, Ubuntu 24.04, RHEL 8/9, Amazon Linux 2023 :
# Installation via le script officiel (le plus simple)curl https://repository.rudder.io/tools/rudder-setup | \ bash -s setup-agent 9.0 <SERVEUR_RUDDER>
# Remplacez <SERVEUR_RUDDER> par l'IP ou le FQDN de votre serveur# Exemple : bash -s setup-agent 9.0 rudder.example.comPour Ubuntu 20.04/22.04 ou pour le support LTS :
sudo -i# 1. Importer la clé GPGwget -qO /etc/apt/keyrings/rudder_apt_key.gpg \ "https://repository.rudder.io/apt/rudder_apt_key.gpg"
# 2. Configurer le dépôt avec souscriptionecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/rudder_apt_key.gpg] \ https://download.rudder.io/apt/9.0/ $(lsb_release -cs) main" \ > /etc/apt/sources.list.d/rudder.list
# 3. Configurer les identifiantsecho 'machine download.rudder.io login LOGIN password PASSWORD' \ > /etc/apt/auth.conf.d/rudder.confchmod 640 /etc/apt/auth.conf.d/rudder.conf
# 4. Installer l'agentapt updateapt install -y rudder-agent
# 5. Configurer le serveur Rudderrudder agent policy-server <SERVEUR_RUDDER>
# 6. Envoyer l'inventairerudder agent inventoryPour le support LTS ou Amazon Linux 1/2 :
sudo -i# 1. Importer la clé GPGrpm --import https://repository.rudder.io/rudder_release_key.pub
# 2. Ajouter le dépôt avec souscriptioncat > /etc/yum.repos.d/rudder.repo << 'EOF'[Rudder_9.0]name=Rudder 9.0username=LOGINpassword=PASSWORDbaseurl=http://download.rudder.io/rpm/9.0/RHEL_$releasever/gpgcheck=1gpgkey=https://download.rudder.io/rudder_release_key.pubEOF
# 3. Installer l'agentdnf install -y rudder-agent
# 4. Configurer le serveur Rudderrudder agent policy-server <SERVEUR_RUDDER>
# 5. Envoyer l'inventairerudder agent inventoryVérification sur l’agent :
# Informations sur l'agentrudder agent info
# Forcer l'envoi de l'inventairerudder agent inventoryAcceptation des nodes
Les nouveaux agents apparaissent en “Pending” et doivent être acceptés :
Via l’interface web :
- Allez dans Node Management → Pending Nodes
- Cochez les nodes à accepter
- Cliquez sur Accept

Faites cela pour chaque node installé.
Gestion des nodes
Une fois acceptés, les nodes apparaissent dans la liste des nodes gérés. Vous pouvez maintenant surveiller leur état.

Nous verrons la gestion des politiques dans un prochain guide.
Dépannage
L’agent ne se connecte pas au serveur
Symptôme : L’agent n’apparaît pas dans les “Pending Nodes”.
Vérifications :
# Sur l'agent : vérifier la connectivitécurl -k https://<serveur>:443/
# Vérifier le fichier de configurationcat /var/rudder/cfengine-community/policy_server.dat
# Vérifier les logsjournalctl -u rudder-agent -f
# Forcer l'inventairerudder agent inventory -vCauses fréquentes :
- Pare-feu bloquant le port 443
- Résolution DNS incorrecte du serveur
- Certificat SSL non accepté
Le serveur ne peut pas déclencher l’agent à distance
Symptôme : error: Failed to connect to host: node2.example.com
Cette erreur apparaît quand le serveur tente un « remote run » mais ne peut pas joindre le node sur le port 5309.
Vérifications :
# Depuis le serveur : tester la connectivité au nodenc -zv node2.example.com 5309
# Vérifier la résolution DNSping node2.example.comSolutions :
# Option 1 : Ouvrir le port 5309 sur le node (firewalld)sudo firewall-cmd --permanent --add-port=5309/tcpsudo firewall-cmd --reload
# Option 1 : Ouvrir le port 5309 sur le node (ufw)sudo ufw allow from <IP_SERVEUR_RUDDER> to any port 5309 proto tcp
# Option 2 : Désactiver le remote run sur le node (si non nécessaire)sudo systemctl disable rudder-cf-serverdsudo systemctl stop rudder-cf-serverdsudo systemctl restart rudder-agentLe serveur ne démarre pas
# Vérifier les servicessystemctl status rudder-jettysystemctl status postgresqlsystemctl status rudder-slapd
# Consulter les logsjournalctl -u rudder-jetty -n 100tail -f /var/log/rudder/webapp/webapp.log
# Vérifier la mémoirefree -h# **Rudder** a besoin d'au moins 2 Go de RAMLes politiques ne s’appliquent pas
# Sur le serveur : régénérer les politiquesrudder server regenerate-policies
# Sur l'agent : forcer l'exécutionrudder agent run -v
# Vérifier la date de dernière mise à jourrudder agent info | grep "Policy updated"Optimisation pour la production
Partitionnement recommandé
Pour éviter que Rudder ne remplisse /var :
/var/rudder → 20 Go minimum (politiques, inventaires)/var/lib/postgresql → 30 Go minimum (base de données)/var/log/rudder → 10 Go (logs)Tuning mémoire
Pour un serveur gérant plus de 100 nodes, augmentez la mémoire JVM :
# Éditer /etc/default/rudder-jettyJAVA_XMX=4096 # 4 Go pour ~500 nodesSauvegardes
Les données critiques à sauvegarder :
/var/rudder/— Configurations et inventaires- Base PostgreSQL —
pg_dump rudder /opt/rudder/etc/— Configuration du serveur
Chemins importants à connaître
Sur le serveur :
/var/rudder/configuration-repository— Dépôt Git des politiques (versionné !)/var/log/rudder/webapp/YYYY_MM_DD.stderrout.log— Logs de l’application web/var/log/rudder/compliance/non-compliant-reports— Rapports de non-conformité
Sur les nodes :
/opt/rudder/etc/policy_server.dat— Adresse du serveur Rudder/var/rudder/local/properties.d/*.json— Override local des propriétés
À retenir
- Deux méthodes d’installation : Proxmox pour tester, installation manuelle pour la production
- Version actuelle : 9.0 (vérifiez docs.rudder.io ↗ pour la dernière version)
- Port par défaut : 443 (HTTPS) pour la communication serveur-agents
- Création d’utilisateur obligatoire après installation du serveur (
rudder server create-user) - Acceptation des nodes nécessaire avant de pouvoir les configurer
- CLI puissante pour automatiser les tâches administratives