GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Foreman pour gérer les nœuds Puppet sur Ubuntu 16.04

Bonjour à tous, bienvenue dans notre article d'aujourd'hui sur Foreman pour gérer vos nœuds Puppet sur Ubuntu 16. Foreman est un outil open source qui aide les administrateurs système à gérer les serveurs tout au long de leur cycle de vie, de l'approvisionnement et de la configuration à l'orchestration et à la surveillance. Vous pouvez facilement automatiser les tâches répétitives, déployer rapidement des applications et gérer de manière proactive les changements, à la fois sur site avec des machines virtuelles et sur système nu ou dans le cloud en utilisant l'architecture proxy intelligente de Puppet, Chef, Salt, Ansible et Foreman. Foreman fournit des fonctionnalités d'interaction complètes, notamment une interface Web, une CLI et une API RESTful, qui vous permettent de créer une logique métier de niveau supérieur sur une base solide.

En utilisant Foreman, vous pouvez découvrir, provisionner et mettre à niveau l'ensemble de votre infrastructure bare metal, créer et gérer des instances sur des clouds privés et publics. Vous pouvez l'utiliser dans un groupe d'hôtes et les gérer de manière groupée, quel que soit leur emplacement, puis consulter l'historique des modifications à des fins d'audit ou de dépannage.

Prérequis

Certaines exigences de base doivent être assurées avant de passer à l'installation de Foreman. La première chose à faire est de créer une nouvelle machine virtuelle sur laquelle vous disposez des privilèges root, de configurer son FQDN et son nom d'hôte qui peuvent être définis à l'aide des commandes ci-dessous.

# hostnamectl set-hostname ksh-u16

Modifiez ensuite le fichier 'hosts' avec votre nom de domaine complet avant le nom d'hôte .

# vi /ete/hosts
127.0.0.1 ksh-u16.domain.com ksh-u16

Enregistrez et fermez le fichier et exécutez la commande ci-dessous pour vérifier si votre FQDN a été configuré.

# hostname -f

Vous verrez votre nom de domaine complet dans la sortie. Maintenant, mettez à jour votre système avec les dernières mises à jour et correctifs de sécurité en exécutant la commande suivante dans votre terminal de ligne de commande.

# apt-get update
# apt-get upgrade

Sélectionnez la touche 'Y' pour confirmer et démarrer les mises à jour de votre système. Une fois toutes les mises à jour terminées, nous sommes prêts à passer à l'installation de Foreman.

Installation de Foreman sur Ubuntu 16

Nous allons maintenant installer Foreman à l'aide de son programme d'installation, qui comprendra tous les composants requis pour exécuter Foreman, à savoir le maître et l'agent Puppet, le serveur Web Apache avec SSL et le module passager.

Nous allons d'abord permettre au référentiel d'utiliser Puppet 4.x avec Puppet Agent et Puppet Server en utilisant les commandes ci-dessous.

# apt-get -y install ca-certificates
# wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
# dpkg -i puppetlabs-release-pc1-xenial.deb

Utilisez ensuite les commandes ci-dessous pour activer le référentiel Foreman.

echo "deb http://deb.theforeman.org/ xenial 1.14" > /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.14" >> /etc/apt/sources.list.d/foreman.list
apt-get -y install ca-certificates
wget -q https://deb.theforeman.org/pubkey.gpg -O- | apt-key add -

Téléchargez le programme d'installation de Forman à l'aide de la commande suivante.

# apt-get update && apt-get -y install foreman-installer

Maintenant, nous allons exécuter le programme d'installation du contremaître, mais avant d'exécuter le programme d'installation, assurez-vous que ping $(hostname -f) affiche la véritable adresse IP, pas 127.0.1.1. Modifiez ou supprimez cette entrée de /etc/hosts si elle est présente.

L'exécution de l'installation n'est pas interactive, mais la configuration peut être personnalisée en fournissant l'une des options répertoriées dans foreman-installer --help ou en exécutant foreman-installer -i pour le mode interactif. L'ajout de -v désactivera la barre de progression et affichera toutes les modifications.

Pour exécuter le programme d'installation, exécutez la commande ci-dessous.

# foreman-installer
Installing Done [100%] [...........................................................................]
Success!
* Foreman is running at https://ksh-u16.domain.com
Initial credentials are admin / cwGbVjM2zGP5aDwm
* Foreman Proxy is running at https://ksh-u16.domain.com:8443
* Puppetmaster is running at port 8140
The full log is at /var/log/foreman-installer/foreman.log

Une fois terminé, le programme d'installation imprimera certains détails comme indiqué ci-dessus où vous trouverez les détails de Foreman, du Smart Proxy et du maître Puppet.

Interface Web du contremaître

Ouvrons votre navigateur préféré avec l'URL Web Foreman mentionnée ci-dessus et connectez-vous avec vos informations d'identification fournies, comme indiqué.

https://ksh-u16.domain.com

Gestion des marionnettes

Après une installation réussie, le programme d'installation de Foreman aura configuré un maître de marionnettes sur l'hôte, entièrement intégré à Foreman. Exécutez d'abord l'agent Puppet sur l'hôte Foreman qui enverra le premier rapport Puppet à Foreman, créant automatiquement l'hôte dans la base de données de Foreman.

# puppet agent --test
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for ksh-u16.centricait.com
Info: Applying configuration version '1485372953'
Notice: Applied catalog in 0.23 seconds

