Foreman

Systèmes Linux : Foreman et Katello peuvent-ils remplacer Red Hat Satellite ?

Auteur : Yohan Bec-Chikli, Ingénieur SysOps
Yohan Bec-Chikli Ingénieur SysOps
9 mins
15 juillet 2025
Dans cet article :
  1. Qu’est-ce que Red Hat Satellite ?
  2. Foreman et Katello : les composants open source de Red Hat Satellite
  3. Tutoriel d'installation de Foreman avec son plugin Katello sur RHEL 8
  4. Bonnes pratiques et recommandations
  5. Conclusion : Foreman, une solution puissante mais à bien maîtriser

Qu’est-ce que Red Hat Satellite ?

Avant de vous parler de Foreman, laissez-moi vous introduire Red Hat Satellite.

Red Hat Satellite est une solution de gestion de système permettant de déployer, de configurer et de maintenir les systèmes dans des environnements physiques, virtuels et en cloud. Satellite permet le provisionnement, la gestion à distance et la surveillance des systèmes Red Hat Enterprise Linux (RHEL). Satellite Server synchronise le contenu du portail client Red Hat et d'autres sources, et fournit des fonctions pour la gestion du cycle de vie, le contrôle d'accès basé sur les rôles et la gestion des abonnements.

L'architecture Red Hat Satellite se compose de quatre éléments principaux qui définissent les étapes de la distribution du contenu depuis les sources d'origine jusqu'aux destinations de l'hôte géré :

Types de sources de contenu compatibles

Red Hat Satellite prend en charge plusieurs types de sources de contenu. À l'origine, Satellite a été conçu comme une réplique sur site du contenu sélectionné sur le portail client Red Hat, qui est la principale source de paquets logiciels, d'errata, d'images de conteneurs et de services de gestion des abonnements. Aujourd'hui, Satellite prend en charge des sources de contenu supplémentaires, telles que les dépôts Git, Docker Hub, Puppet Forge, les dépôts SCAP (Security Content Automation Protocol) et les dépôts privés pour les paquets et les images personnalisées d'une organisation.

Rôle et fonctionnalités du serveur Satellite

Le serveur Satellite est le composant central où vous gérez le cycle de vie du contenu. Un déploiement typique de Red Hat Satellite possède un serveur satellite central. Le serveur Satellite utilise une ou plusieurs organisations pour isoler la gestion du cycle de vie des groupes d'hôtes dans des domaines administratifs distincts. Le serveur satellite configure les serveurs Capsule et délègue la distribution du contenu, le provisionnement des hôtes et la communication aux serveurs Capsule, y compris un serveur Capsule intégré par défaut dans le serveur satellite central.

Vous pouvez administrer et configurer Red Hat Satellite en accédant uniquement au serveur Satellite. Le serveur Satellite inclut une API REST pour interfacer des scripts, des applications et des outils de gestion personnalisés, y compris les deux interfaces d'administration principales :

  • L'interface web du serveur Satellite : un outil basé sur le web pour maintenir toutes les fonctions de Red Hat Satellite.
  • Hammer : un outil de ligne de commande qui offre la parité avec la plupart des fonctions de l'interface web.

Fonctionnement des serveurs Capsule

Les serveurs Capsule reflètent le contenu du serveur Satellite pour permettre aux systèmes hôtes gérés d'extraire le contenu et la configuration des serveurs qui sont géographiquement plus proches que le serveur Satellite. Les serveurs Capsule fournissent également de multiples services, tels que le provisionnement et la gestion de la configuration, aux hôtes gérés qui leur sont assignés.

Gestion des hôtes Red Hat Satellite

Les hôtes gérés sont les systèmes gérés qui reçoivent le contenu distribué par des serveurs Capsule. Les hôtes peuvent être physiques ou virtuels. Le serveur satellite peut avoir directement des hôtes gérés, car le serveur satellite central exécute un serveur Capsule intégré. Un serveur Capsule distant est d'abord configuré en tant qu'hôte géré du serveur Satellite central, puis en tant que serveur Capsule.

Foreman et Katello : les composants open source de Red Hat Satellite

Si j’ai pris le temps de vous introduire Red Hat Satellite, c’est parce que ce dernier est composé de plusieurs projets open source qui sont intégrés et pris en charge en tant que Red Hat Satellite. La principale composante de Red Hat Satellite est Foreman.

Foreman est un projet open source qui aide les administrateurs système à gérer les serveurs tout au long de leur cycle de vie, de leur provisionnement et de leur configuration à l'orchestration et à la surveillance. La prise en charge du provisionnement vous permet de contrôler facilement l'installation de nouveaux serveurs et, grâce à la gestion de la configuration (Puppet, Ansible, Chef et Salt sont pris en charge), vous pouvez facilement automatiser les tâches répétitives. Avec Foreman, vous pouvez rapidement déployer des applications et gérer le changement de manière proactive, à la fois sur site avec des VM et du bare-metal, ou dans le cloud. Foreman s'adapte bien à plusieurs emplacements (bureaux, centres de données, etc.) et à plusieurs organisations, ce qui vous permet de croître sans perdre votre source unique de confiance en matière d'infrastructure.

