đ„ Superphenix : un cloud complet sur ton propre matĂ©riel

đ Introduction
Depuis le rachat de VMware par Broadcom, beaucoup dâĂ©quipes infra font le mĂȘme calcul : les licences grimpent, le matĂ©riel reste le mĂȘme, et la dĂ©pendance Ă un Ă©diteur unique devient un risque business. Les alternatives existent. Proxmox VE couvre trĂšs bien la virtualisation, KubeVirt fait entrer les VMs dans Kubernetes. Mais il manque souvent la couche au-dessus : le multi-tenant, les VPC, les quotas, une console, du Kubernetes as a Service pour les clients.
Câest exactement le trou que veut combler Superphenix. Le projet vient dâĂȘtre ouvert sous licence Apache 2.0, et il ne sort pas dâun labo. Il est nĂ© des besoins dâun opĂ©rateur cloud en production, et il fait aujourdâhui tourner le cloud public dâAgora CalycĂ©, un CSP français. Il est maintenu par Rayshift, lâentreprise de lâĂ©quipe qui lâa conçu.
đ Quâest-ce que Superphenix, concrĂštement ?
Une stack cloud complÚte à poser sur tes propres serveurs. Kubernetes y joue le rÎle de plan de contrÎle, et tout le reste (machines virtuelles, disques, réseaux, clusters Kubernetes clients) devient une ressource gérée par ce plan.
Le README rĂ©sume lâoffre par couches :
| Couche | Ce qui est fourni |
|---|---|
| Hyperviseur | VMs avec migration Ă chaud, snapshots, autoscaling des noeuds |
| Stockage | Bloc, fichier et objet compatible S3, avec réplication et reprise |
| Réseau | VPC, NAT gateways, BGP, load balancers, QoS, security groups |
| PaaS | Kubernetes as a Service pour les clusters des tenants |
| SaaS | Services prĂȘts Ă lâemploi (annoncĂ©s, pas encore livrĂ©s) |
| Console | Interface web multi-tenant couvrant toutes les AZ et régions |
| Cycle de vie | Installation, mises à jour et provisionnement pilotés en GitOps |