Maintenant dans l'interface Web de Foreman, cliquez sur Hôtes et votre hôte Foreman doivent être visibles dans la liste avec un statut "OK". Cela indique que son statut est OK, sans aucune modification apportée lors de la dernière exécution de Puppet.

Télécharger un module Marionnette

Ensuite, nous allons installer un module Puppet pour gérer le service NTP de Puppet Forge dans notre environnement de "production" par défaut en utilisant la commande ci-dessous.

# puppet module install puppetlabs/ntp
Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...
Notice: Downloading from https://forgeapi.puppet.com ...
Notice: Installing -- do not interrupt ...
/etc/puppetlabs/code/environments/production/modules
└─┬ puppetlabs-ntp (v6.0.0)
└── puppetlabs-stdlib (v4.15.0)

Dans Foreman, accédez à Configurer> Classes et cliquez sur Importer depuis le nom d'hôte (en haut à droite) pour lire les classes de marionnettes disponibles à partir du maître des marionnettes et remplir la base de données de Foreman. La classe "ntp" apparaîtra dans la liste des classes Puppet si elle est correctement installée, comme indiqué ci-dessous.

Ici, vous devez vérifier l'icône et cliquer sur le bouton "mettre à jour". Le module ntp est maintenant importé dans Foreman et prêt à être utilisé avec un hôte.

Utiliser le module Marionnette

Cliquez sur la classe "ntp" dans la liste, passez aux Paramètres de classe intelligente et sélectionnez le paramètre des serveurs sur le côté gauche. Cochez la case Remplacer pour que Foreman gère les "serveurs" paramètre de la classe et modifiez la valeur par défaut si vous le souhaitez, avant de soumettre la page.

Revenez maintenant à l'onglet Hôtes et cliquez sur Modifier sur l'hôte Foreman. Dans l'onglet Classes Puppet, développez le module ntp et cliquez sur l'icône + pour ajouter la classe ntp à l'hôte, puis enregistrez l'hôte.

Pour afficher les configurations de marionnettes, en cliquant sur le bouton YAML lorsque vous revenez sur la page hôte, il affichera la classe ntp et le paramètre des serveurs, tels qu'ils sont passés à Puppet via l'interface ENC (classificateur de nœud externe). Réexécutez 'puppet agent --test' sur l'hôte Foreman pour voir le service NTP automatiquement reconfiguré par Puppet et le module NTP.

Une fois que vous avez cliqué sur YAML, vous obtenez le résultat suivant sur votre page Web.

---
classes:
ntp:
authprov: ''
broadcastclient: ''
config: ''
config_dir: ''
config_epp: ''
config_file_mode: ''
config_template: ''
tos_minsane: ''
udlc: ''
udlc_stratum: ''
parameters:
puppetmaster: ksh-u16.domain.com
domainname: domain.com
root_pw:
puppet_ca: ksh-u16.domain.com
foreman_env: production
owner_name: Admin User
owner_email: [email protected]
foreman_subnets: []
foreman_config_groups: []
environment: production

Ajout d'autres hôtes gérés par Puppet

D'autres hôtes avec des agents Puppet installés peuvent utiliser ce maître de marionnettes en définissant server =ksh-u16.domain.com dans puppet.conf. Signez leurs certificats dans Foreman en accédant à Infrastructure> Smart Proxies> Certificates ou en utilisant les commandes ci-dessous sur le marionnettiste.

# puppet cert list
# puppet cert sign

Des classes de marionnettes peuvent être ajoutées à des groupes d'hôtes dans Foreman au lieu d'hôtes individuels, permettant une configuration standard de plusieurs hôtes simultanément. Les groupes d'hôtes sont généralement utilisés pour représenter les rôles de serveur.

Conclusion

Dans cet article, nous avons découvert l'installation de Foreman et l'utilisation et la gestion des nœuds de marionnettes sur Ubuntu 16. Foreman peut être une source unique de vérité pour les informations de configuration et vous aider à créer et à provisionner des systèmes plus rapidement afin que lorsqu'un nouveau membre de l'équipe rejoint votre team il vous suffit d'appuyer sur un bouton et de provisionner sa nouvelle machine automatiquement. Avec Foreman, vous pouvez configurer de nouveaux environnements de test à chaque exécution de déploiement, ce qui vous permet de tester très facilement différentes caractéristiques de fonctionnalités et de suivre l'évolution de l'environnement ainsi que celle du code. De cette façon, vous devez faire un minimum de efforts pour configurer votre nouvel environnement de test ou de production. J'espère que cet article vous sera d'une grande aide, merci d'avoir lu.


Ubuntu
  1. Comment installer Odoo sur Ubuntu

  2. Comment installer Maven sur Ubuntu

  3. Comment installer Wine sur Ubuntu

  4. Comment installer Ruby sur Ubuntu 20.04

  5. Comment installer Puppet 6.x sur Ubuntu 18.04 / Ubuntu 16.04 et Debian 9

Comment installer Puppet sur Ubuntu 20.04

Comment installer Puppet sur Ubuntu 20.04 LTS

Comment installer Foreman sur Ubuntu 20.04 LTS

Comment installer Go dans Ubuntu 20.04

Comment installer Go sur Ubuntu 22.04

Comment installer Foreman sur Ubuntu 20.04