Stage de deuxième année
Objectif du stage :
Pour ce stage notre objectif est de créer diffèrent script ansible qui va permettre d’automatiser la gestion des switch/routeur juniper, l’installation de webdev, de microk8s et la mise en place de freeradius qui va permettre de faire l’association mac vlan. La gestion des scripts, connexion et autre se fera par une interface WEB telle que semaphore ou rundeck.
Présentation de l’entreprise
J’ai effectué mon deuxième stage au sein de la même entreprise Kalanda. Son siège social se situe à la Ciotat. Kalanda est une entreprise de 5 personne (sans compter le nombre de prestataire)qui fait de l’hébergement de serveurs informatiques (comme par exemple l’hébergement d’un serveur VPS, Webdev, serveur de messagerie ou même des serveurs dédiés) qui a plus de 7000 clients qui sont hébergés grâce à leurs 1000 serveurs situés partout dans le monde.
Les étapes effectuées pour faire ces objectifs
Pour commencer, on s’est focalisé sur la mise en place de l’interface web puisque nous avons déjà quelques bases avec Ansible. Après plusieurs recherches, les interfaces choisies sont Semaphore et Rundeck. Semaphore et une interface simple mais limitée en fonctionnalité. À l’encontre de Semaphore, Rundeck a une interface avec une prise en main plus complexe, mais avec beaucoup plus de fonctionnalités telle que la visualisation des nodes ou la création de script directement sur l’interface.
Après plusieurs tests, nous avons estimé que Rundeck serait le plus approprié pour l’entreprise, car il permet d’avoir une meilleure visualisation des scripts et des nodes. Mais aussi, Sémaphore n’arrive pas à prendre en compte les modules juniper.
Script Juniper
Une fois l’interface web fait nous sommes passer aux scripts. Avant de faire chaque script nous avons mis en place les différents services/configuration au préalable pour pouvoir intégrer les commandes faites dans les scripts. Par exemple, lors de la mise en place d’un agrégat de lien, nous avons commencé à le faire sur le juniper pour ensuite l’adapter en scripts. Les différentes configurations faites sur les juniper sont : l’agrégation de lien (LACP), le VRRP (équivalent du HSRP de cisco qui est un protocole de redondance des routeurs), la gestion des VLAN avec les interfaces, la gestion des rollback (ceci permet de retourner a une config précédent.) et la connexion avec un radius.
Script Radius
Ensuite, nous avons mis en place des freeradius et qui est un radius sur Linux. L’objectif de ce radius est de permettre d’associer une adresse mac à un vlan pour que lorsqu’une machine sans os se branche au juniper soit dans un vlan associé. Une fois la configuration de la machine faite, elle sera associée à un autre vlan. L’ajout des associations mac vlan est automatisé grâce à ansible qui va directement modifier les fichiers des utilisateur et clients.
Script Kubernetes
Après radius, nous nous sommes attaqués à l’installation de kubernetes avec ses fonctionnalités tel que son dashboard, Metallb et le Provisionner NFS. Dans un premier temps, nous avons essayé différentes façons de l’installer jusqu’à ce qu’on découvre l’installation micro-kubernetes. Micro-kubernetes (microk8s) est une version facile à installer et à configurer de kubernetes. Dès lors qu’on a réussi l’installation, nous avons fait le script et par chance, il y avait un script sur github qui permettait de faire l’installation de microk8s. Avec ça, nous avons rajouté l’installation de metallb et du provisionner NFS.
Script Webdev
Pour finir, nous avons fait le script pour l’installation de webdev sur windows serveur. Pour le faire, nous étions obligés de fonctionner différemment, car en effet, pour faciliter la gestion du script, il fallait reconfigurer la machine distante pour qu’elle utilise WINRM (et non ssh qui est utilisé pour les autres systèmes). Ensuite, nous avons essayé d’installer et de comprendre l’installation de webdev pour pouvoir l’automatiser plus facilement. Après avoir écrit le script, nous l’avons testé de nombreuses fois pour pouvoir corriger tous les problèmes qui peuvent survenir lors du lancement du script sur rundeck.
Les difficultés rencontrées
Comme difficultés rencontrées nous avons eu énormément de problèmes au niveau de rundeck et de WinRm lors de la communication entre la machine ansible et les nodes.
Compétences développées
Durant ce stage j’ai développé des compétence de scripting et des communications entre les nodes
Lien des documents/scripts
Voici ci-dessous le lien de tous les documents concernant l’installation, la configuration et des scripts de l’entièreté du projet.
No responses yet