Comprendre l'architecture d'OVHcloud Managed Kubernetes
Découvrez le fonctionnement d'OVHcloud Managed Kubernetes Service : control plane, worker nodes, réseau et stockage
Objectif
Ce guide explique l'architecture d'OVHcloud Managed Kubernetes Service (MKS) pour vous aider à comprendre comment vos clusters sont déployés, gérés et connectés. Comprendre cette architecture vous aidera à prendre des décisions éclairées concernant la configuration, le dépannage et le dimensionnement de votre cluster.
Vue d'ensemble
OVHcloud Managed Kubernetes Service est une offre Kubernetes certifiée CNCF qui abstrait la complexité de la gestion du control plane tout en vous donnant un contrôle total sur vos worker nodes et vos workloads.
Architecture du Control Plane
Le control plane est le cerveau de votre cluster Kubernetes. OVHcloud gère entièrement ce composant, qui inclut :
- API Server : L'interface principale du control plane Kubernetes, gérant toutes les requêtes API
- etcd : Le magasin de données clé-valeur distribué qui contient l'état et la configuration du cluster
- Controller Manager : Exécute les processus de contrôle (node controller, replication controller, etc.)
- Scheduler : Assigne les pods aux nœuds en fonction des besoins en ressources et des contraintes
Ce qu'OVHcloud gère pour vous
OVHcloud gère tous les aspects opérationnels du control plane :
À propos des mises à jour Kubernetes : OVHcloud met à disposition les nouvelles versions mineures de Kubernetes. Vous décidez quand déclencher la mise à jour. La seule exception concerne les clusters exécutant une version End-of-Life - dans ce cas, OVHcloud forcera une mise à jour vers la version suivante après notification préalable.
Plans Free vs Standard : différences du Control Plane
L'architecture du control plane diffère significativement entre les plans :
Selon les engagements SLA/SLO, un cluster Free peut connaître jusqu'à ~43 minutes d'indisponibilité par mois (pire cas), tandis qu'un cluster Standard limite cela à environ 4 minutes maximum.
Architecture des Worker Nodes
Les worker nodes sont les machines où vos applications conteneurisées s'exécutent. Contrairement au control plane, vous avez un contrôle direct sur la configuration des nœuds.
Comment les nœuds sont provisionnés
Les worker nodes sont basés sur des instances OVHcloud Public Cloud. Quand vous créez un pool de nœuds :
- OVHcloud provisionne des instances Public Cloud avec la flavor choisie
- Les instances sont automatiquement configurées avec les composants Kubernetes requis
- Les nœuds s'enregistrent auprès du control plane via Konnectivity
Le CNI diffère selon votre plan :
Concept des pools de nœuds
Les nœuds sont organisés en pools de nœuds - des groupes de nœuds partageant la même configuration :
- Flavor : Type d'instance (b3-8, b3-16, t1-45 pour GPU, etc.)
- Paramètres d'autoscaling : Min/max nodes, seuils de scale-down
- Anti-affinité : Distribuer les nœuds sur différents hyperviseurs
- Facturation : Horaire ou mensuelle (pour les flavors gen2), Saving Plans pour gen3 et au-delà
- Labels et taints : Pour le scheduling des workloads
Cycle de vie des nœuds
- Installing : Le nœud est en cours de provisionnement et de configuration
- Ready : Le nœud est sain et peut recevoir des pods
- NotReady : Le nœud a des problèmes (réseau, ressources, etc.)
- Draining : Le nœud est en cours d'évacuation (graceful, respecte les PDBs pendant 10 min max)
- Terminated : Le nœud est supprimé
Les worker nodes GPU (flavors t1 et t2) peuvent prendre plus d'une heure pour atteindre l'état ready.
Auto-healing
OVHcloud surveille la santé des nœuds. Si un nœud reste en état NotReady pendant plus de 10 minutes, l'auto-healing est déclenché :
- Plan Free : Le nœud est réinstallé in-place
- Plan Standard : Le nœud est supprimé et un nouveau est créé
Cela garantit la stabilité du cluster mais signifie :
- Ne stockez pas de données importantes directement sur les nœuds
- Utilisez toujours des Persistent Volumes pour les workloads stateful
- Concevez vos applications pour être résilientes aux pannes de nœuds
Mises à jour des nœuds
Lors de la mise à jour des versions Kubernetes, MKS propose deux stratégies pour mettre à jour les worker nodes :
Mises à jour in-place
Avec les mises à jour in-place, chaque worker node est mis à jour directement sur son instance Public Cloud existante :
- MKS met le nœud en cordon (le marque comme non-schedulable)
- MKS draine le nœud (évacue tous les pods, en respectant les PodDisruptionBudgets)
- Les composants Kubernetes sont mis à jour sur la même instance
- Le nœud redevient Ready
- Le processus se répète pour le nœud suivant (strictement un par un)
Caractéristiques :
- Pas d'instances supplémentaires requises
- Préserve l'identité de l'instance (mêmes IPs, même facturation)
- Processus plus lent (séquentiel, un nœud à la fois)
- Réduction temporaire de capacité pendant la mise à jour de chaque nœud
Les mises à jour in-place peuvent créer une pression sur les ressources si votre cluster n'a pas assez de capacité disponible pour accueillir les pods évacués du nœud en cours de mise à jour. Assurez-vous que vos nœuds restants peuvent gérer la charge supplémentaire.
Cas d'usage :
- Instances facturées mensuellement (conserver la même instance)
- Besoin de préserver les adresses IP publiques
- Environnements sensibles aux coûts (pas de coûts d'instances supplémentaires)
Rolling upgrades
Avec les rolling upgrades (disponibles sur le plan Standard), de nouveaux worker nodes sont créés avec la version Kubernetes cible :
- MKS crée un nouveau nœud avec la version cible
- MKS met en cordon et draine un ancien nœud
- Les workloads migrent vers le nouveau nœud
- L'ancien nœud est supprimé
- Le processus se répète jusqu'à ce que tous les nœuds soient mis à jour
Caractéristiques :
- Nécessite une capacité supplémentaire temporaire (nouveaux nodes créés avant suppression des anciens)
- Mises à jour plus rapides avec une meilleure disponibilité
- État propre des nœuds (instances fraîches)
- Meilleure gestion de la migration des workloads
Le rolling upgrade s'applique simultanément à tous les nodepools.
L'utilisation de PodDisruptionBudgets et topologySpreadConstraints permet d'éviter tout problème avec un déploiement réparti sur plusieurs nodepools.
Dans la roadmap future, les rolling upgrades supporteront les paramètres Kubernetes maxSurge et maxUnavailable pour contrôler combien de nœuds peuvent être ajoutés ou mis hors ligne simultanément.
Cas d'usage :
- Environnements de production nécessitant une haute disponibilité
- Cycles de mise à jour plus rapides
- Quand un état propre des nœuds est préféré
Comparaison
Ressources réservées
Chaque worker node réserve des ressources pour les composants système Kubernetes :
Exemple pour la flavor b3-16 : 170m CPU, 1.59GB RAM, 30GB stockage réservés.
Architecture réseau
Vue d'ensemble du réseau cluster
Ni l'option 2, ni l'option 1 avec un Load Balancer public, ne sont disponibles sur un cluster Standard créé avec l'exposition publique de ses nœuds et de ses workloads désactivée (reportez-vous à la section « Désactiver l'exposition publique des nœuds et des workloads »). Le lien entre le control plane et les nœuds dépend du plan (reportez-vous à la section « Connectivité avec le control plane »).
Options d'accès Internet
Les clusters MKS prennent en charge quatre schémas de connectivité Internet :
Option 1 - Load Balancer (Octavia) :
- Recommandé pour exposer des services sur Internet
- Fournit health checking, distribution de charge
- Point d'entrée unique avec une Floating IP
- Prend en charge le load balancing L4 (TCP/UDP)
Option 2 - Floating IP sur les nœuds :
- Chaque nœud peut avoir sa propre Floating IP attachée
- Permet un accès entrant direct (ex: via services NodePort)
- Préserve les adresses IP source pour le trafic sortant (pas de SNAT)
- Utile quand les pods doivent atteindre des services externes qui filtrent par IP
- L'IP est préservée lors des mises à jour in-place, mais change avec les rolling upgrades
Pour attacher une Floating IP à un nœud, une Gateway (routeur OpenStack) doit être configurée sur le subnet du réseau privé. Sans Gateway, les Floating IP ne peuvent pas être associées aux instances de ce subnet.
Option 3 - Gateway (SNAT) :
- Par défaut pour l'accès Internet sortant quand aucune Floating IP n'est attachée
- Tous les nœuds partagent la même IP sortante (IP de la Gateway)
- N'EXPOSE PAS les services sur Internet
- L'IP source est traduite (SNAT)
Option 4 - Votre propre routeur ou pare-feu (plan Standard) :
- Disponible sur les clusters Standard créés depuis le 13 octobre 2026 (
useUserGateway, qui exigedisablePublicNetworking), à définir à la création depuis l'API OVHcloud ou Terraform (provider 2.23.0 ou ultérieur, prise en charge dans la console OVHcloud et la CLI en cours) ; votre routeur est la passerelle du sous-réseau des nœuds - Le trafic sortant des nœuds et des pods passe par votre équipement, déployé dans votre réseau privé (sauf le trafic vers le control plane et les images système du service)
- Aucune passerelle managée OVHcloud n'est nécessaire
- L'exposition publique des nœuds et des workloads est désactivée : pas de Floating IP sur les nœuds ou les load balancers, pas de Load Balancer public
- Votre routeur n'est ni sur le chemin entre les nœuds et le control plane, ni sur celui des images système du service ; les pods sortent avec l'adresse privée de leur nœud
- Consultez le guide « Utiliser une passerelle personnalisée sur un cluster OVHcloud Managed Kubernetes »
Désactiver l'exposition publique des nœuds et des workloads
Sur les clusters Standard créés depuis le 13 octobre 2026, vous pouvez désactiver l'exposition publique des nœuds et des workloads à la création du cluster (disablePublicNetworking), avec ou sans votre propre routeur. Cette option sert de garde-fou : quoi que vous déployiez dans le cluster, rien ne peut être exposé sur Internet via une IP publique, même par erreur.
- Aucune Floating IP ne peut être attachée aux nœuds ni aux load balancers, et les Services de type
LoadBalancerne peuvent pas obtenir de Load Balancer public. - Le trafic sortant n'est pas affecté : les nœuds continuent d'accéder à Internet via la passerelle managée OVHcloud du sous-réseau des nœuds (obligatoire si vous n'utilisez pas votre propre routeur), ou via votre propre routeur.
- L'API server Kubernetes n'est pas concerné : il reste accessible publiquement avec vos restrictions d'IP.
- L'option se définit à la création depuis l'API OVHcloud ou Terraform (provider 2.23.0 ou ultérieur, prise en charge dans la console OVHcloud et la CLI en cours) et ne peut plus être modifiée ensuite.
Connectivité avec le control plane
Sur tout nouveau cluster Standard, le trafic entre les worker nodes et le control plane Kubernetes passe par un chemin privé opéré par OVHcloud. Il ne transite pas par la passerelle de votre réseau privé : une modification ou une panne de votre passerelle n'affecte pas la communication entre les nœuds et le control plane.
Sur les clusters du plan Free, ce trafic passe par l'interface publique des nœuds. Sur les clusters Standard créés avant le 13 octobre 2026, il passe par la passerelle du réseau privé.
CNI : Container Network Interface
Le plugin CNI diffère selon les plans :
Sous-réseaux réservés (ne pas utiliser dans votre réseau privé) :
Plan Free :
Plan Standard :
Options d'exposition des services
Les Services Kubernetes peuvent être exposés de plusieurs façons :
Intégration Load Balancer
Créer un Service de type LoadBalancer provisionne automatiquement un OVHcloud Public Cloud Load Balancer (basé sur OpenStack Octavia) :
Pour les versions Kubernetes >= 1.31, Octavia est le Load Balancer par défaut et aucune annotation n'est requise.
Options de réseau privé
OVHcloud propose deux façons d'utiliser les réseaux privés avec MKS :
1. Réseau privé Public Cloud (sans vRack)
Pour connecter les services OVHcloud Public Cloud dans la même région :
- Clusters MKS
- Instances Public Cloud
- Bases de données managées (DBaaS)
- Autres services Public Cloud
C'est l'option la plus simple quand vous avez uniquement besoin de connectivité privée entre ressources Public Cloud.
2. Intégration vRack
Pour une interconnectivité plus large entre les univers produits OVHcloud et entre régions :
Le vRack permet :
- Connectivité privée inter-régions
- Interconnexion avec les serveurs Bare Metal
- Interconnexion avec Hosted Private Cloud (VMware)
- Interconnexion avec d'autres produits dédiés OVHcloud
Sur les clusters du plan Free, avec un réseau privé (avec ou sans vRack), vous verrez toujours une IPv4 publique sur les worker nodes. Cette IP n'est pas joignable depuis Internet et est utilisée exclusivement pour l'administration des nœuds et la communication avec le control plane. Sur les clusters du plan Standard, les nœuds n'ont pas d'IP publique par défaut : ils accèdent à Internet via la passerelle managée ou via des Floating IP définies au niveau du pool de nœuds.
Architecture de stockage
Volumes persistants avec Cinder CSI
MKS utilise le driver OpenStack Cinder CSI pour le stockage persistant :
Classes de stockage
Modes d'accès et limitations
*Pour les volumes multi-attach (RWX), utilisez une de ces solutions de stockage OVHcloud :
Un worker node peut avoir un maximum de 100 volumes persistants Cinder attachés.
Modèle de sécurité
Responsabilité partagée
À propos des mises à jour de version Kubernetes : OVHcloud fournit les nouvelles versions mineures. Vous décidez quand mettre à jour. Cependant, si votre cluster exécute une version End-of-Life, OVHcloud forcera une mise à jour vers la version suivante après notification préalable.
Mécanismes de contrôle d'accès
- Authentification kubeconfig : Téléchargé depuis la console OVHcloud, donne un accès admin
- Intégration OIDC : Connectez votre fournisseur d'identité pour le SSO
- Restrictions IP API server : Limitez l'accès à des plages IP spécifiques
- RBAC : Contrôle d'accès basé sur les rôles pour des permissions granulaires
Fonctionnalités de sécurité
- Plan Free : Network policies via Calico
- Plan Standard : Network policies via Cilium (basé eBPF)
- Chiffrement des secrets en transit et au repos
- Isolation des nœuds via les security groups
- Logs d'audit disponibles dans la console OVHcloud (onglet
Logsdu cluster)
Versions des composants
Versions logicielles actuelles (pour les dernières versions Kubernetes) :
Pour la matrice complète des versions, consultez Plugins Kubernetes et versions logicielles.
Diagramme d'architecture : vue complète
Aller plus loin
- Limites connues
- Choisir le bon plan : Free vs Standard
- Modèle de responsabilité
- Versions logicielles et ressources réservées
- Utiliser le réseau privé vRack
- Volumes persistants
- Exposer vos applications avec le Load Balancer
Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.
Échangez avec notre communauté d’utilisateurs.