Aller au contenu

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 :

EnvironnementCas d’usageGuide
Proxmox VELab on-premise, homelabGuide Proxmox
Cloud publicAWS, GCP, Azure, Outscale…Créez 3 VMs (1 serveur + 2 nodes)
Poste localVirtualBox, VMware Workstation3 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

Création de l’environnement de test

Pour ce guide, nous allons créer 3 machines virtuelles dans Proxmox :

VMRôleOSRAMCPU
rudder-serverServeur RudderUbuntu 24.042 Go2 vCPU
node1Agent à gérerUbuntu 24.041 Go1 vCPU
node2Agent à gérerRocky Linux 91 Go1 vCPU

Création des VMs dans Proxmox

  1. 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
  2. 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)
  3. 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 node1 et Rocky Linux 9 pour node2 (pour tester la compatibilité entre familles Debian et Red Hat).

  4. Installez les OS

    Démarrez chaque VM et suivez l’installation standard. Notez les adresses IP attribuées (ou configurez des IPs statiques).

  5. Configurez la résolution DNS

    Sur chaque machine, ajoutez les entrées dans /etc/hosts :

    Terminal window
    # Remplacez par vos IPs réelles
    echo "192.168.1.100 rudder-server" >> /etc/hosts
    echo "192.168.1.101 node1" >> /etc/hosts
    echo "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

Terminal window
sudo -i
# 1. Importer la clé GPG de Rudder
wget -qO /etc/apt/keyrings/rudder_apt_key.gpg \
"https://repository.rudder.io/apt/rudder_apt_key.gpg"
# 2. Ajouter le dépôt (remplacez 'jammy' par votre distribution)
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 installer
apt update
apt install -y rudder-server
# 4. Créer le compte administrateur
rudder server create-user -u admin
# Entrez le mot de passe deux fois

Vérification :

Terminal window
# Vérifier que les services tournent
systemctl status rudder-jetty
systemctl status rudder-slapd
systemctl status postgresql
# Accéder à l'interface
curl -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 :

  1. Allez dans Settings → General → Allowed Networks
  2. Ajoutez les plages IP de vos nodes (ex: 192.168.1.0/24)
  3. Sauvegardez

Installation des agents

Sur chaque machine à gérer :

Terminal window
# Installation via le script officiel (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.com

Vérification sur l’agent :

Terminal window
# Informations sur l'agent
rudder agent info
# Forcer l'envoi de l'inventaire
rudder agent inventory

Acceptation des nodes

Les nouveaux agents apparaissent en “Pending” et doivent être acceptés :

Via l’interface web :

  1. Allez dans Node Management → Pending Nodes
  2. Cochez les nodes à accepter
  3. Cliquez sur Accept

Acceptation des nodes dans l'interface Rudder

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.

Liste des nodes gérés dans Rudder

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 :

Terminal window
# Sur l'agent : vérifier la connectivité
curl -k https://<serveur>:443/
# Vérifier le fichier de configuration
cat /var/rudder/cfengine-community/policy_server.dat
# Vérifier les logs
journalctl -u rudder-agent -f
# Forcer l'inventaire
rudder agent inventory -v

Causes fréquentes :

  • Pare-feu bloquant le port 443
  • Résolution DNS incorrecte du serveur
  • Certificat SSL non accepté

Le serveur ne démarre pas

Terminal window
# Vérifier les services
systemctl status rudder-jetty
systemctl status postgresql
systemctl status rudder-slapd
# Consulter les logs
journalctl -u rudder-jetty -n 100
tail -f /var/log/rudder/webapp/webapp.log
# Vérifier la mémoire
free -h
# **Rudder** a besoin d'au moins 2 Go de RAM

Les politiques ne s’appliquent pas

Terminal window
# Sur le serveur : régénérer les politiques
rudder server regenerate-policies
# Sur l'agent : forcer l'exécution
rudder agent run -v
# Vérifier la date de dernière mise à jour
rudder 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 :

Terminal window
# Éditer /etc/default/rudder-jetty
JAVA_XMX=4096 # 4 Go pour ~500 nodes

Sauvegardes

Les données critiques à sauvegarder :

  • /var/rudder/ — Configurations et inventaires
  • Base PostgreSQL — pg_dump rudder
  • /opt/rudder/etc/ — Configuration du serveur

À retenir

  1. Deux méthodes d’installation : Proxmox pour tester, installation manuelle pour la production
  2. Version actuelle : 9.0 (vérifiez docs.rudder.io pour la dernière version)
  3. Port par défaut : 443 (HTTPS) pour la communication serveur-agents
  4. Création d’utilisateur obligatoire après installation du serveur (rudder server create-user)
  5. Acceptation des nodes nécessaire avant de pouvoir les configurer
  6. CLI puissante pour automatiser les tâches administratives

Liens utiles