Maintenance
Il est conseillé d'utiliser tous les modules Open ENT d'une même version, mais il est possible de mettre à jour uniquement un module sans impacter l'ensemble du fonctionnement d'Open ENT.
Pour une mise en production, il est conseillé d'utiliser Kubernetes qui peut être en mode hébergé par un Cloud Provider (OVH, Azure, Google, ...) ou bien installé dans votre propre infrastructure.
Mise à jour des applications sans interruption (Rolling Updates)
Kubernetes permet d’effectuer des mises à jour progressives de vos applications sans interrompre le service.
Rolling Updates : Une nouvelle version d’une application peut être déployée en remplaçant progressivement les anciens Kubernetes pods par les nouveaux. Cela permet d’éviter une interruption de service complète.
Exemple de commande pour le module feeder (openent-feeder) :
kubectl set image deployment/openent-feeder openent-feeder=ghcr.io/pass-tech-developpement/open-ent/feeder:<nouvelle_version> -n openent-dev
Par exemple, si tu veux mettre à jour vers la version 1.0.2-dev :
kubectl set image deployment/openent-feeder openent-feeder=ghcr.io/pass-tech-developpement/open-ent/feeder:1.0.2-dev -n openent-dev
Vérifier le déploiement Après avoir changé l'image, tu peux vérifier si la mise à jour est en cours et si elle se déroule correctement avec la commande suivante :
kubectl rollout status deployment/openent-feeder -n openent-dev
Canary Deployment : Kubernetes peut être configuré pour déployer une nouvelle version d’un service sur un sous-ensemble de pods, permettant ainsi de tester cette version avec une petite partie du trafic avant de l'étendre à tout le cluster (voir scalabilité).
Exemple de déploiement des différents containers :
NAME READY STATUS RESTARTS AGE
openent-mongodb-6489d9dd8f-kc6wl 1/1 Running 0 20d
openent-directory-7b4b865f68-qnjw7 1/1 Running 0 20d
openent-portal-5b6468d6cf-b4bds 1/1 Running 0 20d
openent-admin-8446f67dc8-jf5bb 1/1 Running 0 20d
openent-neo4j-0 1/1 Running 0 19d
openent-feeder-5d894dfbcc-c878x 1/1 Running 0 19d
openent-catalog-6774fffb88-qmt7t 1/1 Running 0 10d