Mais ce qui va nous servir pour la gestion des abonnements et des référentiels, c’est son plug-in Katello.

Katello s’intègre en tant qu'extension pour la gestion des dépôts, des paquets, et des souscriptions et fournit des méthodes pour s'abonner aux référentiels Red Hat et pour télécharger du contenu. Les versions du contenu peuvent être appliquées à des hôtes spécifiques pour correspondre à leur stade dans le cycle de vie d'une application.

Ce dernier est composé de deux services :

  • Pulp qui permet de synchroniser, répliquer, et dédupliquer des dépôts (RPM, DEB, Puppet, ISO…) et qui supporte l’importation d’errata (sécurité, corrections de bugs, CVE).
  • Candlepin qui gère les souscriptions RH/SUSE et qui contrôle l’accès aux dépôts pour les hôtes.

Tutoriel d'installation de Foreman avec son plugin Katello sur RHEL 8

Prérequis système

  • Système d'exploitation : Red Hat Enterprise Linux 8.10 (x86_64)
  • Mémoire vive : 32GB
  • Stockage : 500GB
    • /var/lib/pulp : ~300 Go (pour la gestion des contenus)
    • /var/lib/pgsql : ~20 Go (base de données PostgreSQL)
  • Nom d'hôte : Doit être un FQDN résolu en DNS (ex. foreman.synapsys.fr)
  • Accès root : Nécessaire
  • Horloge système synchronisée : chronyd
  • SELinux : Activé (mode enforcing ou permissive)

Configuration des dépôts

Nettoyage des métadonnées

dnf clean all

Installation des dépôts nécessaires

dnf install -y https://yum.theforeman.org/releases/3.12/el8/x86_64/foreman-release.rpm
dnf install -y https://yum.theforeman.org/katello/4.14/katello/el8/x86_64/katello-repos-latest.rpm
dnf install -y https://yum.puppet.com/puppet8-release-el-8.noarch.rpm

Activation des modules DNF

dnf module enable -y katello:el8

Vérification des dépôts activés

dnf repolist enabled

Installation des paquets Foreman

Mise à jour du système

dnf upgrade -y

Installation de l'installateur Foreman avec Katello

dnf install -y foreman-installer-katello

Exécution de l'installateur

Dans cette partie, vous pouvez exécuter l’installateur de différentes façons :

1. Mode non interactif

foreman-installer --scenario katello

2. Mode interactif (optionnel)

foreman-installer –i 

3. Mode personnalisation (exemple)

foreman-installer --scenario katello --foreman-initial-admin-username admin --foreman-initial-admin-password 'MotDePasseSécurisé'

Accès à l'interface web

Sur un navigateur web, il faut mettre le fqdn que vous avez choisi dans l’url :

  • URL : https://foreman.synapsys.fr
  • Identifiants par défaut :
    • Utilisateur : admin
    • Mot de passe : Généré automatiquement (affiché à la fin de l’installation)

Configuration du pare-feu (firewalld)

firewall-cmd --add-port={22,53,80,443,3000,8140,5432,8443}/tcp --permanent
firewall-cmd --add-port=67-69/udp --permanent firewall-cmd --reload

Vérification des services

foreman-maintain service status -b

Vérification de l'état de santé

foreman-maintain health check

Bonnes pratiques et recommandations

Il est recommandé d'utiliser un système fraîchement installé pour éviter les conflits de configuration.

Assurez-vous que le nom d'hôte soit correctement résolu dans votre DNS.

La synchronisation de l'horloge système est cruciale pour le bon fonctionnement des certificats SSL.

Conclusion : Foreman, une solution puissante mais à bien maîtriser

Afin de bien exploiter ce guide et de mettre en place efficacement Foreman, il est important de bien définir vos besoins ou les besoins du client car il s’agit d’un projet open source donc vous serez le principal responsable en cas de problèmes. Donc prenez le temps d’avoir un maximum de détails sur les différents outils existants et leur configuration pour mieux les adapter à vos besoins.

Articles similaires

DevOps

AIOps : comment l’Intelligence Artificielle transforme la gestion des opérations IT ?

Depuis toujours mais encore plus ces dernières années, les DSI sont confrontées à de nombreux défis en matière de gestion...

DevOps

Ingénieur de production : l’ombre indispensable de l’infrastructure

Dans l’univers complexe des systèmes d’information, certains métiers restent en retrait de la lumière tout en étant essentiels à la...

DevOps

Evolution du SysOps : rôles et compétences à développer

SysOps : quel est ce métier clé de l’infrastructure IT ? Le SysOps, ou « System Operations », est un expert de...