Corrections
This commit is contained in:
parent
5135035345
commit
ab1b7616f7
7 changed files with 117 additions and 52 deletions
|
@ -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.
|
||||
|
|
Reference in a new issue