Gestion des configurations d'un datacenter basée sur Puppet et Foreman( Télécharger le fichier original )par Israel MUKEYA KIONGO Ecole supérieure d'informatique Salama - Administration système et réseaux 2016 |
Septembre 2016 ECOLE SUPERIEURE D'INFORMATIQUE SALAMA GESTION DES CONFIGURATIONS D'UN DATACENTER BASEE SUR PUPPET ET FOREMAN « Cas de Katanga Networking Academy (KANACAD) » Travail présenté et défendu en vue de l'obtention du grade d'ingénieur en réseaux Par MUKEYA KIONGO Israël Option : Administration systèmes et réseaux Septembre 2016 ECOLE SUPERIEURE D'INFORMATIQUE SALAMA GESTION DES CONFIGURATIONS D'UN DATACENTER BASEE SUR PUPPET ET FOREMAN « Cas de Katanga Networking Academy (KANACAD) » Travail présenté et défendu en vue de l'obtention du grade d'ingénieur en réseaux Par MUKEYA KIONGO Israël Option : Administration systèmes et réseaux Directeur : Bertin POLOMBWE Co-directeur : Michée KALONDA EPIGRAPHE « En gestion, ce que l'on contrôle à outrance nous contrôle et ce que nous ne gérons pas nous gère ». Sylvain Tourangeau II DEDICACE A notre père MUKEYA TSHIBANGU Joseph, qui a fait preuve d'un parent responsable, se débattant çà et là pour que l'Ecole Supérieure d'Informatique Salama ne soit pas pour nous une aventure. A notre mère MBAYO KIONGO ILUNGA Germaine, pour tant d'exonération et dont l'attention soutenue ainsi que les conseils ont marqués notre itinéraire, qui au-jourd'hui se révèle être le fruit d'une éducation distinguée. Vous êtes pour nous le modèle parfait d'une bonne mère. MUKEYA KIONGO Israël III REMERCIEMENTS Ce travail de fin d'études supérieures, résultat de longue haleine, de la patience soutenue, fruit des connaissances acquises, n'est pas l'affaire d'une seule personne. Par ce biais, nous exprimons notre profonde gratitude à l'égard de notre Dieu, qui n'a pas cessé de nous donner le souffle de vie durant toute la période de notre formation jusqu'à ce jour où nous avons le privilège de présenter ce travail. Nous remercions notre directeur et codirecteur, monsieur Bertin POLOMBWE et monsieur Michée KALONDA, qui malgré leurs multiples occupations, ont toujours su prendre soin de nous et nous montrer le chemin à suivre. Nos remerciements s'adressent une fois de plus à toute les autorités académiques de l'Ecole Supérieure d'Informatique Salama et plus particulièrement à notre coordonnateur de filière, le master Patient KASONGO pour l'esprit de recherche inculqué en nous. Nous disons merci à nos très chers parents ainsi qu'à nos frères et soeurs : Joseph MUKEYA et Germaine MBAYO KIONGO, Simon Pierre et Claudia MUZAZA, Trésor et Péguy MAKANDA, Patrick MUKEYA, Dan MUKEYA et Nathan MUKEYA pour toutes les dimensions des soutiens manifestées en notre faveur. Nous remercions également nos grand parents, oncles et tantes : Baudouin et Céline MBAYO, Jeannette et Mike KYONY, Gisèle et Louis LOSHITA, Michel et Yolande MBAYO, Jerry et Promesse MBAYO pour leur assistance dans toutes les situations. Nous remercions vivement Deborah KABILA, Lauraine KISULA, David MUYUMBA, Léon BITULU et Franck ZALI, grâce à leur soutien, amour et encouragements durant notre parcours, nous avons pu nous accomplir pleinement dans nos études. Nos remerciements s'adressent également à toute l'équipe d'intercession de la Jeunesse Bonne Semence : frère Alain, soeur Clarisse, papa Désiré, frère Aubin, frère Cédron, frères Yannick et Patrick KISULA, frères Mike et Durck pour tous les moments intenses de prières et de partage sans oublié leur soutien. Nous remercions vivement de tout coeur les ingénieurs : Derick KHON, Luc KA-NIKI, Sam MWIMBI, Ferdos KAHENGA, Herbert KALONJI et Christopher BAHUKA. Du reste nous remercions nos amis et compagnons de lutte avec qui nous avons passé des moments forts d'études : Elie KABUNDA, Joël KAZADI, Chris KAHOZI, Chris MWEMBO, Ray's BUKASA, Job KAVU, Baudouin BBK, Mira MBU, Yves MU-LOLWA, Samuel NUMBI, Jenny Gracia, Gloria KASH, LUNA, Dan MUKOKA, Julie MULASI, Cyrille MPINGO, Yan NGUSU, Monique MPWETO et Marianne KARUMB. Et pour clore cette page nous adressons nos remerciements à tous ceux, qui de près ou de loin ont contribué d'une manière ou d'une autre à l'élaboration de ce travail et qui n'ont pas vu leurs noms mentionnés ici, nous vous en supplions de ne pas nous en tenir rigueur, nous vous portons à coeur. IV LISTE DES FIGURES Figure 1.1 structure des académies Cisco 6 Figure 1.2 architecture générale de Katanga Networking Academy 8 Figure 2.1 niveaux d'abstraction appliqués à la conception [13, p. 6] 26 Figure 2.2 architecture générale du futur système 29 Figure 2.3 interaction entre un client et le serveur DNS 32 Figure 2.4 processus d'acquisition d'une adresse IP via le serveur DHCP 33 Figure 2.5 processus de signature du certificat d'un client 35 Figure 2.6 interaction entre le gestionnaire des configurations et les clients 36 Figure 2.7 processus de gestion des configurations 37 Figure 3.1 niveau d'abstraction de la conception technique 26 Figure 3.2 diagramme en bâtons 41 Figure 3.3 diagramme en courbes 41 Figure 3.4 principe d'utilisation de puppet 42 Figure 3.5 fonctions principales de puppet 43 Figure 3.6 fonctionnement de Foreman avec Puppet 46 Figure 3.7 architecture générale du système au niveau physique 47 Figure 3.8 fixation de l'adresse IP du serveur 49 Figure 3.9 configuration du fichier hosts du serveur 50 Figure 3.10 configuration du fichier hostname du serveur 50 Figure 3.11 configuration du fichier puppet.conf du serveur 50 Figure 3.12 création du domaine 51 Figure 3.13 création du proxy intelligent 51 Figure 3.14 fixation de l'adresse IP du client Ubuntu 51 Figure 3.15 configuration du fichier hosts du client Ubuntu 52 Figure 3.16 configuration du fichier hostname du client Ubuntu 52 Figure 3.17 configuration du fichier puppet.conf du client Ubuntu 52 Figure 3.18 fixation de l'adresse IP du client CentOS 53 Figure 3.19 configuration du fichier hosts du client CentOS 53 Figure 3.20 configuration du fichier network du client CentOS 53 Figure 3.21 configuration du fichier puppet.conf du client CentOS 54 Figure 3.22 résultat attendu après test de l'hostname 54 Figure 3.23 configuration du fichier init.pp du module MySQL 55 Figure 3.24 configurations du fichier install.pp du module MySQL 55 Figure 3.25 configuration du fichier config.pp du module MySQL 56 Figure 3.26 configuration du fichier service.pp du module MySQL 56 V VI Figure 3.27 configuration du fichier site.pp du module MySQL 56 Figure 3.28 configuration du fichier node.pp du module MySQL 56 Figure 3.29 configurations du fichier init.pp du module DHCP 57 Figure 3.30 configuration du fichier install.pp du module DHCP 57 Figure 3.31 configuration du fichier config.pp du module DHCP 57 Figure 3.32 configuration du fichier service du module DHCP 58 Figure 3.33 configuration du fichier node.pp du module DHCP 58 Figure 3.34 configuration du fichier node.pp du module DHCP 58 Figure 3.35 configuration du fichier init.pp du module Apache 59 Figure 3.36 configuration du fichier install.pp du module Apache 59 Figure 3.37 configuration du fichier service.pp du module Apache 59 Figure 3.38 configuration du fichier site.pp du module Apache 59 Figure 3.39 configuration du fichier nodee.pp du module Apache 60 Figure 3.40 importation des classes puppet 60 Figure 3.41 résultat du test de connectivité avec le serveur 61 Figure 3.42 extrait du diagramme de GANTT pour la planification de l'implémentation 65 Figure 4.1 test d'installation de puppet et foreman 67 Figure 4.2 résultat du test après exécution de foreman-installer 67 Figure 4.3 résultat du test des paramètres IP du serveur 68 Figure 4.4 résultat du test de vérification de l'hostname du serveur 68 Figure 4.5 connexion à l'interface web de foreman 68 Figure 4.6 interface d'accueil de foreman 69 Figure 4.7 informations du proxy intelligent 69 Figure 4.8 résultat après création du proxy intelligent 70 Figure 4.9 création du domaine kanacad.org 70 Figure 4.10 importation des classes 70 Figure 4.11 mise à jour des classes puppet 71 Figure 4.12 tableau des classes importées depuis puppet 72 Figure 4.13 résultat du test de configurations des paramètres IP du client kan-node1 73 Figure 4.14 résultat du test de vérification de l'hostname du client kan-node1 73 Figure 4.15 résultat de test de configuration des paramètres IP du client kan-node2 73 Figure 4.16 résultat du test de l'hostname du client kan-node2 74 Figure 4.17 résultat du test de connectivité entre le client kan-node1 et le serveur 74 Figure 4.18 résultat du test de connectivité entre le client kan-node2 et le serveur 74 Figure 4.19 création du certificat sur le client kan-node1 75 Figure 4.20 création du certificat sur le client kan-node2 75 Figure 4.21 liste des certificats en attente de signature sur le serveur 75 Figure 4.22 procédure de signature des certificats 76 Figure 4.23 signature de certificat du client kan-node1 76 Figure 4.24 signature de certificat du client kan-node2 76 Figure 4.25 inclusion des classes dhcp et dhcp :: service 77 Figure 4.26 inclusion des classes du module Apache 77 Figure 4.27 résultat du test de synchronisation du serveur kan-srvlub-foreman 77 Figure 4.28 modification du fichier init.pp du module dhcp 78 Figure 4.29 résultat du test de synchronisation du client kan-node1 78 Figure 4.30 résultat du test de synchronisation du client kan-node2 78 Figure 4.31 résultat de test pour la visualisation des noeuds gérés 79 Figure 4.32 résultat du test pour la visualisation du tableau de bord 80 Figure 4.33 résultat du test de visualisation du rapport global 81 Figure 4.34 résultat du test de visualisation du rapport d'un noeud 82 Figure 4.35 résultat du test de monitoring d'un hôte 83 Figure 4.36 résultat du test de visualisation des statistiques 84 Figure 4.37 résultat du test de visualisation de l'audit sur l'ensemble du système 85 Figure 4.38 résultat du test de visualisation de l'audit sur un noeud 86 Figure 4.39 graphique d'évaluation des besoins fonctionnels 89 Figure 4.40 graphique d'évaluation des besoins non fonctionnels 89 VII LISTE DES TABLEAUX Tableau 1.1 plan d'adressage 9 Tableau 1.2 plan de nommage 9 Tableau 1.3 supports de transmission utilisés dans le LAN 10 Tableau 1.4 inventaire des équipements 14 Tableau 3.1 cotations des gestionnaires des configurations 40 Tableau 4.1 évaluation des besoins fonctionnels 87 Tableau 4.2 évaluation des besoins non fonctionnels 88 VIII TABLE DES MATIERES EPIGRAPHE I DEDICACE II REMERCIEMENTS III LISTE DES FIGURES IV LISTE DES TABLEAUX VII TABLE DES MATIERES VIII AVANT-PROPOS X CHAPITRE 0: INTRODUCTION GENERALE 1 0.1. Problématique 1 0.2. Hypothèse 1 0.3. Choix et intérêt du sujet 2 0.4. Méthodologie 2 0.5. Etat de l'art 3 0.6. Délimitation du travail 4 0.7. Subdivision du travail 4 0.8. Outils logiciels et équipements utilisés 4 CHAPITRE 1: SPECIFICATIONS FONCTIONNELLES DU FUTURSYSTEME 5 1.1. Introduction 5 1.2. Présentation de l'association 5 1.3. Etude de l'existant 7 1.4. Spécification des besoins 22 1.5. Conclusion partielle 24 CHAPITRE 2: CONCEPTION GENERALE ET DETAILLEE LOGIQUE 25 2.1. Introduction 25 2.2. Conception générale 26 2.3. Conception détaillée logique 30 2.4. Conclusion partielle 38 CHAPITRE 3: CONCEPTION TECHNIQUE 26 3.1. Introduction 26 3.2. Choix technologiques 26 IX 3.3. Procédures et planification 47 3.4. Conclusion Partielle 66 CHAPITRE 4: IMPLEMENTATION 66 4.1. Introduction 66 4.2. Installation et configuration 66 4.3. Tests et résultats 74 4.4. Conclusion partielle 87 CONCLUSION GENERALE 90 Perspectives d'avenir 90 REFERENCES 92 X AVANT-PROPOS L'Ecole Supérieure d'Informatique Salama régie par le programme national des institutions supérieures techniques, prévoit des défenses des travaux ou projets à la fin des cursus académiques des ingénieurs techniciens en informatique, c'est dans cet ordre d'idée que s'inscrit ce travail de fin d'études en administration systèmes et réseaux intitulé « GESTION DES CONFIGURATIONS D'UN DATACENTER BASEE SUR PUPPET ET FOREMAN ». L'automatisation des tâches d'administration a toujours été une des préoccupations majeures des administrateurs systèmes, en plus de permettre un gain de temps, la reproductibilité du processus de déploiement et une garantie du résultat. Avec l'arrivée de la virtualisation et l'augmentation des services proposés aux utilisateurs, les parcs des serveurs sont en forte expansion. Pour répondre à l'accroisse-ment du nombre des plates-formes gérées, des nouveaux outils d'administration sont apparus. Les logiciels de gestion des configurations et de déploiement automatisé sont maintenant une alternative aux installations manuelles ou réalisées à l'aide de scripts faits maisons. Dans ce travail, nous faisons la conception d'un système de gestion des configurations du parc des serveurs de Katanga Networking Academy en partant des spécifications fonctionnelles du futur système, de la conception logique générale et détaillée du système, du choix des différentes solutions technologiques et de la planification jusqu'à la mise en place du dit système, composé de Puppet comme gestionnaire des configurations et de Foreman comme gestionnaire de cycle de vie des serveurs. La compréhension de ce travail exige la lecture globale de tous les quatre chapitres étant donné que la fin ou la sortie de chaque chapitre constitue une entrée du prochain chapitre, chaque cause placée dans le travail produit un effet dans le système. TFE_ESIS_AS 2016 |
|