Ce qui me plaĂźt, câest le choix de ne rien rĂ©inventer. Superphenix assemble des projets CNCF et open source que je connais et en qui jâai confiance, puis ajoute la couche produit qui leur manque.
đ§± Une architecture bĂątie sur des briques connues
Sous le capot, la documentation cite des projets solides :
- Talos Linux pour lâOS des noeuds. Câest la seule base officiellement supportĂ©e.
- KubeVirt pour faire tourner les instances : chaque VM est une ressource Kubernetes, comme je le détaille dans mon article sur KubeVirt.
- Kube-OVN, Multus CNI et Cilium pour le réseau software-defined (VPC, subnets, elastic IPs).
- Ceph, orchestré par Rook, pour le stockage bloc et objet.
- ArgoCD pour synchroniser la stack, dans la logique que je décrivais pour ArgoCD sur k3s.
EmpilĂ©es, ces briques forment des couches nettes. Talos et Kubernetes en bas, les projets open source au milieu, et en haut les services quâun tenant consomme depuis la console :
Le modĂšle dâorganisation reprend celui des clouds publics. Un cluster Superphenix est un cluster Kubernetes. Plusieurs clusters forment une zone de disponibilitĂ© (AZ), qui sert de domaine de panne. Les AZ se regroupent en rĂ©gions, une simple Ă©tiquette dâorganisation. CĂŽtĂ© clients, deux niveaux : des organisations qui contiennent des projets, et câest au niveau du projet que sâappliquent les rĂŽles et les quotas. Un mĂȘme projet peut avoir des VMs dans plusieurs AZ.
La doc prĂ©cise un point que jâapprĂ©cie : une AZ Ă©tirĂ©e sur plusieurs datacenters nâa de sens quâavec environ 2 ms de latence aller-retour entre sites, ou moins. En pratique, deux salles dâun mĂȘme campus ou deux points de prĂ©sence dans la mĂȘme mĂ©tropole. Au-delĂ , il vaut mieux crĂ©er des AZ sĂ©parĂ©es.
𧩠Hyperconvergé ou découplé : quel mode choisir ?
HyperconvergĂ© pour dĂ©marrer et grandir en ajoutant des serveurs, dĂ©couplĂ© quand la performance ou le partage du stockage priment. Le choix se fait AZ par AZ, avant lâinstallation.
Le mode hyperconvergé
Stockage et calcul partagent les mĂȘmes noeuds, dans un seul cluster. Chaque serveur apporte Ă la fois ses disques Ă Ceph et son CPU Ă KubeVirt. Câest le modĂšle le plus simple Ă installer et Ă maintenir, et le moins cher, puisque le matĂ©riel est mutualisĂ©. Pour grandir, on ajoute des serveurs et la capacitĂ© de stockage suit celle de calcul.
Le revers, câest la contention. Ceph et les VMs se disputent les mĂȘmes CPU, la mĂȘme RAM et le mĂȘme rĂ©seau, surtout pendant une reconstruction aprĂšs une panne de disque. La doc le recommande pour les preuves de concept, les dĂ©ploiements Ă une seule AZ et les Ă©quipes qui veulent croĂźtre horizontalement. Câest aussi le mode du lab de dĂ©marrage.
Le mode découplé
Le stockage vit sur des clusters dĂ©diĂ©s, les VMs sur dâautres clusters « workload » qui consomment ces volumes. Chaque cluster est dĂ©clarĂ© avec deploymentTopology: Decoupled et un type qui vaut Storage ou Workload. Plusieurs clusters workload, dans des racks ou des sites diffĂ©rents, peuvent se brancher sur le mĂȘme stockage.
Il faut deux fois plus de clusters, donc plus de matĂ©riel et plus dâexploitation. En Ă©change, chaque tier a son matĂ©riel, on dimensionne stockage et calcul sĂ©parĂ©ment, et rien ne se marche dessus. Câest le mode que la doc conseille en production pour les environnements chargĂ©s ou quand il faut une frontiĂšre de sĂ©curitĂ© nette entre stockage et calcul. Il facilite aussi le partage du stockage entre plusieurs AZ : des AZ hyperconvergĂ©es voisines peuvent consommer le stockage lâune de lâautre, mais seulement si la latence et le rĂ©seau le permettent. Et câest le mode que la doc retient pour partager le stockage avec des systĂšmes extĂ©rieurs, comme un cluster VMware en cours de migration.
| CritÚre | Hyperconvergé | Découplé |
|---|---|---|
| Installation et maintenance | simples, un cluster | plus lourdes, deux fois plus de clusters |
| Coût | faible, matériel mutualisé | plus élevé, matériel dédié par tier |
| Montée en charge | on ajoute des serveurs, tout grandit | stockage et calcul grandissent séparément |
| Performance | ressources partagées | matériel dédié, sans contention |
| Stockage partagĂ© | en gĂ©nĂ©ral un stockage par AZ | un mĂȘme stockage pour plusieurs AZ ou systĂšmes |
Et le plan de management ?
Un second choix se combine au premier : oĂč tourne le plan de management (console, GitOps, installation et mises Ă jour). Il peut vivre dans une AZ, sur le mĂȘme cluster que les workloads, ce qui est simple mais fait de cette AZ un point de dĂ©faillance unique si elle en pilote dâautres. Ou Ă part, sur un cluster dĂ©diĂ© qui peut mĂȘme tourner chez un autre fournisseur : plus de travail, mais un point neutre pour orchestrer plusieurs AZ et basculer plus facilement. La doc le conseille dĂšs quâon passe Ă plusieurs AZ.
Les deux choix donnent quatre combinaisons. La plus simple, « fully integrated », met tout sur un cluster. La plus robuste, « fully decoupled », sĂ©pare stockage, calcul et management. Une prĂ©cision qui compte : on peut mĂ©langer des AZ hyperconvergĂ©es et dĂ©couplĂ©es sous le mĂȘme management, mais on ne peut pas passer une AZ dâun mode Ă lâautre aprĂšs coup. La doc qualifie ce chemin de non supportĂ©. DĂ©placer le plan de management, en revanche, reste une procĂ©dure prĂ©vue.
đ ïž Ce quâon peut en faire
CÎté compute, une instance va de 1 à 32 vCPU et de 1 à 64 Go de RAM, avec BIOS ou UEFI, Secure Boot, vTPM 2.0, cloud-init, et une console série ou VNC dans le navigateur. Le stockage gÚre disques, snapshots copy-on-write, politiques de sauvegarde et réplication asynchrone entre zones, plus un stockage objet S3.
La partie la plus intĂ©ressante pour moi reste le KaaS. Un tenant crĂ©e son cluster Kubernetes, dont les noeuds sont des pools de VMs branchĂ©s sur ses VPC, avec CNI et CSI intĂ©grĂ©s Ă la plateforme. Les workers se migrent Ă chaud comme nâimporte quelle instance, et chaque version de Superphenix supporte trois versions mineures de Kubernetes. Pour un hĂ©bergeur, câest lâoffre « Kubernetes managĂ© » sans dĂ©pendre dâun hyperscaler.
đ Installer un premier lab
Le guide officiel part du cas le plus simple : 3 noeuds, une AZ, en hyperconvergĂ©, le management sur le mĂȘme cluster, un switch et un VLAN Ă plat. Il te faut talosctl, Helm, kubectl et curl, une plage IPv4 rĂ©servĂ©e aux NAT gateways et aux elastic IPs, et un nom de domaine pour la console (nip.io dĂ©panne en lab).
On démarre les noeuds sous Talos, puis on génÚre leur configuration :
talosctl gen config spx-local https://<api-endpoint>:6443Le controlplane.yaml gĂ©nĂ©rĂ© ne convient pas tel quel : il faut lâĂ©diter avant de lâappliquer. Superphenix installe lui-mĂȘme le CNI et CoreDNS, et ce lab Ă 3 noeuds fait aussi tourner les workloads sur les control planes. Le cĆur des changements :
cluster:
allowSchedulingOnControlPlanes: true
network:
cni:
name: none
coreDNS:
disabled: trueLe guide ajoute dâautres rĂ©glages indispensables : les sous-rĂ©seaux pods et services, le feature gate MutatingAdmissionPolicy sur lâAPI server et le controller manager, le module noyau openvswitch et une interface externe nommĂ©e ext0 sur chaque noeud. Copie le fichier complet depuis le guide de dĂ©marrage plutĂŽt que de le réécrire, puis applique-le et initialise le cluster :
talosctl apply-config --insecure --nodes <node-ip> --file controlplane.yaml
talosctl bootstrap --nodes <first-control-plane-ip>
talosctl kubeconfig .
kubectl get nodesPuis on dĂ©ploie lâopĂ©rateur via son chart OCI, avec un values.yaml qui dĂ©crit la topologie, les domaines et le subnet externe :
OPERATOR_VERSION="$(curl -fsSL -o /dev/null -w '%{url_effective}' https://github.com/super-phenix/superphenix/releases/latest | sed 's#.*/v##')"
helm install superphenix-operator \
"oci://ghcr.io/super-phenix/charts/superphenix-operator:${OPERATOR_VERSION}" \
--namespace superphenix-system \
--create-namespace \
-f values.yamlLâopĂ©rateur installe ensuite ArgoCD, qui synchronise le reste de la stack.
đŻ Qui lâutilise dĂ©jĂ ?
Le dĂ©pĂŽt tient un fichier ADOPTERS.md qui rĂ©pond noir sur blanc. Trois organisations y figurent aujourdâhui :
| Organisation | Type | Usage déclaré |
|---|---|---|
| Rayshift | Ăditeur | Lâentreprise oĂč Superphenix a Ă©tĂ© créé, qui en assure le support entreprise |
| Agora CalycĂ© | Utilisateur | CSP français qui sâappuie sur Superphenix pour son infrastructure de cloud public |
| Kercia | Utilisateur | Spécialiste français du vote électronique, qui en a fait sa plateforme de cloud privé principale |
La liste est courte, et câest normal pour un projet qui vient dâouvrir son code. Elle couvre pourtant les deux usages visĂ©s par le README : un opĂ©rateur qui vend du cloud public Ă ses clients, et une entreprise qui hĂ©berge ses propres applications critiques sur un cloud privĂ©. Le vote Ă©lectronique nâest pas le mĂ©tier oĂč lâon choisit sa plateforme Ă la lĂ©gĂšre.
Le fichier est aussi une porte dâentrĂ©e : si tu fais tourner Superphenix, une pull request suffit pour tây ajouter.
đą Et Rayshift dans tout ça ?
Superphenix reste open source et auto-hébergeable par défaut. Rayshift, fondée par les créateurs du projet, vend la version industrialisée : releases qualifiées, support avec SLA, réponse aux incidents, réversibilité contractuelle, et accompagnement sur la migration depuis VMware, la conformité ou le réseau avancé. La cible affichée, ce sont les MSP et opérateurs cloud européens.
Le modĂšle me paraĂźt sain. Un projet dâinfrastructure critique a besoin dâune entreprise qui en vit, et le fait que le cĆur soit sous Apache 2.0 limite le risque de se retrouver enfermĂ© Ă nouveau.
â ïž Quelques prĂ©cautions
- Projet jeune en open source. La doc le dit elle-mĂȘme : elle est encore en construction. PrĂ©vois de lire les sources et de passer sur le Slack.
- Talos, et pas nâimporte quelle version. Le guide exige Talos 1.12.6 ou antĂ©rieur : les versions plus rĂ©centes touchent un bug du noyau Linux qui casse le SDN.
- NAT gateway et noeud hĂŽte. Ă cause dâune limite de macvlan, le trafic dâune NAT gateway vers une adresse du noeud qui lâhĂ©berge est perdu. Mets un load balancer devant les noeuds plutĂŽt que de pointer le DNS de la console sur un seul.
- Ceph a ses exigences. En hyperconvergĂ©, dimensionne les machines pour Ceph plus lâhyperviseur, avec de la marge pour la reconstruction. Sur des disques lents, la doc propose
local-path, rĂ©servĂ© au debug. - Le SaaS nâest pas encore lĂ . Le DBaaS et les services prĂȘts Ă lâemploi sont annoncĂ©s « soon ».
đ Conclusion
Superphenix ne remplace pas Proxmox pour un homelab de deux machines. Si tu veux un vrai cloud multi-tenant, avec VPC, quotas, KaaS et GitOps, sur ton matĂ©riel et sans licence propriĂ©taire, câest le projet le plus complet que je connaisse dans ce crĂ©neau. Il sâappuie sur KubeVirt, Ceph et Kube-OVN plutĂŽt que sur du code maison.
Je te conseille de monter le lab à 3 noeuds pour te faire une idée, puis de regarder du cÎté de Rayshift si tu vises la production sur des charges critiques.
đ Liens utiles
/faq
Questions fréquentes
Qu'est-ce que Superphenix ?
+
Superphenix est une plateforme open source sous licence Apache 2.0 pour construire son propre cloud (IaaS, PaaS, puis SaaS) sur son matériel. Kubernetes sert de plan de contrÎle, et les VMs, le stockage, le réseau et les services managés tournent comme des charges de premier plan au-dessus.
Sur quelles briques open source repose Superphenix ?
+
D'aprÚs la documentation officielle : Talos Linux pour l'OS des noeuds, KubeVirt pour les machines virtuelles, Kube-OVN, Multus et Cilium pour le réseau, Ceph piloté par Rook pour le stockage, et ArgoCD pour le déploiement GitOps.
Quel est le rĂŽle de Rayshift dans Superphenix ?
+
Rayshift est l'entreprise créée par l'équipe qui a construit Superphenix. Elle propose une version commerciale avec des releases qualifiées, du support avec SLA, de l'aide à la migration depuis VMware et de l'accompagnement à la mise en production. Le projet open source reste utilisable sans elle.
Superphenix hyperconvergé ou découplé, lequel choisir ?
+
L'hyperconvergĂ© met stockage Ceph et VMs sur les mĂȘmes noeuds : simple, peu coĂ»teux, idĂ©al pour un PoC ou une AZ unique. Le dĂ©couplĂ© sĂ©pare un cluster de stockage et des clusters workload : plus lourd, mais plus performant, et il facilite le partage du stockage entre plusieurs AZ. Le choix se fait par AZ, avant l'installation, car passer de l'un Ă l'autre n'est pas supportĂ©.
Qui utilise Superphenix en production ?
+
Le fichier ADOPTERS.md du dépÎt cite Agora Calycé, un CSP français qui s'appuie sur Superphenix pour son cloud public, et Kercia, spécialiste du vote électronique, qui en a fait sa plateforme de cloud privé principale. Rayshift y figure comme éditeur.
Quel matériel faut-il pour tester Superphenix ?
+
Le guide de démarrage décrit un lab de 3 noeuds en topologie hyperconvergée, une seule zone de disponibilité, sur un switch et un VLAN à plat, avec une plage IPv4 réservée aux NAT gateways et aux elastic IPs.