Aller au contenu

Infrastructures

Automatistation de datacenters

Datacenter

En 2023, dans le cadre d'une mission pour un client institutionnel spécialisé dans la recherche scientifique, j'ai mis en place un système complet d'administration basée sur Rundeck. Ce système assure aujourd'hui encore la gestion de l'exploitation de trois datacenters. Cette solution, essentiellement basée sur Rundeck, Bash, et Ansible, s'appuie également sur Gitlab, LDAP, et un module sur mesure intégré avec The Bastion (OVH). À la demande du client, HAproxy a été remplacé par un load balancer matériel.

flowchart TD
us1((Postes clients))-- HTTPS -->lb1[/Reverse Proxy\]
us1-- HTTPS -->lb2[/Reverse Proxy\]
lb1-- cnx principale -->rd1[[Rundeck actif - vmi-dev-226]]
lb1-. cnx secondaire .->rd2[[Rundeck passif - vmi-dev-220]]
lb2-. cnx secondaire .->git2
lb2-- cnx pincipale -->git1
subgraph DC Ile de France
rd1-- SSH-->ex1[[Node Executor 1  - vmi-dev-228]]
rd1-- Authentification LDAP -->rd1
git1[[Gitlab - vmi-dev-229]]-- commit -->run1[[Runner - vmi-dev-227]]
git1-- Import/Export -->rd1
run1-- Prsync -->ex1
rd1-- SSH -->git1
end
subgraph DC Toulouse
git2[[Gitlab - vmi-dev-225]]-- commit -->run2[[Runner - vmi-dev-222]]
git1-- commit -->run2
git2-- Import/Export -->rd2
git1-- incrond Sync -->git2
git2-- commit -->run1
rd1-- incrond Sync -->rd2
rd2-- Authentification LDAP -->rd2
rd2-- SSH -->ex2[[Node Executor 2 - vmi-dev-224]]
run2-- Prsync -->ex2
run1-- Prsync -->ex2
run2-- Prsync -->ex1
ex1-- SSH -->test[[VM de test - vmi-dev-221]]
ex2-- SSH -->test
ex1-- SSH -->bast
ex2-- SSH -->bast[[The Bastion]]
bast-- SSH -->mac[[Toute machine *]]
end

Plateforme intégration/déploiement continue

Cluster K8S Dédié

Un projet de Cluster Kubernetes est en cours de développement, visant à mettre en place une plateforme pédagogique permettant aux étudiants de déployer leurs propres micro-services ou d'utiliser des Notebook Jupyter. Ce cluster, composé de 4 nœuds puissants partageant 8 processeurs et 1,5 To de RAM, est conçu pour répondre aux besoins de 7 000 étudiants.

Dans ce projet, j'occupe le rôle de référent technique pour les solutions "Cloud" durant l'année 2022.

Cluster K8S

En 2018, j'ai rejoint le service Outils Numériques de la DSI de l'Université de Limoges, où j'ai été chargé de mettre en place une plateforme d'intégration et de déploiement continu, orchestrée par Kubernetes et GitLab. J'ai installé un cluster agnostique sur 4 VMs VMware, partageant un système de fichiers GlusterFS. RKE a été utilisé pour déployer et administrer divers aspects du cluster.

Poster "Kubernetes" Poster "Kubernetes"

Le cluster est employé pour déployer des documentations statiques via des scripts CI/CD et pour développer des applications en PHP/React. Le monitoring est assuré par Grafana, Prometheus, Kibana, et Elastic Search. Ce travail a été présenté sous forme de poster lors des Journées Réseaux de l'Enseignement Supérieur et de la Recherche.

Distribution Linux orientée Virtualisation du poste de travail

Microlinux V2

Entre 2013 et 2014, j'ai conduit un projet visant à créer la V2 de Microlinux, une distribution Linux spécialisée dans la virtualisation du poste de travail. Cette version démarre en PXE par le réseau, sans nécessiter d'installation préalable, et son interface dynamique est développée en HTML (Web GTK).

Structure du Microlinux V2 Structure du Microlinux V2

L'interface de déploiement des machines virtuelles a été développée en Jython (Python over Java), tandis que le backend de déploiement et l'interface dynamique des clients ont été codés en Python.

Client Microlinux V2 Client Microlinux V2

Journées Réseaux de l'Enseignement Supérieur et de la Recherche

Microlinux a été présenté lors des prestigieuses Journées Réseaux de l'Enseignement Supérieur et de la Recherche (Présentation/Article).

Microlinux V1

En 2009, alors que je travaillais à l'IUT du Limousin, site de Tulle, j'ai développé la première version de Microlinux, une distribution Linux orientée vers la virtualisation du poste de travail. Exploitant les fonctionnalités du système de fichiers ZFS, Microlinux permet de figer l'état de plusieurs systèmes d'exploitation et de gérer leur coexistence. La réinstallation des postes de travail peut être programmée à distance, et un contrôle via SSH permet de gérer l'ensemble des postes.

Interface de déploiement de VM Interface de déploiement de VM

Microlinux a été déployé sur l'ensemble du site de Tulle (200 postes), au CRIP de Limoges (60 postes), et à l'IUT du Limousin site de Brive (50 postes). Après 15 ans d'utilisation, ce système reste encore en exploitation.

Service Informatique Campus "Marcland"

De 2003 à 2007, j'ai établi les fondations du Service Informatique de la Faculté de Médecine et de Pharmacie de Limoges, en mettant en place les éléments suivants :

  • Amélioration du réseau physique
  • Centralisation des DNS
  • Formalisation des procédures de MCO
  • Réalisation des plans du réseau informatique
  • Mise en place de serveurs applicatifs
  • Création de deux salles informatiques en libre accès pour les étudiants
  • Développement d'applications web
  • Câblage réseau catégorie 5/6

Faculté de médecine et de pharmacie de l'Université de Limoges

Portage logiciel de calcul en Pharmacocinétique

Aux alentours de 2005, j'ai porté un logiciel de calcul en Pharmacocinétique d'une version payante de Fortran vers une version libre. Ce projet a eu un impact notable, étant ensuite adopté par des universités belges.