Corrections

This commit is contained in:
Yorick Barbanneau 2021-08-31 00:48:15 +02:00
parent 5135035345
commit ab1b7616f7
7 changed files with 117 additions and 52 deletions

View file

@ -1,17 +1,18 @@
\chapter{Migration des services de jails FreeBSD vers docker}
\label{chap:migration_docker}
\large \paragraph{} L'intégralité des services utilisé par le service
informatique fonctionnaient dans des \textit{jails FreeBSD}\footnote{Système de
conteneur propre aux système BSD. La première version est sortie en mars 2000
avec FreeBSD 4}. Étant la seule personne au service informatique a avoir des
compétences dans l'administration de serveur FreeBSD, at afin d'anticiper
mon départ prévu début août, nous avons décidé de tout migrer de vers des
mon départ prévu début août, nous avons décidé de tout migrer vers des
conteneurs \textit{Docker}.
\normalsize
\paragraph{} \textit{Docker} a l'avantage d'être une solution beaucoup plus
répandue et accessible. Notre alternant Lucas la maitrisait déjà, ce qui n'
etait pas mon cas. Nous avons donc travailler ensemble sur ce point.
répandue et accessible. Notre alternant Lucas la maitrisait déjà, ce qui
n'était pas mon cas. Nous avons donc travailler ensemble sur ce point.
\section{Migration de services existants}
@ -33,10 +34,11 @@ Tous les conteneurs fonctionnaient sur une seule machine physique, il y en avait
\subsection{Défintion de la nouvelle architecture}
\paragraph{} Nous sommes partis du principe d'un conteneur par service, et ce
même pour les base de données attachees. En frontal, Træfik a été retenu pour
son intégration poussée avec Docker. Il fera office de reverse-proxy et de
chiffrer le traffic. Un schéma du fonctionnement attendu de la nouvelle
installation est disponible figure \ref{Fig:docker} (page \pageref{Fig:docker}).
même pour les base de données attachées. En frontal,
\link{https://taefik.io}{Træfik} a été retenu pour son intégration poussée avec
Docker. Il fera office de reverse-proxy et de chiffrer le traffic. Un schéma du
fonctionnement attendu de la nouvelle installation est disponible figure
\ref{Fig:docker} (page \pageref{Fig:docker}).
\begin{figure}[H]
\includegraphics[width=\linewidth]{generated/plan_docker}
@ -45,7 +47,7 @@ installation est disponible figure \ref{Fig:docker} (page \pageref{Fig:docker}).
\label{Fig:docker}
\end{figure}
\section{L'installation}
\section{L'installation en laboratoire}
\subsubsection{La machine hôte}
@ -77,8 +79,47 @@ base. Je suis intervenu ensuite pour intégrer le plugin \textit{Fusion
inventory}, le point d'entrée des agents et des tâches
\textit{cron}\footnote{système de planification des tâches}.
\subsubsection{Finalisation des configuration}
\subsubsection{Le cas Gitea}
\paragraph{} La migration de cette application impliquait aussi la migratoion de
sa base de données de \textit{SQLite} vers \textit{MariaDB}. J'ai passé deux
jours complets afin de \textbf{tester plusieurs système de migration} mais rien
n'a fonctionné correctement~:
\begin{itemize}
\item utilisation de la fonction d'export de Gitea dans un format compatible
MariaDB
\item écriture d'un script transformant l'export SQLite en fichier SQL
compatible MariaDB.
\end{itemize}
\paragraph{} Comme les données des dépôts pouvaient être \textbf{facilement
restaurées} avec l'export réalisé depuis la \textit{Jail}, j'ai décidé de
repartir de zéro du côté de la base de données. J'ai donc recréé les comptes
uilisateurs et chacun a replacé sa clef SSH\footnote{nous n'utilisions aucune
fonctionnalité liées à la base de données à part l'authentification}; évitant de
perdre davantage de temps.
\section{Le passage en production}
\paragraph{} Une fois l'écriture du \textit{Docker-Compose} par Lucas finalisée,
je suis intervenu sur la correction de certains problèmes et le peaufinage des
configurations.
configurations. Nous avons ensuite plannifié le passage en production.
\paragraph{} Pour le passage en production, il nous a fallu réutiliser le
serveur FreeBSD. Les services à migrer étant exclusivement utilisés par le
service informatique, nous avons défini une demi-journée de coupure de
l'ensemble des services pour la migration.
\paragraph{} Comme nous avions passé beaucoup de temps à tester --- que se soit
la mise en place du système hôte ou les conteneurs --- la mise en production
s'est \textbf{globalement bien passée}.
\section{En conclusion}
\paragraph{} Ce projet a sûrement été \textbf{le plus intéressant de ces
derniers mois}. Travailler de concert avec Lucas a été source de motivations et
de plaisir. J'ai d'ailleurs beaucoup appris à ses côtés.