Serveur pour conteneurs Docker et KubernetesServer built for Docker containers and Kubernetes

Kubernetes on-premise se heurte a deux réalités matérielles : etcd deteste la latence disque, et un cluster hetereogene complique le placement des pods. Un nœud bien conçu privilégie donc le NVMe local pour le plan de contrôle et une flotte de workers homogènes. S2I assemble et teste ces nœuds avant de les livrer prêts a joindre le cluster.On-premise Kubernetes runs into two hardware realities: etcd hates disk latency, and a heterogeneous cluster complicates pod placement. A well-designed node therefore favours local NVMe for the control plane and a fleet of homogeneous workers. S2I assembles and tests these nodes before delivering them ready to join the cluster.

Plan de contrôle : etcd et latence disqueControl plane: etcd and disk latency

etcd écrit son journal de manière synchrone et attend la confirmation du disque avant de valider. Un stockage lent ou partage se traduit immédiatement par des elections de leader intempestives et un cluster instable. La règle pratique est simple : SSD NVMe local dédié au plan de contrôle, jamais un volume réseau ni un disque mécanique. Le plan de contrôle demande peu de capacité mais beaucoup de constance. Trois nœuds de contrôle permettent de survivre a la perte d'un membre sans arrêter l'orchestration.etcd writes its log synchronously and waits for disk confirmation before committing. Slow or shared storage translates immediately into spurious leader elections and an unstable cluster. The practical rule is simple: local NVMe SSDs dedicated to the control plane, never a network volume and never a spinning disk. The control plane needs little capacity but a great deal of consistency. Three control nodes let you survive the loss of one member without stopping orchestration.

  • SSD NVMe local dédié a etcd, jamais de stockage réseau
  • Trois nœuds de contrôle pour un quorum résistant
  • Latence d'écriture stable privilegiee sur le débit brut
  • Sauvegarde régulière des snapshots etcd hors du cluster
  • Local NVMe SSD dedicated to etcd, never network storage
  • Three control-plane nodes for a resilient quorum
  • Consistent write latency valued above raw throughput
  • Regular etcd snapshot backups stored outside the cluster

Nœuds workers homogènes et dimensionnementHomogeneous worker nodes and sizing

Le planificateur Kubernetes répartit les pods selon les ressources annoncées. Des nœuds de tailles très différentes produisent des placements desequilibres et compliquent les mises à jour glissantes. Nous recommandons des workers identiques, ni trop petits ni trop gros : un nœud enorme concentre trop de pods et rend chaque redémarrage douloureux. Comptez aussi la réserve système du kubelet et du runtime, souvent oubliee au moment du calcul de capacité, ainsi que la marge pour drainer un nœud complet.The Kubernetes scheduler distributes pods according to advertised resources. Nodes of wildly different sizes produce unbalanced placement and complicate rolling updates. We recommend identical workers, neither too small nor too large: an oversized node concentrates too many pods and makes every reboot painful. Also account for the system reserve taken by the kubelet and container runtime, frequently forgotten during capacity planning, plus headroom to drain a whole node.

  • Workers identiques pour un placement prévisible des pods
  • Taille de nœud modérée plutôt qu'un unique nœud geant
  • Réserve système kubelet et runtime intégrée au calcul
  • Capacité libre suffisante pour drainer un nœud entier
  • Identical workers for predictable pod placement
  • Moderate node size rather than a single giant node
  • Kubelet and runtime system reserve included in the calculation
  • Enough free capacity to drain a complete node

Réseau, stockage persistant et registreNetworking, persistent storage and registry

