Gestion du contenu deb dans Foreman
Utilisez Foreman pour proposer des progiciels et des errata pour certains systèmes Linux.
Foreman est un outil d'automatisation de centre de données permettant de déployer, configurer et corriger des hôtes. Il s'appuie sur Katello pour la gestion du contenu, qui à son tour s'appuie sur Pulp pour gérer les référentiels. Voir Gérer le contenu à l'aide de Pulp Debian pour plus d'informations.
Pulp propose de nombreux plugins pour différents types de contenu, notamment les packages RPM, les rôles et collections Ansible, les packages PyPI et le contenu deb. Ce dernier s'appelle le plugin pulp_deb.
Gestion de contenu dans Foreman
L'idée de base pour fournir du contenu aux hôtes est de mettre en miroir les référentiels et de fournir du contenu aux hôtes via le serveur Foreman ou les Smart Proxies connectés.
Ce didacticiel est un guide étape par étape pour ajouter du contenu Deb à Foreman et servir des hôtes exécutant Debian 10. Le « contenu Deb » fait référence aux packages logiciels et aux errata pour les systèmes Linux basés sur Debian (par exemple, Debian et Ubuntu). Cet article se concentre sur Debian 10 Buster mais les instructions fonctionnent également pour Ubuntu 20.04 Focal Fossa, sauf indication contraire.
1. Créez le système d'exploitation
1.1. Créer une architecture
Accédez à Hôtes > Architectures et créez une nouvelle architecture (si l'architecture sur laquelle vous souhaitez déployer les hôtes Debian 10 est manquante). Ce didacticiel suppose que vos hôtes fonctionnent sur l'architecture x86_64, comme le fait Foreman.
1.2. Créer un support d'installation
Accédez à Hôtes > Support d'installation et créez un nouveau support d'installation Debian 10. Utilisez l'URL du référentiel en amont http://ftp.debian.org/debian/.
Sélectionnez la famille de systèmes d'exploitation Debian pour Debian ou Ubuntu.
Vous pouvez également utiliser un miroir Debian. Cependant, le contenu synchronisé via Pulp ne fonctionne pas pour deux raisons : premièrement, les fichiers linux
et initrd.gz
ne sont pas aux emplacements attendus ; deuxièmement, le fichier Release
n'est pas signé.
1.3. Créer un système d'exploitation
Accédez à Hôtes > Systèmes d'exploitation et créez un nouveau système d'exploitation appelé Debian 10. Utilisez 10 comme version majeure et laissez le champ de la version mineure vide. Pour Ubuntu, utilisez 20.04 comme version majeure et laissez le champ de la version mineure vide.
(Maximilian Kolb, CC BY-SA 4.0)
Sélectionnez la famille du système d'exploitation Debian pour Debian ou Ubuntu et spécifiez le nom de la version (par exemple, Buster pour Debian 10 ou Stretch pour Debian 9). Sélectionnez les tables de partition et les modèles de provisionnement par défaut, c'est-à-dire Preseed default *.
1.4. Adapter les modèles Preseed par défaut (facultatif)
Accédez à Hôtes > Tables de partition et Hôtes > Modèles de provisioning et adaptez les modèles Preseed par défaut si nécessaire. Notez que vous devez cloner les modèles verrouillés avant de les modifier. Les modèles clonés ne recevront pas de mises à jour avec les versions plus récentes de Foreman. Tous les systèmes basés sur Debian utilisent des modèles Preseed, qui sont inclus par défaut avec Foreman.
1.5. Associer les modèles
Accédez à Hôtes > Modèles de provisionnement et recherchez Preseed. Associez tous les modèles de provisionnement souhaités au système d’exploitation. Ensuite, accédez à Hôtes > Systèmes d'exploitation et sélectionnez Debian 10 comme système d'exploitation. Sélectionnez l'onglet Modèles et associez les modèles de provisionnement de votre choix.
2. Synchronisez le contenu
2.1. Créer des informations d'identification de contenu pour les référentiels Debian en amont et le client Debian
Accédez à Contenu > Informations d'identification du contenu et ajoutez les clés publiques GPG requises comme informations d'identification du contenu pour Foreman afin de vérifier l'authenticité des packages deb. Pour obtenir les clés publiques GPG nécessaires, vérifiez le fichier Release et exportez la clé publique GPG correspondante comme suit :
Debian 10 principale :
wget http://ftp.debian.org/debian/dists/buster/Release && wget http://ftp.debian.org/debian/dists/buster/Release.gpg gpg --verify Release.gpg Release gpg --keyserver keys.gnupg.net --recv-key 16E90B3FDF65EDE3AA7F323C04EE7237B7D453EC gpg --keyserver keys.gnupg.net --recv-key 0146DC6D4A0B2914BDED34DB648ACFD622F3D138 gpg --keyserver keys.gnupg.net --recv-key 6D33866EDD8FFA41C0143AEDDCC9EFBF77E11517 gpg --armor --export E0B11894F66AEC98 DC30D7C23CBBABEE DCC9EFBF77E11517 > debian_10_main.txt
-
Sécurité Debian 10 :
wget http://security.debian.org/debian-security/dists/buster/updates/Release && wget http://security.debian.org/debian-security/dists/buster/updates/Release.gpg gpg --verify Release.gpg Release gpg --keyserver keys.gnupg.net --recv-key 379483D8B60160B155B372DDAA8E81B4331F7F50 gpg --keyserver keys.gnupg.net --recv-key 5237CEEEF212F3D51C74ABE0112695A0E562B32A gpg --armor --export EDA0D2388AE22BA9 4DFAB270CAA96DFA > debian_10_security.txt
Mises à jour Debian 10 :
wget http://ftp.debian.org/debian/dists/buster-updates/Release && wget http://ftp.debian.org/debian/dists/buster-updates/Release.gpg gpg --verify Release.gpg Release gpg --keyserver keys.gnupg.net --recv-key 16E90B3FDF65EDE3AA7F323C04EE7237B7D453EC gpg --keyserver keys.gnupg.net --recv-key 0146DC6D4A0B2914BDED34DB648ACFD622F3D138 gpg --armor --export E0B11894F66AEC98 DC30D7C23CBBABEE > debian_10_updates.txt
Client Debian 10 :
wget --output-document=debian_10_client.txt https://apt.atix.de/atix_gpg.pub
Vous pouvez sélectionner les fichiers TXT blindés ASCII respectifs à télécharger sur votre instance Foreman.
2.2. Créer des produits appelés Debian 10 et client Debian 10
Accédez à Contenu > Hôtes et créez deux nouveaux produits.
2.3. Créez les dépôts Debian 10 nécessaires
Accédez à Contenu > Produits et sélectionnez le produit Debian 10. Créez trois dépôts deb :
Debian 10 principale :
- URL :
http://ftp.debian.org/debian/
- URL :
- Sorties :
buster
- Composant :
principal
- Architecture :
amd64
Sécurité Debian 10 :
- URL :
http://deb.debian.org/debian-security/
- URL :
- Sorties :
buster/updates
- Composant :
principal
- Architecture :
amd64
Si vous le souhaitez, vous pouvez ajouter un service d'errata auto-hébergé : https://github.com/ATIX-AG/errata_server
et https://github.com/ATIX-AG/ errata_parser
Mises à jour Debian 10 :
- URL :
http://ftp.debian.org/debian/
- URL :
- Sorties :
buster-updates
- Composant :
principal
- Architecture :
amd64
Sélectionnez les informations d'identification de contenu que vous avez créées à l'étape 2.1. Ajustez les composants et l’architecture selon vos besoins. Accédez à Contenu > Produits et sélectionnez le produit Client Debian 10. Créez un dépôt deb comme suit :
Gestionnaire d'abonnements Debian 10
- URL :
https://apt.atix.de/Debian10/
- URL :
- Versions :
stable
- Composant :
principal
- Architecture :
amd64
Sélectionnez les informations d'identification de contenu que vous avez créées à l'étape 2.1. Le client Debian 10 contient le package subscription-manager, qui s'exécute sur chaque hôte de contenu pour recevoir du contenu du serveur Foreman ou d'un proxy intelligent connecté. Accédez à apt.atix.de pour plus d’instructions.
2.4. Synchronisez les référentiels
Si vous le souhaitez, vous pouvez créer un plan de synchronisation pour synchroniser périodiquement les produits Debian 10 et Client Debian 10. Pour synchroniser le produit une fois, cliquez sur le bouton Sélectionner une action > Synchroniser maintenant sur la page Produits.
2.5. Créer des vues de contenu
Accédez à Contenu > Vues de contenu et créez une vue de contenu appelée Debian 10 comprenant les dépôts Debian en amont créés dans le produit Debian 10 et publiez un nouveau version. Faites de même pour le dépôt Client Debian 10 du produit Client Debian 10.
2.6. Créer une vue de contenu composite
Créez une nouvelle vue de contenu composite appelée Composite Debian 10 comprenant les vues de contenu Debian 10 et Client Debian 10 précédemment publiées et publiez une nouvelle version. Vous pouvez éventuellement ajouter d'autres vues de contenu de votre choix (par exemple, Puppet).
(Maximilian Kolb, CC BY-SA 4.0)
2.7. Créer une clé d'activation
Accédez à Contenu > Clés d'activation et créez une nouvelle clé d'activation appelée debian-10 :
- Sélectionnez l'environnement de cycle de vie Bibliothèque et ajoutez la vue de contenu Composite Debian 10.
- Dans l'onglet Détails, attribuez l'environnement de cycle de vie et la vue de contenu composite appropriés.
- Dans l'onglet Abonnements, attribuez les abonnements nécessaires, c'est-à-dire les produits Debian 10 et Client Debian 10.
3. Déployer un hôte
3.1. Activer le provisionnement via le port 8000
Connectez-vous à votre instance Foreman via SSH et modifiez le fichier suivant :
/etc/foreman-proxy/settings.yml
Recherchez :http_port: 8000
et assurez-vous qu'il n'est pas commenté (c'est-à-dire que la ligne ne commence pas par un #
).
3.2. Créer un groupe d'hôtes
Accédez à Configurer > Groupes d'hôtes et créez un nouveau groupe d'hôtes appelé Debian 10. Consultez la documentation Foreman sur la création de groupes d'hôtes et assurez-vous de sélectionner les entrées correctes dans les onglets Système d'exploitation et Clés d'activation.
3.3. Créer un nouvel hôte
Accédez à Hôtes > Créer un hôte et sélectionnez le groupe d'hôtes comme décrit ci-dessus ou saisissez manuellement les informations identiques.
Astuce : le déploiement d'hôtes exécutant Ubuntu 20.04 est encore plus simple, car vous pouvez utiliser l'image ISO de son support d'installation officiel et effectuer des installations hors ligne. Consultez le guide de gestion des systèmes Ubuntu d'orcharhino pour plus d'informations.
ATIX a développé plusieurs plugins Foreman et fait partie intégrante de l'écosystème open source Foreman. Les commentaires de la communauté sur nos contributions sont transmis à nos clients, alors que nous nous efforçons continuellement d'améliorer notre produit en aval, orcharhino.