Version : 1.0 — 28/07/2026
Périmètre : Plateforme RBER (Fidjrossè + Parakou), tous services en exploitation
Public : Support N1 (SBIN campus + techniciens), Support N2 (techniciens IDADU TECH), N3 (ingénierie IDADU TECH)
Trois niveaux, trois périmètres d'action, aucun chevauchement :
| Niveau | Qui | Fait quoi | Ne fait jamais |
| N1 |
SBIN campus, techniciens support |
Accueil tickets Zammad, vérifications sans accès cluster, résolution comptes/usages, collecte d'informations, escalade qualifiée |
kubectl, SSH bastion, modification de configuration |
| N2 |
Techniciens IDADU TECH |
Diagnostic cluster (kubectl lecture + actions runbook), redémarrage de pods, exécution des runbooks N2, restaurations simples |
Modification d'architecture, opérations non couvertes par un runbook, failover inter-sites |
| N3 |
Ingénierie IDADU TECH |
Incidents majeurs, failover/failback, modifications d'architecture, restaurations complexes (CNPG, Harvester), tout ce qui sort des runbooks |
— |
Règle d'or N2 : si l'action n'est pas dans un runbook, on n'improvise pas, on escalade. L'incident INC-RBER-2026-07-23 a montré que des actions non tracées (exclusion MetalLB, images :latest) coûtent des jours de diagnostic.
| Service | URL | Plateforme | Namespace | Criticité | Runbook |
| Moodle UNSTIM | elearning.unstim.bj | RKE2 | RENSEIGNER_NS_MOODLE | Critique | Runbook-N2-Moodle |
| SSO Keycloak | auth.rber.bj | RKE2 | keycloak | Critique (tout l'écosystème en dépend) | Runbook-N2-Keycloak |
| Mail Stalwart | mail.rber.bj (IP publique 102.222.216.9) | RKE2 (hors reverse proxy, MetalLB 10.29.113.210) | RENSEIGNER_NS_STALWART | Haute | Runbook-N2-Mail |
| Visio BBB | visio.rber.bj | VM Harvester bbb/bbb-srv | bbb (Harvester) | Haute | Runbook-N2-BBB |
| Forge Gitea | git.rber.bj | RKE2 | RENSEIGNER_ | Moyenne | — |
| Registre Harbor | registre.rber.bj | RKE2 | RENSEIGNER_ | Haute (bloque tous les déploiements si down) | — |
| GitOps ArgoCD | ops.rber.bj | RKE2 | RENSEIGNER_ | Moyenne | — |
| Rancher | cloud.rber.bj | VM default/rancher | — | Haute | — |
| Monitoring | Grafana/Prometheus (release kps) | RKE2 | RENSEIGNER_NS_MONITORING | Haute | Runbook-N2-Monitoring |
| Ticketing Zammad | RENSEIGNER_URL_ZAMMAD | RKE2 | RENSEIGNER_ | Haute (outil du support) | — |
| Wikis | Wiki.js, BookStack | RKE2 | RENSEIGNER_ | Basse | — |
| Stockage objets | MinIO — interne 10.29.112.150:9000 | Serveur physique | — | Critique (cible de toutes les sauvegardes) | Runbook-N2-Sauvegardes |
| Bases de données | 7 clusters PostgreSQL CNPG | RKE2, opérateur ns shared | par service | Critique | Runbook-N2-Sauvegardes |
| Élément | Valeur |
| Hôtes Harvester Fidjrossè | fid-rber-cls-01/02/03/04 — 10.29.112.130–133, VIP 10.29.112.140 |
| Site secondaire | Parakou, 3 nœuds (DR) |
| Cluster RKE2 | 3 etcd (10.29.113.2–4), 3 control plane (10.29.113.5–7), 3 workers (10.29.113.10–12) |
| HAProxy externe | rber-ldb-int-01 — 10.29.113.21 (SNI routing 443, passthrough) |
| Ingress Controller | 10.29.113.201:443 |
| Pool MetalLB | 10.29.113.200–220 |
| Bastion | fid-bastion-srv-01 — clé SSH ~/.ssh/id_rke2_admin |
| LDAP universités | UAC 10.24.112.33, UNSTIM 10.21.112.33, UP 10.25.112.33, UNA 10.20.112.33 (port 389) |
| IP publique | 102.222.216.6 (NAT services web), 102.222.216.9 (mail) |
Utilisateur → Ticket Zammad → N1 (qualification, fiches réflexes)
→ si non résolu en 30 min ou hors périmètre N1 → N2 (runbooks)
→ si non couvert par runbook, ou incident majeur → N3
- Plusieurs services down simultanément (suspicion incident infrastructure)
- auth.rber.bj down (SSO = tout l'écosystème impacté)
- Suspicion de perte de données ou de compromission sécurité
- Coupure électrique ou intervention réseau sur site
| Priorité | Définition | Prise en charge | Escalade auto si non résolu |
| P1 | Service critique down (Moodle, SSO, MinIO) | 15 min | 30 min → N2, 1 h → N3 |
| P2 | Service haute criticité down ou critique dégradé | 30 min | 2 h → N2 |
| P3 | Service dégradé, utilisateur bloqué | 2 h | 1 jour → N2 |
| P4 | Demande, question, amélioration | 1 jour | — |
| Rôle | Nom | Canal | Disponibilité |
| N2 astreinte | RENSEIGNER_ | Telegram groupe alertes + tél. RENSEIGNER_ | RENSEIGNER_ |
| N3 ingénierie | RENSEIGNER_ | RENSEIGNER_ | RENSEIGNER_ |
| Référent Parakou | RENSEIGNER_ (à partir de 2026, heures ouvrées) | RENSEIGNER_ | HO |
| Alertes automatiques | — | Telegram (critique), devops@rber.bj (warning) | 24/7 |
- Aucune modification manuelle non tracée. Toute action N2 est consignée dans le ticket Zammad : commande exécutée, heure, résultat.
- Diagnostic avant action. On identifie la cause avant de redémarrer quoi que ce soit. Un redémarrage qui « répare » sans diagnostic masque un défaut latent.
- Contexte kubectl explicite. Deux clusters coexistent (Harvester et RKE2 invité) : toujours vérifier
kubectl config current-context avant toute commande. Erreur de contexte = risque de casse majeure.
- Jamais
kubectl scale sur un workload stateful pour éliminer un pod en échec — kubectl delete pod ciblé uniquement.
- Jamais d'image
:latest. Toute correction d'image se fait par digest épinglé.
- Un message d'erreur applicatif peut mentir. Vérifier les dépendances (base de données, DNS, stockage) avant d'incriminer la configuration du service (précédent : « parse error » Stalwart = base injoignable).
- Une sauvegarde non testée n'est pas une sauvegarde. Tout échec de sauvegarde est un ticket P2, pas un bruit de fond.
| Document | Public |
| Fiches-Reflexes-N1-RBER | N1 |
| Runbook-N2-Mail-Stalwart | N2 |
| Runbook-N2-Monitoring-Alertes | N2 |
| Runbook-N2-Moodle / Keycloak / BBB | N2 |
| Runbook-N2-Sauvegardes-Restauration | N2 |
| Runbooks-Failover-Bidirectionnel-RBER-v2 | N3 uniquement |
| Guide_Configuration_DevOps_RBER, guide-kubectl-rber | N2/N3 |
| Rapport INC-RBER-2026-07-23 | Lecture obligatoire N2/N3 |