Le réseau superpose de Kubernetes ajoute de l'encapsulation, donc du travail pour la carte réseau. Des cartes 25 GbE capables de décharger le chiffrement et l'encapsulation soulagent nettement le processeur sur les clusters actifs. Cote stockage persistant, une solution répartie comme Ceph ou Longhorn réclame des disques NVMe uniformes et un réseau dédié. Prévoyez enfin un registre d'images interne : il évite de dépendre d'Internet pour redémarrer un service et accéléré les déploiements massifs.The Kubernetes overlay network adds encapsulation, and therefore work for the network adapter. 25 GbE cards able to offload encryption and encapsulation noticeably relieve the CPU on busy clusters. For persistent storage, a distributed solution such as Ceph or Longhorn calls for uniform NVMe drives and a dedicated network. Finally, plan an internal image registry: it removes the dependency on internet access to restart a service and speeds up large rollouts.

  • Cartes 25 GbE avec dechargement d'encapsulation et de chiffrement
  • Disques NVMe uniformes pour Ceph, Longhorn ou équivalent
  • Registre d'images interne pour redémarrer sans dépendre d'Internet
  • Réseau de stockage sépare du trafic applicatif
  • 25 GbE adapters with encapsulation and encryption offload
  • Uniform NVMe drives for Ceph, Longhorn or equivalent
  • Internal image registry so restarts do not depend on the internet
  • Storage network kept separate from application traffic

Repères de configurationConfiguration guidance

ProcesseurCPUAMD EPYC 9004/9005 ou Intel Xeon Scalable — cœurs nombreux
MémoireMemoryDDR5 RDIMM ECC, réserve système kubelet incluse
Stockage plan de contrôleControl plane storageSSD NVMe local dédié a etcd, faible latence d'écriture
Stockage persistantPersistent storageSSD NVMe U.2 uniformes pour Ceph, Longhorn ou OpenEBS
RéseauNetwork2x 25 GbE avec dechargement, VLAN separes stockage et applicatif
BootBootSSD M.2 en miroir dédiés au système
AdministrationManagementIPMI avec KVM sur IP et provisionnement PXE

Repères indicatifs : la configuration finale est validée avec vous selon vos contraintes réelles (charge, budget, environnement).Indicative guidance: the final configuration is validated with you against your real constraints (workload, budget, environment).

Questions fréquentesFrequently asked questions

Le bare metal supprime une couche et donne la meilleure latence, ce qui compte pour etcd et les charges réseau intensives. Les VM apportent souplesse, snapshots et reconstruction rapide d'un nœud. Beaucoup d'infrastructures combinent les deux : plan de contrôle en VM pour la souplesse, workers en bare metal pour la performance.Bare metal removes a layer and delivers the best latency, which matters for etcd and network-intensive workloads. VMs bring flexibility, snapshots and fast node rebuilds. Many infrastructures combine both: control plane on VMs for flexibility, workers on bare metal for performance and predictable throughput.
Trois nœuds de plan de contrôle pour le quorum, et au minimum deux workers pour survivre a la perte d'un nœud sans arrêt de service. En pratique, trois workers permettent de drainer une machine pour maintenance tout en gardant de la redondance. La taille exacte dépend ensuite du nombre de pods et de leurs demandes de ressources.Three control-plane nodes for quorum, and at least two workers so the loss of one node does not stop the service. In practice, three workers let you drain a machine for maintenance while keeping redundancy. Beyond that, the exact size depends on the pod count and on their declared resource requests.
Techniquement oui, Kubernetes tolère l'hétérogénéité. En pratique cela complique le placement, fausse les tests de performance et rend certains jeux d'instructions indisponibles selon le nœud. Si vous devez mélanger, utilisez des labels et des taints pour cibler explicitement les charges sensibles vers les nœuds appropries.Technically yes, Kubernetes tolerates heterogeneity. In practice it complicates placement, distorts performance testing and makes certain instruction sets unavailable depending on the node. If you must mix, use labels and taints to explicitly steer sensitive workloads towards the appropriate nodes.

Un besoin précis à chiffrer ?A specific need to quote?

Décrivez votre contexte : nous revenons sous 24 à 72 heures avec une approche et un devis.Tell us your context: we come back within 24-72 hours with an approach and a quote.