Migration vers hepto v2
Cette issue a pour but de préarer, suivre, et documenter la migration de notre cluster vers hepto v2 le samedi 9 décembre à partir de 13h. On prévois une à quatre heure de travail.
Décisions dimensionnantes
Sur la réinstallation des OS, actuellement les noeuds Kity tournent sous Debian 11. Il serait sage soit de les dist-upgrade, soit de les réinstaller. Comme toutes les données sont sur une partition à côté, je serais assez favorable à les réinstaller sous Debian 12 histoire de faire les choses bien.
Sur l'état du cluster, je propose de redéployer from scratch plutôt que de migrer les objets k8s. Vu le nombre de majeures c'est plus sage.
Sur les données, plutôt que de les recopier, je propose de les conserver in place. Ainsi, la partition de données peut être conservée telle quelle. Les seules données essentielles sont celles de Garage. Nous avons également les données statistiques sur Prometheus et les dashboard Grafana, faciles à conserver in place bien qu'on voudra plus tard les déplacer sur un stockage distribué.
Sur le noeud public, je propose de le déployer sur aegir cette fois, plutôt que sur une machine dédiée. Il y a de grandes chances que ça fonctionne, et ça libérera un serveur, et les sous qui vont avec.
Déroulé de la migration
Préparation (au plus tard vendredi 22h, sinon on reporte)
-
Annoncer la coupure du cluster et des services associés le samedi 9 décembre de 13h à 18h. -
S'assurer de la disponibilité de tout le monde nécessaire sur le créneau. -
#21 Documenter la liste des machines du cluster avec plus de détails, dont le schéma de partitionnement, le chiffrement de disque, etc. -
Tester et retester le déploiement d'un cluster avec la collection Ansible, y compris quand on ne déploie qu'un noeud avec le playbook. -
Tester le helm chart hepto pour déployer la base et un Flux, y-compris sur le Flux TeDomum -
#21 Mettre à jour Garage en 0.9 -
Ajouter tous les admins du cluster dans la bonne team Vault et y partager le password de déploiement Ansible -
Clôner les dépôts nécessaires chez tout le monde -
Déployer le master mainecoon
du nouveau cluster et partager l'anchor dans la config Ansible -
Déployer le noeud public angora
sur aegir -
Déployer un noeud temporaire chartreux
chez kaiyou sur une machine en Debian 12 -
Configurer une branche du flux TeDomum en désactivant toutes les kustomizations pour commencer -
Bootstrap le cluster sur la branche de flux mentionnée -
Déployer traefik, cert-manager, un ingress pour l'apiserver sur une adresse temporaire, et un podinfo de test -
Fournir des tokens de connexion à tout le monde
Le jour J
-
Le matin annoncer à nouveau la coupure générale -
12h Dernière annonce de coupure, confirmation des disponibilités des acteurs -
13h Briefing et dernières vérifications -
13h15 Extinction de Kity et réinstallation de l'OS sur tous les noeuds -
13h30 Déploiement des 3 noeuds supplémentaires -
13h45 Déploiement et tests de Garage -
14h Annonce du retour de la majorité des services -
14h Déploiement progressif des services manquants sur Kity en réactivant les kustomization (priorité à crypt0n, chat, ntfy, et collabora, le reste est plus délicat mais peut attendre)
Après les faits
-
Communiquer sur la migration et sur l'emploi de Hepto v2 -
Merge la branche du dépôt Flux dans la main et basculer Flux dessus