<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>K8S Archives | Clever Cloud</title>
	<atom:link href="https://www.clever.cloud/fr/blog/tag/k8s/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.clever.cloud/fr/blog/tag/k8s/</link>
	<description>From Code to Product</description>
	<lastBuildDate>Fri, 05 Jun 2026 15:02:33 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://cdn.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>K8S Archives | Clever Cloud</title>
	<link>https://www.clever.cloud/fr/blog/tag/k8s/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>K3s vs K8s : quelles différences et lequel choisir en 2026 ?</title>
		<link>https://www.clever.cloud/fr/blog/fonctionnalites/2026/05/28/k3s-vs-k8s-quelles-differences-et-lequel-choisir-en-2026/</link>
		
		<dc:creator><![CDATA[Marjorie Darrigade]]></dc:creator>
		<pubDate>Thu, 28 May 2026 07:19:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[K3s]]></category>
		<category><![CDATA[K8S]]></category>
		<category><![CDATA[kubernetes]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24406</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="K3s vs K8s" decoding="async" fetchpriority="high" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr-768x341.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>En résumé : K3s est une distribution Kubernetes certifiée CNCF, optimisée pour les environnements contraints (edge, IoT, labs). K8s désigne le projet Kubernetes originel, conçu pour des clusters de production à grande échelle. Le choix dépend de vos ressources disponibles, de votre contexte de déploiement et de votre charge opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">K8s : le Kubernetes standard entreprise</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>K8s</strong> est l'abréviation de Kubernetes, le « 8 » représentant les huit lettres entre le « K » et le « s ». Il s'agit du projet open source original, maintenu par la Cloud Native Computing Foundation (CNCF) et initialement développé par Google.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes est conçu pour des <strong>environnements de production à grande échelle</strong> : clusters multi-nœuds, haute disponibilité, intégration avec les clouds publics (AWS, GCP, Azure) ou des datacenters on-premises. Son plan de contrôle comprend plusieurs composants distincts : API server, scheduler, controller manager, etcd, déployés séparément, ce qui offre une flexibilité maximale mais requiert une expertise opérationnelle significative.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Prérequis typiques pour un nœud control plane en production</strong> : 2 vCPU et 2 Go de RAM au minimum pour les composants Kubernetes seuls, sans compter etcd ni les charges applicatives.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">K3s : une distribution Kubernetes certifiée CNCF, pas un fork</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>K3s est une distribution certifiée de Kubernetes</strong>, pas une version allégée non officielle ni un fork. Créé par Rancher Labs, il a été <a href="https://thenewstack.io/ranchers-k3s-joins-cncf-sandbox-as-first-kubernetes-distribution/" target="_blank" rel="noreferrer noopener">donné à la CNCF en juin 2020</a> et passe les mêmes tests de conformité Sonobuoy que toutes les distributions certifiées. Tout manifeste Kubernetes valide fonctionne sur K3s.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Son objectif principal : <strong>réduire drastiquement les ressources nécessaires</strong> pour faire tourner Kubernetes sur des environnements contraints (edge, IoT, CI/CD, labs)&nbsp; sans renoncer à la compatibilité API.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Ce que K3s change par rapport à K8s</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://k3s.io/" target="_blank" rel="noreferrer noopener"><strong>Binary unique</strong> de moins de 70 Mo</a> (x86, ARM64, ARMv7 et S390X supportés), incluant le runtime containerd, le CNI Flannel, un Ingress Traefik et un load balancer Klipper.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>SQLite comme datastore par défaut</strong> en single-node, au lieu d'etcd. En configuration haute disponibilité (3 nœuds serveur minimum), K3s peut utiliser <strong>etcd embarqué</strong> ou un datastore externe (MySQL, PostgreSQL, etcd externe).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Composants alpha/beta retirés</strong> pour réduire la surface d'attaque et l'empreinte mémoire.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Point important</strong> : K3s ne supprime pas etcd ; il le rend optionnel. En single-node, SQLite suffit. En haute disponibilité, etcd embarqué ou externe est supporté - mais ce dernier n'est pas officiellement pris en charge par l'équipe K3s.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Empreinte ressources</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s fonctionne à partir de <strong>512 Mo de RAM</strong> sur un nœud agent. Un server node (control plane) requiert <strong>2 Go de RAM et 2 cœurs CPU</strong> selon <a href="https://docs.k3s.io/installation/requirements" target="_blank" rel="noreferrer noopener">la documentation officielle</a> (mise à jour mai 2026), hors charge applicative. Un profil mesuré à la charge est disponible dans le <a href="https://docs.k3s.io/reference/resource-profiling" target="_blank" rel="noreferrer noopener">guide de resource profiling K3s</a>. À noter : en test sur du matériel avec 1 Go de RAM total, les distributions K3s, k0s et MicroK8s ont montré des instabilités lors du déploiement de charges applicatives réelles (un seul cluster Kubernetes, même léger, consomme des ressources de contrôle non négligeables).</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Différences techniques clés</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Datastore</h3>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"25px"} -->
<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }
  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 28%; }
  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 36%; }
  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 36%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th>Scénario</th>
        <th>K8s</th>
        <th>K3s</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Single-node</td>
        <td>etcd requis</td>
        <td>SQLite par défaut</td>
      </tr>
      <tr>
        <td>Multi-node haute disponibilité</td>
        <td>etcd</td>
        <td>etcd embarqué ou externe (MySQL, PostgreSQL)</td>
      </tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Runtime et packaging</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K8s ne fournit pas de runtime par défaut depuis la suppression de dockershim (v1.24, 2022). À partir de Kubernetes 1.24, vous devez installer un runtime CRI-compatible (containerd ou CRI-O). K3s embarque containerd directement dans son binaire.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Architecture du plan de contrôle</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans K8s, les composants du plan de contrôle (API server, scheduler, controller manager) sont des processus séparés. Dans K3s, ils sont fusionnés en un seul binaire, ce qui réduit l'overhead mais limite certaines configurations avancées d'isolation.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Scalabilité</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s est adapté à des clusters de taille modérée. En configuration haute disponibilité (3 server nodes, 4 vCPU / 8 Go de RAM), <a href="https://docs.k3s.io/installation/requirements" target="_blank" rel="noreferrer noopener">la documentation officielle</a> indique une capacité d'environ 1 200 agents. Pour des clusters de très grande taille (plusieurs milliers de nœuds), K8s  reste la référence.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Tableau comparatif K3s vs K8s</h2>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"35px"} -->
<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }
  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }
  .cc-table tbody td:first-child {
    font-weight: 600;
  }
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 28%; }
  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 36%; }
  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 36%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th>Critère</th>
        <th>K3s</th>
        <th>K8s</th>
      </tr>
    </thead>
    <tbody>
      <tr><td>Certification CNCF</td><td>Oui (distribution certifiée)</td><td>Oui (projet originel)</td></tr>
      <tr><td>Taille du binaire</td><td>&lt; 100 Mo</td><td>Non applicable (composants séparés)</td></tr>
      <tr><td>Datastore par défaut</td><td>SQLite (single-node) / etcd (haute disponibilité)</td><td>etcd</td></tr>
      <tr><td>Runtime embarqué</td><td>containerd</td><td>Non (à installer séparément)</td></tr>
      <tr><td>Support ARM</td><td>Oui (ARM64, ARMv7)</td><td>Oui (dépend de la distribution)</td></tr>
      <tr><td>Ingress par défaut</td><td>Traefik (inclus)</td><td>Non (à déployer séparément)</td></tr>
      <tr><td>Compatibilité API</td><td>APIs requises certifiées CNCF</td><td>Référence (projet originel)</td></tr>
      <tr><td>Scalabilité max documentée</td><td>~1200 agents (haute disponibilité 3 serveurs)</td><td>Plusieurs milliers de nœuds</td></tr>
      <tr><td>Cas d’usage principal</td><td>Edge, IoT, lab, CI/CD</td><td>Entreprise, cloud, datacenters</td></tr>
      <tr><td>Complexité opérationnelle</td><td>Faible</td><td>Élevée</td></tr>
      <tr><td>Composants alpha/beta</td><td>Retirés</td><td>Inclus</td></tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cas d'usage : lequel choisir ?</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Choisissez K3s si :</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Vous déployez sur du <strong>matériel contraint</strong> (Raspberry Pi, appliances industrielles, serveurs edge avec peu de RAM).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous gérez des <strong>clusters IoT ou edge</strong> distants, potentiellement en mode déconnecté.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous avez besoin d'un <strong>cluster de développement ou de CI</strong> démarrant rapidement, y compris sur matériel modeste.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous souhaitez un cluster opérationnel avec <strong>un minimum de configuration initiale</strong>.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Choisissez K8s (ou une distribution enterprise) si :</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Vous orchestrez des <strong>centaines ou milliers de nœuds</strong> en production.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vos workloads requièrent des <strong>intégrations cloud-natives avancées</strong> (stockage, load balancers, IAM) fournies par les hyperscalers.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous avez besoin de <strong>composants API en alpha/beta</strong> non disponibles dans K3s.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Votre organisation dispose d'une <strong>équipe SRE dédiée</strong> à l'exploitation de clusters.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cas hybrides : K3s et K8s ensemble</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s et K8s ne sont pas mutuellement exclusifs. Plusieurs architectures hybrides sont documentées en production :</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Fleet management avec Rancher</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Des clusters K3s edge sont pilotés depuis un plan de contrôle central tournant sur K8s ou RKE2. The Home Depot (grande distribution américaine, plus de 2 300 magasins) <a href="https://www.datacenterknowledge.com/data-center-site-selection/home-depot-upgrades-2-300-retail-edge-locations-using-suse-rancher-k3s" target="_blank" rel="noreferrer noopener">gère ainsi ses sites avec K3s supervisé depuis Rancher</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Clusters de dev et staging K3s, prod K8s</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La compatibilité API garantit que les manifests et charts Helm testés sur K3s fonctionnent en production sur un cluster enterprise. Cette parité réduit les surprises en promotion d'environnements.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>CI/CD</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Des pipelines de test tournent sur K3s (faible coût, démarrage rapide) pendant que les environnements de production utilisent un cluster K8s managé.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes managé : une troisième voie</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ni K3s ni K8s ne résolvent la question de l'<strong>opération quotidienne</strong> : mises à jour, certificats, surveillance du plan de contrôle, gestion des défaillances. C'est précisément ce que couvrent les solutions de Kubernetes managé.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les hyperscalers (EKS, GKE, AKS) proposent cette gestion dans leurs propres clouds. Mais des solutions managées existent aussi en dehors de ces écosystèmes, notamment pour des organisations qui souhaitent conserver la maîtrise de leurs données et opter pour un Kubernetes souverain, voire un Kubernetes français.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.clever.cloud/fr/product/kubernetes/">Clever Kubernetes Engine (CKE)</a> est le service Kubernetes managé de Clever Cloud, conçu pour des équipes qui utilisent déjà Kubernetes et souhaitent déléguer la gestion du plan de contrôle (updates, haute disponibilité, monitoring) sans être contraints dans un seul hyperscaler. CKE s'adresse explicitement aux équipes que le modèle <a href="https://www.clever.cloud/fr/paas/">PaaS</a> traditionnel ne couvre pas (cas multi-runtime, workloads non-twelve-factor, ou besoin de contrôle granulaire sur les ressources).</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"150px"} -->
<div style="height:150px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"textAlign":"center","level":1} -->
<h1 class="wp-block-heading has-text-align-center">FAQ</h1>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="height: 1px; background-color: #DEDDEE; margin: 30px auto; width: 100%;"></div>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s est-il un fork de Kubernetes ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. K3s est une distribution certifiée CNCF de Kubernetes. Il passe les tests de conformité Sonobuoy et respecte les mêmes APIs que K8s Il n'est pas maintenu en parallèle de Kubernetes : il suit les releases du projet originel.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Peut-on utiliser K3s en production ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui, avec des nuances. K3s est documenté pour des charges de production dans des environnements contraints (edge, IoT). Pour des clusters à grande échelle ou des workloads critiques avec des exigences de SLA élevées, le K8s&nbsp; (ou une distribution enterprise comme RKE2) est plus adapté.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s supporte-t-il Helm ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. K3s inclut un contrôleur Helm intégré et est compatible avec toute chart Helm valide.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle est la différence entre K3s et K3d ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3d est un outil qui fait tourner K3s dans des conteneurs Docker. Il simplifie encore davantage la création de clusters K3s locaux pour le développement, mais n'est pas destiné à la production.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s fonctionne-t-il sur ARM ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. ARM64 et ARMv7 sont nativement supportés, ce qui explique sa popularité sur Raspberry Pi et les appliances industrielles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Kubernetes managé vs K3s auto-hébergé : quoi choisir ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s auto-hébergé vous donne un contrôle total mais vous rend responsable des opérations (updates, sécurité, haute disponibilité). Un Kubernetes managé délègue cette responsabilité à un opérateur, au prix d'une dépendance envers ce fournisseur. Le choix dépend de vos ressources opérationnelles et de vos exigences de contrôle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"90px"} -->
<div style="height:90px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="K3s vs K8s" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-27-clever-cloud-banniere-blog-k3s-vs-k8s-fr-768x341.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>En résumé : K3s est une distribution Kubernetes certifiée CNCF, optimisée pour les environnements contraints (edge, IoT, labs). K8s désigne le projet Kubernetes originel, conçu pour des clusters de production à grande échelle. Le choix dépend de vos ressources disponibles, de votre contexte de déploiement et de votre charge opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">K8s : le Kubernetes standard entreprise</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>K8s</strong> est l'abréviation de Kubernetes, le « 8 » représentant les huit lettres entre le « K » et le « s ». Il s'agit du projet open source original, maintenu par la Cloud Native Computing Foundation (CNCF) et initialement développé par Google.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes est conçu pour des <strong>environnements de production à grande échelle</strong> : clusters multi-nœuds, haute disponibilité, intégration avec les clouds publics (AWS, GCP, Azure) ou des datacenters on-premises. Son plan de contrôle comprend plusieurs composants distincts : API server, scheduler, controller manager, etcd, déployés séparément, ce qui offre une flexibilité maximale mais requiert une expertise opérationnelle significative.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Prérequis typiques pour un nœud control plane en production</strong> : 2 vCPU et 2 Go de RAM au minimum pour les composants Kubernetes seuls, sans compter etcd ni les charges applicatives.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">K3s : une distribution Kubernetes certifiée CNCF, pas un fork</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>K3s est une distribution certifiée de Kubernetes</strong>, pas une version allégée non officielle ni un fork. Créé par Rancher Labs, il a été <a href="https://thenewstack.io/ranchers-k3s-joins-cncf-sandbox-as-first-kubernetes-distribution/" target="_blank" rel="noreferrer noopener">donné à la CNCF en juin 2020</a> et passe les mêmes tests de conformité Sonobuoy que toutes les distributions certifiées. Tout manifeste Kubernetes valide fonctionne sur K3s.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Son objectif principal : <strong>réduire drastiquement les ressources nécessaires</strong> pour faire tourner Kubernetes sur des environnements contraints (edge, IoT, CI/CD, labs)&nbsp; sans renoncer à la compatibilité API.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Ce que K3s change par rapport à K8s</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://k3s.io/" target="_blank" rel="noreferrer noopener"><strong>Binary unique</strong> de moins de 70 Mo</a> (x86, ARM64, ARMv7 et S390X supportés), incluant le runtime containerd, le CNI Flannel, un Ingress Traefik et un load balancer Klipper.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>SQLite comme datastore par défaut</strong> en single-node, au lieu d'etcd. En configuration haute disponibilité (3 nœuds serveur minimum), K3s peut utiliser <strong>etcd embarqué</strong> ou un datastore externe (MySQL, PostgreSQL, etcd externe).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Composants alpha/beta retirés</strong> pour réduire la surface d'attaque et l'empreinte mémoire.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Point important</strong> : K3s ne supprime pas etcd ; il le rend optionnel. En single-node, SQLite suffit. En haute disponibilité, etcd embarqué ou externe est supporté - mais ce dernier n'est pas officiellement pris en charge par l'équipe K3s.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Empreinte ressources</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s fonctionne à partir de <strong>512 Mo de RAM</strong> sur un nœud agent. Un server node (control plane) requiert <strong>2 Go de RAM et 2 cœurs CPU</strong> selon <a href="https://docs.k3s.io/installation/requirements" target="_blank" rel="noreferrer noopener">la documentation officielle</a> (mise à jour mai 2026), hors charge applicative. Un profil mesuré à la charge est disponible dans le <a href="https://docs.k3s.io/reference/resource-profiling" target="_blank" rel="noreferrer noopener">guide de resource profiling K3s</a>. À noter : en test sur du matériel avec 1 Go de RAM total, les distributions K3s, k0s et MicroK8s ont montré des instabilités lors du déploiement de charges applicatives réelles (un seul cluster Kubernetes, même léger, consomme des ressources de contrôle non négligeables).</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Différences techniques clés</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Datastore</h3>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"25px"} -->
<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }
  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 28%; }
  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 36%; }
  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 36%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th>Scénario</th>
        <th>K8s</th>
        <th>K3s</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Single-node</td>
        <td>etcd requis</td>
        <td>SQLite par défaut</td>
      </tr>
      <tr>
        <td>Multi-node haute disponibilité</td>
        <td>etcd</td>
        <td>etcd embarqué ou externe (MySQL, PostgreSQL)</td>
      </tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Runtime et packaging</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K8s ne fournit pas de runtime par défaut depuis la suppression de dockershim (v1.24, 2022). À partir de Kubernetes 1.24, vous devez installer un runtime CRI-compatible (containerd ou CRI-O). K3s embarque containerd directement dans son binaire.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Architecture du plan de contrôle</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans K8s, les composants du plan de contrôle (API server, scheduler, controller manager) sont des processus séparés. Dans K3s, ils sont fusionnés en un seul binaire, ce qui réduit l'overhead mais limite certaines configurations avancées d'isolation.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Scalabilité</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s est adapté à des clusters de taille modérée. En configuration haute disponibilité (3 server nodes, 4 vCPU / 8 Go de RAM), <a href="https://docs.k3s.io/installation/requirements" target="_blank" rel="noreferrer noopener">la documentation officielle</a> indique une capacité d'environ 1 200 agents. Pour des clusters de très grande taille (plusieurs milliers de nœuds), K8s  reste la référence.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Tableau comparatif K3s vs K8s</h2>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"35px"} -->
<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }
  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }
  .cc-table tbody td:first-child {
    font-weight: 600;
  }
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 28%; }
  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 36%; }
  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 36%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th>Critère</th>
        <th>K3s</th>
        <th>K8s</th>
      </tr>
    </thead>
    <tbody>
      <tr><td>Certification CNCF</td><td>Oui (distribution certifiée)</td><td>Oui (projet originel)</td></tr>
      <tr><td>Taille du binaire</td><td>&lt; 100 Mo</td><td>Non applicable (composants séparés)</td></tr>
      <tr><td>Datastore par défaut</td><td>SQLite (single-node) / etcd (haute disponibilité)</td><td>etcd</td></tr>
      <tr><td>Runtime embarqué</td><td>containerd</td><td>Non (à installer séparément)</td></tr>
      <tr><td>Support ARM</td><td>Oui (ARM64, ARMv7)</td><td>Oui (dépend de la distribution)</td></tr>
      <tr><td>Ingress par défaut</td><td>Traefik (inclus)</td><td>Non (à déployer séparément)</td></tr>
      <tr><td>Compatibilité API</td><td>APIs requises certifiées CNCF</td><td>Référence (projet originel)</td></tr>
      <tr><td>Scalabilité max documentée</td><td>~1200 agents (haute disponibilité 3 serveurs)</td><td>Plusieurs milliers de nœuds</td></tr>
      <tr><td>Cas d’usage principal</td><td>Edge, IoT, lab, CI/CD</td><td>Entreprise, cloud, datacenters</td></tr>
      <tr><td>Complexité opérationnelle</td><td>Faible</td><td>Élevée</td></tr>
      <tr><td>Composants alpha/beta</td><td>Retirés</td><td>Inclus</td></tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cas d'usage : lequel choisir ?</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Choisissez K3s si :</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Vous déployez sur du <strong>matériel contraint</strong> (Raspberry Pi, appliances industrielles, serveurs edge avec peu de RAM).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous gérez des <strong>clusters IoT ou edge</strong> distants, potentiellement en mode déconnecté.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous avez besoin d'un <strong>cluster de développement ou de CI</strong> démarrant rapidement, y compris sur matériel modeste.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous souhaitez un cluster opérationnel avec <strong>un minimum de configuration initiale</strong>.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Choisissez K8s (ou une distribution enterprise) si :</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Vous orchestrez des <strong>centaines ou milliers de nœuds</strong> en production.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vos workloads requièrent des <strong>intégrations cloud-natives avancées</strong> (stockage, load balancers, IAM) fournies par les hyperscalers.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Vous avez besoin de <strong>composants API en alpha/beta</strong> non disponibles dans K3s.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Votre organisation dispose d'une <strong>équipe SRE dédiée</strong> à l'exploitation de clusters.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Cas hybrides : K3s et K8s ensemble</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s et K8s ne sont pas mutuellement exclusifs. Plusieurs architectures hybrides sont documentées en production :</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Fleet management avec Rancher</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Des clusters K3s edge sont pilotés depuis un plan de contrôle central tournant sur K8s ou RKE2. The Home Depot (grande distribution américaine, plus de 2 300 magasins) <a href="https://www.datacenterknowledge.com/data-center-site-selection/home-depot-upgrades-2-300-retail-edge-locations-using-suse-rancher-k3s" target="_blank" rel="noreferrer noopener">gère ainsi ses sites avec K3s supervisé depuis Rancher</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Clusters de dev et staging K3s, prod K8s</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La compatibilité API garantit que les manifests et charts Helm testés sur K3s fonctionnent en production sur un cluster enterprise. Cette parité réduit les surprises en promotion d'environnements.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>CI/CD</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Des pipelines de test tournent sur K3s (faible coût, démarrage rapide) pendant que les environnements de production utilisent un cluster K8s managé.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes managé : une troisième voie</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ni K3s ni K8s ne résolvent la question de l'<strong>opération quotidienne</strong> : mises à jour, certificats, surveillance du plan de contrôle, gestion des défaillances. C'est précisément ce que couvrent les solutions de Kubernetes managé.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les hyperscalers (EKS, GKE, AKS) proposent cette gestion dans leurs propres clouds. Mais des solutions managées existent aussi en dehors de ces écosystèmes, notamment pour des organisations qui souhaitent conserver la maîtrise de leurs données et opter pour un Kubernetes souverain, voire un Kubernetes français.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.clever.cloud/fr/product/kubernetes/">Clever Kubernetes Engine (CKE)</a> est le service Kubernetes managé de Clever Cloud, conçu pour des équipes qui utilisent déjà Kubernetes et souhaitent déléguer la gestion du plan de contrôle (updates, haute disponibilité, monitoring) sans être contraints dans un seul hyperscaler. CKE s'adresse explicitement aux équipes que le modèle <a href="https://www.clever.cloud/fr/paas/">PaaS</a> traditionnel ne couvre pas (cas multi-runtime, workloads non-twelve-factor, ou besoin de contrôle granulaire sur les ressources).</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"150px"} -->
<div style="height:150px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"textAlign":"center","level":1} -->
<h1 class="wp-block-heading has-text-align-center">FAQ</h1>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="height: 1px; background-color: #DEDDEE; margin: 30px auto; width: 100%;"></div>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s est-il un fork de Kubernetes ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. K3s est une distribution certifiée CNCF de Kubernetes. Il passe les tests de conformité Sonobuoy et respecte les mêmes APIs que K8s Il n'est pas maintenu en parallèle de Kubernetes : il suit les releases du projet originel.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Peut-on utiliser K3s en production ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui, avec des nuances. K3s est documenté pour des charges de production dans des environnements contraints (edge, IoT). Pour des clusters à grande échelle ou des workloads critiques avec des exigences de SLA élevées, le K8s&nbsp; (ou une distribution enterprise comme RKE2) est plus adapté.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s supporte-t-il Helm ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. K3s inclut un contrôleur Helm intégré et est compatible avec toute chart Helm valide.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle est la différence entre K3s et K3d ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3d est un outil qui fait tourner K3s dans des conteneurs Docker. Il simplifie encore davantage la création de clusters K3s locaux pour le développement, mais n'est pas destiné à la production.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">K3s fonctionne-t-il sur ARM ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Oui. ARM64 et ARMv7 sont nativement supportés, ce qui explique sa popularité sur Raspberry Pi et les appliances industrielles.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Kubernetes managé vs K3s auto-hébergé : quoi choisir ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3s auto-hébergé vous donne un contrôle total mais vous rend responsable des opérations (updates, sécurité, haute disponibilité). Un Kubernetes managé délègue cette responsabilité à un opérateur, au prix d'une dépendance envers ce fournisseur. Le choix dépend de vos ressources opérationnelles et de vos exigences de contrôle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"90px"} -->
<div style="height:90px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kubernetes vs Docker : quelles différences et quand les utiliser</title>
		<link>https://www.clever.cloud/fr/blog/fonctionnalites/2026/05/22/kubernetes-vs-docker-quelles-differences-et-quand-les-utiliser/</link>
		
		<dc:creator><![CDATA[Marjorie Darrigade]]></dc:creator>
		<pubDate>Fri, 22 May 2026 20:31:44 +0000</pubDate>
				<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[K8S]]></category>
		<category><![CDATA[kubernetes]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24340</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-22-clever-cloud-banniere-blog-k8s-vs-docker-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="K8s vs Docker" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-22-clever-cloud-banniere-blog-k8s-vs-docker-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-22-clever-cloud-banniere-blog-k8s-vs-docker-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-22-clever-cloud-banniere-blog-k8s-vs-docker-fr-768x341.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>La question <a href="https://www.clever.cloud/fr/blog/engineering-fr/2026/05/19/k8s-kubernetes-definition-standard/">Kubernetes</a> vs Docker mérite une réponse précise, parce que les deux technologies ne répondent pas au même besoin.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Docker sert principalement à créer et exécuter des conteneurs. Kubernetes sert à orchestrer ces conteneurs lorsqu’une infrastructure devient plus complexe. Les deux technologies sont donc souvent complémentaires, même si elles sont régulièrement opposées à tort.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Comprendre cette différence permet surtout de mieux savoir quand utiliser Docker seul, quand Kubernetes devient pertinent, et pourquoi toutes les applications n’ont pas forcément besoin d’un cluster Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker : standardiser l’exécution d’une application</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker a popularisé la conteneurisation moderne. Son objectif est simple : permettre à une application de fonctionner de manière identique, quel que soit l'environnement dans lequel elle est exécutée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avant Docker, il était fréquent qu'une application fonctionne sur le poste d'un développeur mais rencontre des problèmes une fois déployée sur un serveur. Différences de versions système, dépendances manquantes, configurations incohérentes : ces écarts compliquaient fortement les déploiements.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Docker a largement réduit ce problème en encapsulant une application et ses dépendances dans un conteneur isolé. Concrètement, ce conteneur embarque l'application, ses bibliothèques, ses dépendances, et certains éléments système nécessaires à son exécution.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>L'environnement devient alors portable et reproductible. Une image Docker peut être exécutée sur n'importe quelle machine compatible, avec un comportement prévisible. C'est cette standardisation qui explique l'adoption massive de Docker dans les pipelines CI/CD, les environnements de développement et les architectures modernes.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker ne sert pas uniquement à “faire tourner des conteneurs”</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans beaucoup d'équipes, Docker est devenu un outil quotidien. Un développeur peut lancer localement une API Node.js, une base PostgreSQL, Redis ou encore un service Nginx, sans avoir à installer manuellement tous ces composants sur sa machine. Tout est isolé dans des conteneurs indépendants.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette approche simplifie énormément le développement local, les tests, les environnements de démonstration, les intégrations continues, et les déploiements applicatifs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour des applications relativement simples, Docker peut suffire à lui seul. C'est notamment le cas lorsqu'une équipe exploite quelques services seulement, une infrastructure limitée, un faible besoin de montée en charge, ou peu d'automatisation d'exploitation. Dans ce contexte, ajouter Kubernetes peut même introduire une complexité inutile.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Là où Docker atteint ses limites</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker fonctionne très bien pour exécuter des conteneurs. En revanche, il ne résout pas automatiquement les problématiques d'orchestration à grande échelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Lorsque le nombre de services augmente, plusieurs questions apparaissent rapidement :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Comment répartir les conteneurs sur plusieurs serveurs ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment redémarrer automatiquement un service qui tombe ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment gérer les mises à jour sans interruption ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment absorber automatiquement un pic de trafic ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment superviser des dizaines ou centaines de workloads distribués ?</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Docker n'a pas été conçu pour gérer seul ce niveau de complexité opérationnelle. C'est précisément le rôle de l’orchestration de conteneurs, dont Kubernetes est aujourd’hui le standard le plus utilisé.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes : automatiser l’exploitation des conteneurs</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes est un orchestrateur de conteneurs. Son objectif n'est pas de remplacer Docker dans la création des images ou dans la logique de conteneurisation. Kubernetes intervient à un niveau supérieur : celui de l'exploitation et de l'automatisation de l'infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il permet notamment de déployer des applications automatiquement, répartir les workloads sur plusieurs machines, redémarrer des conteneurs en cas de panne, gérer la haute disponibilité, effectuer de l'auto-scaling, piloter des architectures distribuées.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Autrement dit, Docker exécute les conteneurs. Kubernetes organise leur fonctionnement global. Cette différence est essentielle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Un exemple concret : Docker seul vs Kubernetes</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Prenons une plateforme e-commerce moderne. Au départ, l'application peut être relativement simple : un backend, un frontend et une base de données. Docker suffit souvent à faire fonctionner cet ensemble.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais avec le temps, l'architecture évolue : plusieurs microservices apparaissent, certaines fonctionnalités doivent scaler indépendamment, des files de messages sont ajoutées, plusieurs environnements doivent être synchronisés, la disponibilité devient critique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À ce stade, gérer manuellement tous les conteneurs devient rapidement difficile. Kubernetes apporte alors des mécanismes d'automatisation : redémarrage automatique des workloads, répartition des charges, duplication des services, déploiements progressifs, maintien automatique de l'état attendu du cluster.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce qui explique pourquoi Kubernetes est devenu le standard de facto de l'orchestration cloud-native.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes vs Docker : lequel remplace l'autre ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>C'est l'une des questions les plus fréquentes, et la réponse est claire : Kubernetes ne remplace pas Docker.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pendant longtemps, Kubernetes utilisait Docker comme runtime de conteneurs. Ce n'est plus le cas par défaut. À partir de la version 1.20 (décembre 2020), Kubernetes a déprécié le support direct de Docker via le composant "dockershim". Ce support a été définitivement supprimé dans la version 1.24, publiée en mai 2022. Depuis, Kubernetes s'appuie sur des runtimes compatibles avec l'interface CRI (Container Runtime Interface), comme containerd ou CRI-O.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce changement ne concerne pas les développeurs au quotidien. Les images créées avec Docker respectent le standard OCI (Open Container Initiative) et restent parfaitement utilisables sur Kubernetes. Autrement dit, le format d'image n'a pas changé : c'est la couche d'exécution interne au cluster qui a évolué.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En pratique, Docker et Kubernetes continuent de fonctionner ensemble dans de nombreux environnements. Docker sert à construire et tester les images localement. Kubernetes les déploie et les orchestre en production. La confusion vient souvent du fait que Docker était historiquement présent aux deux étapes. Ce n'est plus le cas côté runtime Kubernetes, mais Docker reste très utilisé côté build et développement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La distinction Kubernetes vs Docker n'est donc pas une question de remplacement, mais de rôle : chacun intervient à une étape différente du cycle de vie d'une application conteneurisée.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quand utiliser Docker sans Kubernetes ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker seul reste pertinent dans beaucoup de situations. C'est souvent le bon choix pour un projet simple, une application interne, un environnement de développement, un prototype, une petite plateforme web, ou des besoins d'exploitation limités.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans ces cas, Kubernetes peut représenter une surcharge opérationnelle importante par rapport au besoin réel. Dans certains cas, une distribution allégée comme K3S peut également être plus adaptée qu’un cluster Kubernetes complet.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes n'est pas automatiquement la meilleure réponse pour toutes les applications, c'est d'ailleurs une position explicitement assumée chez Clever Cloud, y compris dans le contexte du lancement de <a href="https://www.clever.cloud/fr/product/kubernetes/">Clever Kubernetes Engine (CKE)</a>, un Kubernetes managé développé et opéré par Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quand Kubernetes devient réellement utile</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes devient intéressant lorsque l'architecture nécessite un niveau d'orchestration avancé. C'est notamment le cas lorsque plusieurs services doivent être coordonnés, que les déploiements deviennent fréquents, que la résilience devient critique, que les charges varient fortement, que les équipes utilisent déjà des pratiques GitOps, ou que l'infrastructure devient distribuée ou hybride.Certaines organisations utilisent également Kubernetes pour standardiser leurs déploiements entre plusieurs environnements ou plusieurs fournisseurs cloud. Dans ce contexte, le choix d'un Kubernetes managé devient souvent central pour limiter la dette opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est précisément ce type d'usage qui motive le développement de solutions comme <a href="https://www.clever.cloud/fr/blog/entreprise/2026/04/27/cke-en-beta-publique-kubernetes-manage-souverain-et-vraiment-integre/">CKE</a>, conçu pour rester compatible avec les outils standards de l'écosystème Kubernetes tout en s'intégrant au reste de la plateforme.&nbsp;&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes ou PaaS : ce n’est pas toujours un duel</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Une autre confusion fréquente consiste à penser que Kubernetes remplace forcément un PaaS (Platform as a Service). Dans la pratique, beaucoup d'applications fonctionnent très bien sur un PaaS classique, avec moins d'exploitation et moins de complexité.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Même dans le cadre de CKE, le positionnement affiché est explicite : Kubernetes ne remplace pas le <a href="https://www.clever.cloud/fr/paas/">PaaS</a>. Les deux répondent à des modèles opérationnels différents, pas à des niveaux de complexité différents : le PaaS prend en charge l'exploitation, Kubernetes en donne le contrôle. L'un comme l'autre font tourner des charges de production sérieuses. L'objectif n'est donc pas de mettre systématiquement toutes les applications sur Kubernetes, mais de l'utiliser lorsqu'il apporte une vraie valeur technique ou opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker vs Kubernetes : les différences à retenir</h2>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"35px"} -->
<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }

  /* Lignes horizontales internes uniquement */
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }

  /* Lignes verticales internes uniquement */
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }

  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }

  .cc-table tbody td:first-child {
    font-weight: 600;
  }

  /* Largeur des colonnes */
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 25%; }

  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 37.5%; }

  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 37.5%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th></th>
        <th>Docker</th>
        <th>Kubernetes</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Rôle principal</td>
        <td>Créer et exécuter des conteneurs</td>
        <td>Orchestrer des conteneurs</td>
      </tr>
      <tr>
        <td>Environnements cibles</td>
        <td>Développement, projets simples</td>
        <td>Infrastructures distribuées</td>
      </tr>
      <tr>
        <td>Complexité</td>
        <td>Plus simple à prendre en main</td>
        <td>Plus complexe à opérer, conçu pour l'orchestration avancée</td>
      </tr>
      <tr>
        <td>Cas d'usage typique</td>
        <td>CI/CD, envs locaux, prototypes</td>
        <td>Architectures cloud-native avancées</td>
      </tr>
      <tr>
        <td>Automatisation</td>
        <td>Limitée à l'exécution</td>
        <td>Auto-scaling, auto-healing, haute disponibilité</td>
      </tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker et Kubernetes ne sont pas des technologies concurrentes</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La question Kubernetes vs Docker n'est pas une question de choix : chacune répond à un besoin distinct à une étape différente du cycle de vie applicatif.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Docker a simplifié la création et l'exécution des applications conteneurisées. Kubernetes a automatisé leur exploitation à grande échelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Toutes les applications n'ont pas besoin de Kubernetes. Dans de nombreux cas, Docker seul suffit. Et pour déléguer entièrement l'exploitation, un PaaS prend le relais, y compris sur des architectures distribuées et des exigences de résilience élevées. Kubernetes, lui, devient pertinent lorsqu'on a besoin d'un contrôle explicite sur l'orchestration, d'une intégration avec l'écosystème CNCF ou d'une portabilité multi-cloud sur des standards ouverts. C'est un choix de modèle opérationnel et de besoins d'équipe, pas un niveau de complexité applicative.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>L'enjeu n'est donc pas de choisir « Docker ou Kubernetes », mais de reconnaître à partir de quel besoin d'orchestration Kubernetes apporte une réelle valeur.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"textAlign":"center","level":1} -->
<h1 class="wp-block-heading has-text-align-center">FAQ</h1>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="height: 1px; background-color: #DEDDEE; margin: 30px auto; width: 100%;"></div>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Docker et Kubernetes sont-ils concurrents ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. Docker et Kubernetes répondent à des besoins différents. Docker sert principalement à créer et exécuter des conteneurs, tandis que Kubernetes orchestre leur fonctionnement à grande échelle.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Kubernetes remplace-t-il Docker ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. Depuis la version 1.24 de Kubernetes (mai 2022), Docker n'est plus utilisé comme runtime interne du cluster. Kubernetes s'appuie désormais sur des runtimes compatibles CRI comme containerd ou CRI-O. En revanche, les images Docker, conformes au standard OCI, restent pleinement compatibles avec Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Pourquoi Kubernetes est-il devenu un standard ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes s'est imposé grâce à son modèle déclaratif, sa portabilité entre environnements et l'écosystème cloud-native construit autour de la CNCF, dont il est un projet graduated depuis 2016, notamment avec des outils comme Helm, Prometheus ou ArgoCD.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle différence entre K3S et Kubernetes classique ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3S est une distribution Kubernetes allégée, adaptée aux environnements edge, IoT, développement ou petits clusters, avec une consommation de ressources plus faible.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Un Kubernetes managé est-il préférable ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans beaucoup d'organisations, oui. Un Kubernetes managé réduit la charge opérationnelle liée au control plane, aux mises à jour, à la sécurité et à la résilience des clusters. C'est l'approche retenue par <a href="https://www.clever.cloud/fr/product/kubernetes/">Clever Kubernetes Engine</a>.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-22-clever-cloud-banniere-blog-k8s-vs-docker-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="K8s vs Docker" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/05/2026-05-22-clever-cloud-banniere-blog-k8s-vs-docker-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-22-clever-cloud-banniere-blog-k8s-vs-docker-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/05/2026-05-22-clever-cloud-banniere-blog-k8s-vs-docker-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>La question <a href="https://www.clever.cloud/fr/blog/engineering-fr/2026/05/19/k8s-kubernetes-definition-standard/">Kubernetes</a> vs Docker mérite une réponse précise, parce que les deux technologies ne répondent pas au même besoin.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Docker sert principalement à créer et exécuter des conteneurs. Kubernetes sert à orchestrer ces conteneurs lorsqu’une infrastructure devient plus complexe. Les deux technologies sont donc souvent complémentaires, même si elles sont régulièrement opposées à tort.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Comprendre cette différence permet surtout de mieux savoir quand utiliser Docker seul, quand Kubernetes devient pertinent, et pourquoi toutes les applications n’ont pas forcément besoin d’un cluster Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker : standardiser l’exécution d’une application</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker a popularisé la conteneurisation moderne. Son objectif est simple : permettre à une application de fonctionner de manière identique, quel que soit l'environnement dans lequel elle est exécutée.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avant Docker, il était fréquent qu'une application fonctionne sur le poste d'un développeur mais rencontre des problèmes une fois déployée sur un serveur. Différences de versions système, dépendances manquantes, configurations incohérentes : ces écarts compliquaient fortement les déploiements.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Docker a largement réduit ce problème en encapsulant une application et ses dépendances dans un conteneur isolé. Concrètement, ce conteneur embarque l'application, ses bibliothèques, ses dépendances, et certains éléments système nécessaires à son exécution.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>L'environnement devient alors portable et reproductible. Une image Docker peut être exécutée sur n'importe quelle machine compatible, avec un comportement prévisible. C'est cette standardisation qui explique l'adoption massive de Docker dans les pipelines CI/CD, les environnements de développement et les architectures modernes.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker ne sert pas uniquement à “faire tourner des conteneurs”</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans beaucoup d'équipes, Docker est devenu un outil quotidien. Un développeur peut lancer localement une API Node.js, une base PostgreSQL, Redis ou encore un service Nginx, sans avoir à installer manuellement tous ces composants sur sa machine. Tout est isolé dans des conteneurs indépendants.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Cette approche simplifie énormément le développement local, les tests, les environnements de démonstration, les intégrations continues, et les déploiements applicatifs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour des applications relativement simples, Docker peut suffire à lui seul. C'est notamment le cas lorsqu'une équipe exploite quelques services seulement, une infrastructure limitée, un faible besoin de montée en charge, ou peu d'automatisation d'exploitation. Dans ce contexte, ajouter Kubernetes peut même introduire une complexité inutile.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Là où Docker atteint ses limites</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker fonctionne très bien pour exécuter des conteneurs. En revanche, il ne résout pas automatiquement les problématiques d'orchestration à grande échelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Lorsque le nombre de services augmente, plusieurs questions apparaissent rapidement :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Comment répartir les conteneurs sur plusieurs serveurs ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment redémarrer automatiquement un service qui tombe ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment gérer les mises à jour sans interruption ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment absorber automatiquement un pic de trafic ?</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comment superviser des dizaines ou centaines de workloads distribués ?</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Docker n'a pas été conçu pour gérer seul ce niveau de complexité opérationnelle. C'est précisément le rôle de l’orchestration de conteneurs, dont Kubernetes est aujourd’hui le standard le plus utilisé.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes : automatiser l’exploitation des conteneurs</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes est un orchestrateur de conteneurs. Son objectif n'est pas de remplacer Docker dans la création des images ou dans la logique de conteneurisation. Kubernetes intervient à un niveau supérieur : celui de l'exploitation et de l'automatisation de l'infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Il permet notamment de déployer des applications automatiquement, répartir les workloads sur plusieurs machines, redémarrer des conteneurs en cas de panne, gérer la haute disponibilité, effectuer de l'auto-scaling, piloter des architectures distribuées.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Autrement dit, Docker exécute les conteneurs. Kubernetes organise leur fonctionnement global. Cette différence est essentielle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Un exemple concret : Docker seul vs Kubernetes</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Prenons une plateforme e-commerce moderne. Au départ, l'application peut être relativement simple : un backend, un frontend et une base de données. Docker suffit souvent à faire fonctionner cet ensemble.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais avec le temps, l'architecture évolue : plusieurs microservices apparaissent, certaines fonctionnalités doivent scaler indépendamment, des files de messages sont ajoutées, plusieurs environnements doivent être synchronisés, la disponibilité devient critique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À ce stade, gérer manuellement tous les conteneurs devient rapidement difficile. Kubernetes apporte alors des mécanismes d'automatisation : redémarrage automatique des workloads, répartition des charges, duplication des services, déploiements progressifs, maintien automatique de l'état attendu du cluster.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce qui explique pourquoi Kubernetes est devenu le standard de facto de l'orchestration cloud-native.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes vs Docker : lequel remplace l'autre ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>C'est l'une des questions les plus fréquentes, et la réponse est claire : Kubernetes ne remplace pas Docker.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pendant longtemps, Kubernetes utilisait Docker comme runtime de conteneurs. Ce n'est plus le cas par défaut. À partir de la version 1.20 (décembre 2020), Kubernetes a déprécié le support direct de Docker via le composant "dockershim". Ce support a été définitivement supprimé dans la version 1.24, publiée en mai 2022. Depuis, Kubernetes s'appuie sur des runtimes compatibles avec l'interface CRI (Container Runtime Interface), comme containerd ou CRI-O.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce changement ne concerne pas les développeurs au quotidien. Les images créées avec Docker respectent le standard OCI (Open Container Initiative) et restent parfaitement utilisables sur Kubernetes. Autrement dit, le format d'image n'a pas changé : c'est la couche d'exécution interne au cluster qui a évolué.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En pratique, Docker et Kubernetes continuent de fonctionner ensemble dans de nombreux environnements. Docker sert à construire et tester les images localement. Kubernetes les déploie et les orchestre en production. La confusion vient souvent du fait que Docker était historiquement présent aux deux étapes. Ce n'est plus le cas côté runtime Kubernetes, mais Docker reste très utilisé côté build et développement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La distinction Kubernetes vs Docker n'est donc pas une question de remplacement, mais de rôle : chacun intervient à une étape différente du cycle de vie d'une application conteneurisée.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quand utiliser Docker sans Kubernetes ?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker seul reste pertinent dans beaucoup de situations. C'est souvent le bon choix pour un projet simple, une application interne, un environnement de développement, un prototype, une petite plateforme web, ou des besoins d'exploitation limités.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Dans ces cas, Kubernetes peut représenter une surcharge opérationnelle importante par rapport au besoin réel. Dans certains cas, une distribution allégée comme K3S peut également être plus adaptée qu’un cluster Kubernetes complet.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes n'est pas automatiquement la meilleure réponse pour toutes les applications, c'est d'ailleurs une position explicitement assumée chez Clever Cloud, y compris dans le contexte du lancement de <a href="https://www.clever.cloud/fr/product/kubernetes/">Clever Kubernetes Engine (CKE)</a>, un Kubernetes managé développé et opéré par Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Quand Kubernetes devient réellement utile</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes devient intéressant lorsque l'architecture nécessite un niveau d'orchestration avancé. C'est notamment le cas lorsque plusieurs services doivent être coordonnés, que les déploiements deviennent fréquents, que la résilience devient critique, que les charges varient fortement, que les équipes utilisent déjà des pratiques GitOps, ou que l'infrastructure devient distribuée ou hybride.Certaines organisations utilisent également Kubernetes pour standardiser leurs déploiements entre plusieurs environnements ou plusieurs fournisseurs cloud. Dans ce contexte, le choix d'un Kubernetes managé devient souvent central pour limiter la dette opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est précisément ce type d'usage qui motive le développement de solutions comme <a href="https://www.clever.cloud/fr/blog/entreprise/2026/04/27/cke-en-beta-publique-kubernetes-manage-souverain-et-vraiment-integre/">CKE</a>, conçu pour rester compatible avec les outils standards de l'écosystème Kubernetes tout en s'intégrant au reste de la plateforme.&nbsp;&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Kubernetes ou PaaS : ce n’est pas toujours un duel</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Une autre confusion fréquente consiste à penser que Kubernetes remplace forcément un PaaS (Platform as a Service). Dans la pratique, beaucoup d'applications fonctionnent très bien sur un PaaS classique, avec moins d'exploitation et moins de complexité.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Même dans le cadre de CKE, le positionnement affiché est explicite : Kubernetes ne remplace pas le <a href="https://www.clever.cloud/fr/paas/">PaaS</a>. Les deux répondent à des modèles opérationnels différents, pas à des niveaux de complexité différents : le PaaS prend en charge l'exploitation, Kubernetes en donne le contrôle. L'un comme l'autre font tourner des charges de production sérieuses. L'objectif n'est donc pas de mettre systématiquement toutes les applications sur Kubernetes, mais de l'utiliser lorsqu'il apporte une vraie valeur technique ou opérationnelle.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":"15px"} -->
<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker vs Kubernetes : les différences à retenir</h2>
<!-- /wp:heading -->

<!-- wp:spacer {"height":"35px"} -->
<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:html -->
<style>
  .cc-table-wrap { overflow-x: auto; }
  .cc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 17px;
    font-family: "Plus Jakarta Sans","PlusJakartaSans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color: #111827;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  .cc-table th,
  .cc-table td {
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    line-height: 1.6;
  }

  /* Lignes horizontales internes uniquement */
  .cc-table tbody tr + tr td,
  .cc-table tbody tr:first-child td {
    border-top: 1px solid #deddee;
  }

  /* Lignes verticales internes uniquement */
  .cc-table th + th,
  .cc-table td + td {
    border-left: 1px solid #deddee;
  }

  .cc-table thead th {
    font-weight: 700;
    text-align: center;
  }

  .cc-table tbody td:first-child {
    font-weight: 600;
  }

  /* Largeur des colonnes */
  .cc-table th:nth-child(1),
  .cc-table td:nth-child(1) { width: 25%; }

  .cc-table th:nth-child(2),
  .cc-table td:nth-child(2) { width: 37.5%; }

  .cc-table th:nth-child(3),
  .cc-table td:nth-child(3) { width: 37.5%; }
</style>

<div class="cc-table-wrap">
  <table class="cc-table">
    <thead>
      <tr>
        <th></th>
        <th>Docker</th>
        <th>Kubernetes</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Rôle principal</td>
        <td>Créer et exécuter des conteneurs</td>
        <td>Orchestrer des conteneurs</td>
      </tr>
      <tr>
        <td>Environnements cibles</td>
        <td>Développement, projets simples</td>
        <td>Infrastructures distribuées</td>
      </tr>
      <tr>
        <td>Complexité</td>
        <td>Plus simple à prendre en main</td>
        <td>Plus complexe à opérer, conçu pour l'orchestration avancée</td>
      </tr>
      <tr>
        <td>Cas d'usage typique</td>
        <td>CI/CD, envs locaux, prototypes</td>
        <td>Architectures cloud-native avancées</td>
      </tr>
      <tr>
        <td>Automatisation</td>
        <td>Limitée à l'exécution</td>
        <td>Auto-scaling, auto-healing, haute disponibilité</td>
      </tr>
    </tbody>
  </table>
</div>
<!-- /wp:html -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Docker et Kubernetes ne sont pas des technologies concurrentes</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>La question Kubernetes vs Docker n'est pas une question de choix : chacune répond à un besoin distinct à une étape différente du cycle de vie applicatif.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Docker a simplifié la création et l'exécution des applications conteneurisées. Kubernetes a automatisé leur exploitation à grande échelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Toutes les applications n'ont pas besoin de Kubernetes. Dans de nombreux cas, Docker seul suffit. Et pour déléguer entièrement l'exploitation, un PaaS prend le relais, y compris sur des architectures distribuées et des exigences de résilience élevées. Kubernetes, lui, devient pertinent lorsqu'on a besoin d'un contrôle explicite sur l'orchestration, d'une intégration avec l'écosystème CNCF ou d'une portabilité multi-cloud sur des standards ouverts. C'est un choix de modèle opérationnel et de besoins d'équipe, pas un niveau de complexité applicative.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>L'enjeu n'est donc pas de choisir « Docker ou Kubernetes », mais de reconnaître à partir de quel besoin d'orchestration Kubernetes apporte une réelle valeur.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"textAlign":"center","level":1} -->
<h1 class="wp-block-heading has-text-align-center">FAQ</h1>
<!-- /wp:heading -->

<!-- wp:html -->
<div style="height: 1px; background-color: #DEDDEE; margin: 30px auto; width: 100%;"></div>
<!-- /wp:html -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Docker et Kubernetes sont-ils concurrents ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. Docker et Kubernetes répondent à des besoins différents. Docker sert principalement à créer et exécuter des conteneurs, tandis que Kubernetes orchestre leur fonctionnement à grande échelle.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Kubernetes remplace-t-il Docker ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Non. Depuis la version 1.24 de Kubernetes (mai 2022), Docker n'est plus utilisé comme runtime interne du cluster. Kubernetes s'appuie désormais sur des runtimes compatibles CRI comme containerd ou CRI-O. En revanche, les images Docker, conformes au standard OCI, restent pleinement compatibles avec Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Pourquoi Kubernetes est-il devenu un standard ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Kubernetes s'est imposé grâce à son modèle déclaratif, sa portabilité entre environnements et l'écosystème cloud-native construit autour de la CNCF, dont il est un projet graduated depuis 2016, notamment avec des outils comme Helm, Prometheus ou ArgoCD.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Quelle différence entre K3S et Kubernetes classique ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>K3S est une distribution Kubernetes allégée, adaptée aux environnements edge, IoT, développement ou petits clusters, avec une consommation de ressources plus faible.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Un Kubernetes managé est-il préférable ?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans beaucoup d'organisations, oui. Un Kubernetes managé réduit la charge opérationnelle liée au control plane, aux mises à jour, à la sécurité et à la résilience des clusters. C'est l'approche retenue par <a href="https://www.clever.cloud/fr/product/kubernetes/">Clever Kubernetes Engine</a>.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CKE en bêta publique : Kubernetes managé, souverain, et vraiment intégré</title>
		<link>https://www.clever.cloud/fr/blog/entreprise/2026/04/27/cke-en-beta-publique-kubernetes-manage-souverain-et-vraiment-integre/</link>
		
		<dc:creator><![CDATA[Horacio Gonzalez]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 15:10:56 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Entreprise]]></category>
		<category><![CDATA[Fonctionnalités]]></category>
		<category><![CDATA[cke]]></category>
		<category><![CDATA[K8S]]></category>
		<category><![CDATA[kubernetes]]></category>
		<guid isPermaLink="false">https://www.clever.cloud/?p=24224</guid>

					<description><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Clever Cloud Bannière CKE" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Nous avons donc construit notre propre orchestrateur. Il repose sur des micro-VMs et nous donne une frontière kernel propre entre les workloads, sans partage de noyau entre tenants. C'est ce qui fait tourner aujourd'hui des dizaines de milliers d'applications en production sur notre PaaS, et c'est encore, pour la plupart des projets, le chemin le plus court entre un commit et de la production.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Quand Docker est arrivé, certains workloads se prêtaient mieux à une image conteneurisée qu'à nos runtimes natifs. Nous avons donc ajouté un runtime Docker à la plateforme, là où ça avait du sens. Pas pour remplacer notre approche, mais pour l'élargir.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Puis Kubernetes s'est imposé comme le standard de fait de l'orchestration de conteneurs. Son écosystème (Helm, opérateurs, GitOps…) est devenu incontournable pour de nombreuses équipes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous aurions pu continuer à répondre que, dans beaucoup de cas, Kubernetes n'est pas le meilleur chemin vers la production. C'est toujours vrai.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais ça ne suffisait plus.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est pour ça que nous lançons <a href="https://www.clever.cloud/fr/clever-kubernetes-engine/">CKE, notre Clever Kubernetes Engine</a>, aujourd'hui disponible en bêta publique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Comme beaucoup le savent, pendant des années, nous avons résisté à l'idée de proposer Kubernetes comme une case à cocher de plus dans la Console. Non pas parce que Kubernetes ne sert à rien, mais parce qu'il est trop souvent devenu une réponse par défaut à des problèmes que le PaaS résout plus simplement : déployer une application, la scaler, la superviser, l'isoler, lui connecter une base de données, gérer ses variables d'environnement, ses logs et son cycle de vie. Et nous le pensons toujours.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais Kubernetes est devenu le langage commun d'une grande partie de l'écosystème cloud-native. Helm, les opérateurs, GitOps, les workloads déjà conteneurisés, les plateformes internes et les chaînes d'outillage existantes font partie de la réalité quotidienne de nombreuses équipes. Et notre raison d'être est de faciliter la vie des équipes techniques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La question n'était donc plus "faut-il faire du Kubernetes ?", mais "peut-on faire du Kubernetes sans renier ce qui fait Clever Cloud ?"</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="pas-un-kubernetes-empaqueté-à-la-va-vite">Pas un Kubernetes empaqueté à la va-vite</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le chemin le plus rapide pour proposer du Kubernetes managé, c'est d'empaqueter une distribution upstream derrière une console d’administration, d'ajouter une API de provisioning, et de facturer le cluster à l'heure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est une stratégie valide pour sortir vite.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce n'est pas celle que nous voulions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour CKE, nous avions trois exigences qui ne se résolvent pas en ajoutant simplement Kubernetes à côté du reste de la plateforme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La première, c'est la souveraineté. CKE est opéré en Europe, sur notre infrastructure et celle de nos partenaires, et peut aussi être déployé sur les infrastructures on-premises de nos clients qui en ont besoin. Pas de dépendance aux hyperscalers américains, pas de zones grises sur la juridiction des données, pas de promesse floue sur la localisation réelle de l'infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La deuxième, c'est l'intégration avec le reste de Clever Cloud. Nous ne voulions pas créer un silo Kubernetes à côté du PaaS, des bases de données managées, du stockage objet et du réseau privé. Nous voulions un Kubernetes qui s'inscrive dans la même plateforme, avec la même Console, le même outillage, la même facturation, les mêmes règles de gouvernance et les mêmes services managés.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La troisième, c'est la prévisibilité opérationnelle. Kubernetes est un système distribué complexe, et son comportement sous charge dépend beaucoup de ses fondations. Nous ne voulions pas opérer un produit dont la couche basse resterait une boîte noire ou une limite acceptée par défaut.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce qui nous a amenés à travailler à un endroit que peu de fournisseurs touchent : la couche de cohérence interne de Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="sous-le-capot--materia-etcd-sur-foundationdb">Sous le capot : Materia etcd sur FoundationDB</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans Kubernetes, etcd est le composant qui stocke l'état du cluster : les manifests, les ressources, les secrets, l'état des nœuds. C'est la source de vérité de tout l'orchestrateur.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est aussi l'un des composants les plus sensibles du système.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>etcd fonctionne très bien dans le cadre pour lequel il a été conçu. Mais ses limites à grande échelle sont connues : taille du store, latences sous forte charge en écriture, comportement en cas de partition réseau, opérations de sauvegarde et restauration, besoin de compaction et de surveillance fine. Quand Kubernetes devient une fondation critique, etcd devient un sujet d'exploitation à part entière.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous ne voulions pas construire CKE sur une brique que nous considérerions ensuite comme une boîte noire fragile.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons donc repris le problème à sa racine : conserver le contrat attendu par Kubernetes, mais remplacer la couche de cohérence interne par une implémentation adossée à FoundationDB. C'est ce que nous appelons Materia etcd.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>FoundationDB nous apporte des transactions ACID distribuées, un modèle de cohérence robuste, et une approche de&nbsp;<a href="https://apple.github.io/foundationdb/testing.html">testing par simulation déterministe</a>&nbsp;qui correspond très bien à notre manière de construire de l'infrastructure critique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour l'utilisateur final, ce travail est invisible. C'est précisément le but. Sous le capot, cette fondation nous permet de construire CKE avec l'auto-scaling, l'auto-healing et la prévisibilité opérationnelle que nous attendons d'un service Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous reviendrons bientôt plus en détail sur Materia etcd, parce que le sujet mérite un article dédié.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="du-kubernetes-standard-côté-développeur">Du Kubernetes standard côté développeur</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Tout ce travail sur la couche basse a un objectif simple : côté utilisateur, CKE doit être du Kubernetes standard.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vos manifests fonctionnent sans modification. Vos charts Helm s'installent normalement. Votre Argo CD ou votre Flux se branche comme sur n'importe quel cluster. Vos opérateurs Kubernetes tournent sans surprise.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE ne cherche pas à réinventer l'interface développeur de Kubernetes. Ce serait contre-productif. Si vous avez déjà une chaîne de déploiement Kubernetes, l'objectif est qu'elle puisse fonctionner sur CKE avec le moins de friction possible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La différence se joue ailleurs : dans la manière dont ce Kubernetes s'intègre au reste de la plateforme Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="kubernetes-quand-vous-en-avez-besoin-le-paas-quand-il-suffit">Kubernetes quand vous en avez besoin, le PaaS quand il suffit</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE ne remplace pas notre PaaS. Il le complète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour beaucoup d'applications, le PaaS reste le meilleur choix : moins d'exploitation, moins de configuration, moins de YAML, moins de surface de maintenance. Si votre application rentre naturellement dans un runtime Clever Cloud, le PaaS reste souvent le chemin le plus simple et le plus robuste.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais il y a des cas où Kubernetes est le bon outil.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous avez peut-être besoin :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>D'installer un opérateur ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De reprendre des manifests existants ; </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De standardiser une chaîne GitOps ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De déployer un workload déjà distribué sous forme de chart Helm ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De faire tourner une plateforme interne construite autour de l'API Kubernetes ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Ou simplement de répondre aux habitudes d'une équipe qui travaille déjà avec Kubernetes au quotidien.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Dans ces cas-là, le problème n'est pas Kubernetes en soi. Le problème, c'est Kubernetes isolé du reste de votre système.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est là que CKE change les choses. Vous pouvez garder une API Node.js sur le PaaS, un frontend statique sur Cellar, une base PostgreSQL managée, et faire tourner sur CKE uniquement le composant, l'opérateur ou le workload qui a réellement besoin de Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le tout dans le même environnement Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="une-intégration-native-avec-lécosystème-clever-cloud">Une intégration native avec l'écosystème Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE a été conçu pour s'intégrer avec les services que vous utilisez déjà sur Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Cellar</strong>, notre stockage objet compatible S3, peut être utilisé depuis vos workloads Kubernetes.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Les bases de données managées</strong>&nbsp;(PostgreSQL, MySQL, MongoDB, Redis, Materia) s'attachent à votre cluster comme aux autres applications Clever Cloud.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>IAM as a Service</strong>&nbsp;permet de gérer l'authentification et les permissions sur le cluster et sur les équipes qui y accèdent.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Network Groups</strong>&nbsp;permet de relier votre cluster CKE à vos applications PaaS Clever Cloud existantes, dans le même réseau privé.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>L’intégration avec Network Groups est probablement celle qui change le plus le quotidien.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes est souvent introduit dans les organisations comme une nouvelle île : nouvelle console, nouveau réseau, nouveaux secrets, nouvelles règles d'accès, nouvelle facturation, nouvelle façon de connecter les services entre eux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec CKE, l'objectif est inverse. Kubernetes devient une brique de plus dans l'architecture Clever Cloud, pas un monde parallèle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous pouvez donc construire une architecture hybride sans bricolage : une partie sur le PaaS, une partie sur CKE, des bases de données managées, du stockage objet, du réseau privé, et une gouvernance commune.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="activer-cke-et-déployer-une-première-application">Activer CKE et déployer une première application</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour cette démo, on va rester sur le minimum vital : activer la fonctionnalité, créer un cluster, récupérer un kubeconfig, ajouter un node group et déployer une première application avec un service de type&nbsp;<code>LoadBalancer</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Côté prérequis, il faut avoir&nbsp;<a href="https://www.clever.cloud/developers/doc/cli/">Clever Tools</a>&nbsp;en version 4.3 ou supérieure, et&nbsp;<code>kubectl</code>&nbsp;installé sur votre poste.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Depuis l'ouverture de la bêta publique le 27 avril, la fonctionnalité Kubernetes peut être activée par tous les clients Clever Cloud, en une commande :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever features enable k8s</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>On peut alors créer un cluster. Donnez-lui un nom, précisez votre organisation, et l'option&nbsp;<code>--watch</code>&nbsp;permet de suivre l'avancement du déploiement :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever k8s create my-cluster --org &lt;your-org-id&gt; --watch</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>La création prend environ une minute. À tout moment, on peut lister les clusters de l'organisation avec&nbsp;<code>clever k8s list</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une fois le cluster prêt, on récupère son kubeconfig et on l'écrit directement comme configuration locale par défaut :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever k8s get-kubeconfig my-cluster --org &lt;your-org-id&gt; &gt; ~/.kube/config</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>À partir de là, c'est du Kubernetes standard.&nbsp;<code>kubectl</code>&nbsp;parle au cluster, et tout votre outillage habituel suit. On peut commencer par vérifier que tout est en place :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl get nodes</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>À ce stade, la liste est vide : le cluster est créé mais sans capacité de calcul. C'est l'occasion d'introduire la première spécificité de CKE côté API : le&nbsp;<code>NodeGroup</code>. Un node group est un ensemble de nœuds Kubernetes de même profil (même flavor, même région), gérés comme un tout. Vous le décrivez comme n'importe quelle ressource Kubernetes, dans un fichier YAML :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-yaml">apiVersion: api.clever-cloud.com/v1
kind: NodeGroup
metadata:
  name: example-nodegroup
spec:
  flavor: M
  nodeCount: 2</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Et vous l'appliquez avec&nbsp;<code>kubectl</code>&nbsp;:</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl create -f example-nodegroup.yaml</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Soixante à quatre-vingt-dix secondes plus tard, les nœuds rejoignent le cluster :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl get nodegroups
NAME                DESIREDNODECOUNT   CURRENTNODECOUNT   FLAVOR   STATUS   AGE
example-nodegroup   2                  2                  M        Synced   2m

kubectl get nodes
NAME                      STATUS   ROLES    AGE   VERSION
example-nodegroup-node0   Ready    <none>   2m    v1.35.0
example-nodegroup-node1   Ready    <none>   2m    v1.35.0</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour ajuster la taille du node group, on reste dans l'API Kubernetes :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl scale nodegroup example-nodegroup --replicas=4</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Avec un cluster qui dispose maintenant de capacité de calcul, on peut déployer une première application. Pour faire simple, un nginx exposé via un service de type&nbsp;<code>LoadBalancer</code>, ce qui provisionnera automatiquement un load balancer côté Clever Cloud :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl create deployment nginx --image=nginx:alpine --replicas=2 
kubectl expose deployment/nginx --type=LoadBalancer --port 80 
kubectl get service nginx</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Quelques secondes plus tard, le service expose une adresse publique. C'est exactement le comportement réactif évoqué plus haut sur la phase de test privé : provisionner un node group, le scaler ou exposer un service ne demande ni attente ni configuration manuelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À partir d'ici, c'est du Kubernetes comme partout ailleurs. Vous pouvez ajouter du persistent storage via le CSI Clever Cloud, installer le&nbsp;<a href="https://github.com/CleverCloud/clever-kubernetes-operator">Clever Kubernetes Operator</a>&nbsp;pour provisionner depuis vos manifests une base de données managée, ou brancher votre chaîne GitOps habituelle. Le cluster supporte les versions Kubernetes 1.34, 1.35 et 1.36, avec 1.35 par défaut. Tout est détaillé dans la&nbsp;<a href="https://www.clever.cloud/developers/doc/kubernetes/">documentation CKE</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="ce-quon-a-vu-en-test-privé-et-à-devoxx-et-la-suite">Ce qu'on a vu en test privé et à Devoxx, et la suite</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE est désormais en bêta publique, mais certains de nos clients y ont accès en test privé depuis plusieurs mois. Cette phase a été très utile pour confronter le produit à des usages réels avant de l'ouvrir plus largement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les retours sont très positifs. Le cluster se comporte comme attendu, et les opérations qui touchent souvent au quotidien d'une équipe Kubernetes, comme l'ajout d'un nœud ou la mise en place d'un load balancer, sont rapides et prévisibles. C'est précisément le comportement que nous visions en investissant autant de temps sur la couche de cohérence interne.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À Devoxx France, nous avons présenté CKE sur le stand Clever Cloud pendant trois jours. Les discussions ont confirmé deux choses que nous observions déjà.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>D'abord, les équipes ne cherchent pas seulement un cluster Kubernetes. Elles cherchent un Kubernetes qui s'intègre proprement à leur plateforme, à leur réseau, à leurs bases de données, à leurs contraintes de sécurité et à leurs pratiques existantes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, et c'est sans doute le retour le plus marquant, les développeurs ne cherchent pas à tout mettre sur Kubernetes. Beaucoup veulent garder leurs applications classiques sur notre PaaS, là où il est le plus efficace, et déployer sur Kubernetes uniquement les composants qui le méritent vraiment, par leur complexité, par leur architecture distribuée ou par les contraintes de l'écosystème dans lequel ils s'inscrivent.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est exactement le genre d’architecture hybride que CKE est conçu pour permettre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est aussi pour ça que nous avions construit, en amont du lancement, le&nbsp;<a href="https://github.com/CleverCloud/clever-kubernetes-operator">Clever Kubernetes Operator</a>. Il permet à un workload qui tourne dans un cluster Kubernetes, qu’il soit hébergé chez nous ou ailleurs, de provisionner et de consommer nos services managés directement depuis l’API Kubernetes : PostgreSQL, MySQL, MongoDB, Redis, Cellar ou Materia.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour vos équipes, c’est du&nbsp;<code>kubectl apply</code>&nbsp;qui crée une base de données managée. Pour CKE, c’est l’outil naturel pour faire le pont entre les workloads Kubernetes et le reste de la plateforme Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La bêta est ouverte à tous les clients Clever Cloud. Vous pouvez l'activer dès maintenant, déployer vos premiers workloads, et nous faire remonter ce qui vous manque, ce qui vous surprend ou ce que vous aimeriez voir arriver ensuite.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La discussion est ouverte sur <a href="https://github.com/CleverCloud/Community/discussions/categories/kubernetes" target="_blank" rel="noreferrer noopener">notre communauté GitHub</a>, et la documentation est disponible <a href="https://www.clever.cloud/developers">ici</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE ne remplace pas notre PaaS. Il le complète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour beaucoup d'applications, le PaaS reste le chemin le plus simple entre un commit et de la production. Mais quand vous avez besoin de Kubernetes, pour un opérateur, un chart Helm, une chaîne GitOps, un workload déjà standardisé ou une plateforme interne, vous pouvez maintenant le faire dans l'environnement Clever Cloud, avec nos choix d'infrastructure, notre réseau, nos services managés et nos exigences de souveraineté.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce Kubernetes-là que nous voulions construire.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="800" height="355" src="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Clever Cloud Bannière CKE" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr.png 800w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2026/04/2026-04-27-clever-cloud-banniere-blog-cke-fr-768x341.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p><!-- wp:paragraph -->
<p>Nous avons donc construit notre propre orchestrateur. Il repose sur des micro-VMs et nous donne une frontière kernel propre entre les workloads, sans partage de noyau entre tenants. C'est ce qui fait tourner aujourd'hui des dizaines de milliers d'applications en production sur notre PaaS, et c'est encore, pour la plupart des projets, le chemin le plus court entre un commit et de la production.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Quand Docker est arrivé, certains workloads se prêtaient mieux à une image conteneurisée qu'à nos runtimes natifs. Nous avons donc ajouté un runtime Docker à la plateforme, là où ça avait du sens. Pas pour remplacer notre approche, mais pour l'élargir.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Puis Kubernetes s'est imposé comme le standard de fait de l'orchestration de conteneurs. Son écosystème (Helm, opérateurs, GitOps…) est devenu incontournable pour de nombreuses équipes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous aurions pu continuer à répondre que, dans beaucoup de cas, Kubernetes n'est pas le meilleur chemin vers la production. C'est toujours vrai.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais ça ne suffisait plus.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est pour ça que nous lançons <a href="https://www.clever.cloud/fr/clever-kubernetes-engine/">CKE, notre Clever Kubernetes Engine</a>, aujourd'hui disponible en bêta publique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Comme beaucoup le savent, pendant des années, nous avons résisté à l'idée de proposer Kubernetes comme une case à cocher de plus dans la Console. Non pas parce que Kubernetes ne sert à rien, mais parce qu'il est trop souvent devenu une réponse par défaut à des problèmes que le PaaS résout plus simplement : déployer une application, la scaler, la superviser, l'isoler, lui connecter une base de données, gérer ses variables d'environnement, ses logs et son cycle de vie. Et nous le pensons toujours.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais Kubernetes est devenu le langage commun d'une grande partie de l'écosystème cloud-native. Helm, les opérateurs, GitOps, les workloads déjà conteneurisés, les plateformes internes et les chaînes d'outillage existantes font partie de la réalité quotidienne de nombreuses équipes. Et notre raison d'être est de faciliter la vie des équipes techniques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La question n'était donc plus "faut-il faire du Kubernetes ?", mais "peut-on faire du Kubernetes sans renier ce qui fait Clever Cloud ?"</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="pas-un-kubernetes-empaqueté-à-la-va-vite">Pas un Kubernetes empaqueté à la va-vite</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Le chemin le plus rapide pour proposer du Kubernetes managé, c'est d'empaqueter une distribution upstream derrière une console d’administration, d'ajouter une API de provisioning, et de facturer le cluster à l'heure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est une stratégie valide pour sortir vite.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ce n'est pas celle que nous voulions.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour CKE, nous avions trois exigences qui ne se résolvent pas en ajoutant simplement Kubernetes à côté du reste de la plateforme.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La première, c'est la souveraineté. CKE est opéré en Europe, sur notre infrastructure et celle de nos partenaires, et peut aussi être déployé sur les infrastructures on-premises de nos clients qui en ont besoin. Pas de dépendance aux hyperscalers américains, pas de zones grises sur la juridiction des données, pas de promesse floue sur la localisation réelle de l'infrastructure.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La deuxième, c'est l'intégration avec le reste de Clever Cloud. Nous ne voulions pas créer un silo Kubernetes à côté du PaaS, des bases de données managées, du stockage objet et du réseau privé. Nous voulions un Kubernetes qui s'inscrive dans la même plateforme, avec la même Console, le même outillage, la même facturation, les mêmes règles de gouvernance et les mêmes services managés.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La troisième, c'est la prévisibilité opérationnelle. Kubernetes est un système distribué complexe, et son comportement sous charge dépend beaucoup de ses fondations. Nous ne voulions pas opérer un produit dont la couche basse resterait une boîte noire ou une limite acceptée par défaut.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce qui nous a amenés à travailler à un endroit que peu de fournisseurs touchent : la couche de cohérence interne de Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="sous-le-capot--materia-etcd-sur-foundationdb">Sous le capot : Materia etcd sur FoundationDB</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dans Kubernetes, etcd est le composant qui stocke l'état du cluster : les manifests, les ressources, les secrets, l'état des nœuds. C'est la source de vérité de tout l'orchestrateur.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est aussi l'un des composants les plus sensibles du système.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>etcd fonctionne très bien dans le cadre pour lequel il a été conçu. Mais ses limites à grande échelle sont connues : taille du store, latences sous forte charge en écriture, comportement en cas de partition réseau, opérations de sauvegarde et restauration, besoin de compaction et de surveillance fine. Quand Kubernetes devient une fondation critique, etcd devient un sujet d'exploitation à part entière.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous ne voulions pas construire CKE sur une brique que nous considérerions ensuite comme une boîte noire fragile.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons donc repris le problème à sa racine : conserver le contrat attendu par Kubernetes, mais remplacer la couche de cohérence interne par une implémentation adossée à FoundationDB. C'est ce que nous appelons Materia etcd.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>FoundationDB nous apporte des transactions ACID distribuées, un modèle de cohérence robuste, et une approche de&nbsp;<a href="https://apple.github.io/foundationdb/testing.html">testing par simulation déterministe</a>&nbsp;qui correspond très bien à notre manière de construire de l'infrastructure critique.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour l'utilisateur final, ce travail est invisible. C'est précisément le but. Sous le capot, cette fondation nous permet de construire CKE avec l'auto-scaling, l'auto-healing et la prévisibilité opérationnelle que nous attendons d'un service Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous reviendrons bientôt plus en détail sur Materia etcd, parce que le sujet mérite un article dédié.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="du-kubernetes-standard-côté-développeur">Du Kubernetes standard côté développeur</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Tout ce travail sur la couche basse a un objectif simple : côté utilisateur, CKE doit être du Kubernetes standard.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vos manifests fonctionnent sans modification. Vos charts Helm s'installent normalement. Votre Argo CD ou votre Flux se branche comme sur n'importe quel cluster. Vos opérateurs Kubernetes tournent sans surprise.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE ne cherche pas à réinventer l'interface développeur de Kubernetes. Ce serait contre-productif. Si vous avez déjà une chaîne de déploiement Kubernetes, l'objectif est qu'elle puisse fonctionner sur CKE avec le moins de friction possible.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La différence se joue ailleurs : dans la manière dont ce Kubernetes s'intègre au reste de la plateforme Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="kubernetes-quand-vous-en-avez-besoin-le-paas-quand-il-suffit">Kubernetes quand vous en avez besoin, le PaaS quand il suffit</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE ne remplace pas notre PaaS. Il le complète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour beaucoup d'applications, le PaaS reste le meilleur choix : moins d'exploitation, moins de configuration, moins de YAML, moins de surface de maintenance. Si votre application rentre naturellement dans un runtime Clever Cloud, le PaaS reste souvent le chemin le plus simple et le plus robuste.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Mais il y a des cas où Kubernetes est le bon outil.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous avez peut-être besoin :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>D'installer un opérateur ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De reprendre des manifests existants ; </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De standardiser une chaîne GitOps ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De déployer un workload déjà distribué sous forme de chart Helm ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>De faire tourner une plateforme interne construite autour de l'API Kubernetes ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Ou simplement de répondre aux habitudes d'une équipe qui travaille déjà avec Kubernetes au quotidien.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Dans ces cas-là, le problème n'est pas Kubernetes en soi. Le problème, c'est Kubernetes isolé du reste de votre système.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est là que CKE change les choses. Vous pouvez garder une API Node.js sur le PaaS, un frontend statique sur Cellar, une base PostgreSQL managée, et faire tourner sur CKE uniquement le composant, l'opérateur ou le workload qui a réellement besoin de Kubernetes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Le tout dans le même environnement Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="une-intégration-native-avec-lécosystème-clever-cloud">Une intégration native avec l'écosystème Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE a été conçu pour s'intégrer avec les services que vous utilisez déjà sur Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Cellar</strong>, notre stockage objet compatible S3, peut être utilisé depuis vos workloads Kubernetes.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Les bases de données managées</strong>&nbsp;(PostgreSQL, MySQL, MongoDB, Redis, Materia) s'attachent à votre cluster comme aux autres applications Clever Cloud.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>IAM as a Service</strong>&nbsp;permet de gérer l'authentification et les permissions sur le cluster et sur les équipes qui y accèdent.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Network Groups</strong>&nbsp;permet de relier votre cluster CKE à vos applications PaaS Clever Cloud existantes, dans le même réseau privé.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>L’intégration avec Network Groups est probablement celle qui change le plus le quotidien.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Kubernetes est souvent introduit dans les organisations comme une nouvelle île : nouvelle console, nouveau réseau, nouveaux secrets, nouvelles règles d'accès, nouvelle facturation, nouvelle façon de connecter les services entre eux.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Avec CKE, l'objectif est inverse. Kubernetes devient une brique de plus dans l'architecture Clever Cloud, pas un monde parallèle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Vous pouvez donc construire une architecture hybride sans bricolage : une partie sur le PaaS, une partie sur CKE, des bases de données managées, du stockage objet, du réseau privé, et une gouvernance commune.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="activer-cke-et-déployer-une-première-application">Activer CKE et déployer une première application</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pour cette démo, on va rester sur le minimum vital : activer la fonctionnalité, créer un cluster, récupérer un kubeconfig, ajouter un node group et déployer une première application avec un service de type&nbsp;<code>LoadBalancer</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Côté prérequis, il faut avoir&nbsp;<a href="https://www.clever.cloud/developers/doc/cli/">Clever Tools</a>&nbsp;en version 4.3 ou supérieure, et&nbsp;<code>kubectl</code>&nbsp;installé sur votre poste.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Depuis l'ouverture de la bêta publique le 27 avril, la fonctionnalité Kubernetes peut être activée par tous les clients Clever Cloud, en une commande :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever features enable k8s</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>On peut alors créer un cluster. Donnez-lui un nom, précisez votre organisation, et l'option&nbsp;<code>--watch</code>&nbsp;permet de suivre l'avancement du déploiement :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever k8s create my-cluster --org &lt;your-org-id&gt; --watch</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>La création prend environ une minute. À tout moment, on peut lister les clusters de l'organisation avec&nbsp;<code>clever k8s list</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Une fois le cluster prêt, on récupère son kubeconfig et on l'écrit directement comme configuration locale par défaut :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">clever k8s get-kubeconfig my-cluster --org &lt;your-org-id&gt; &gt; ~/.kube/config</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>À partir de là, c'est du Kubernetes standard.&nbsp;<code>kubectl</code>&nbsp;parle au cluster, et tout votre outillage habituel suit. On peut commencer par vérifier que tout est en place :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl get nodes</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>À ce stade, la liste est vide : le cluster est créé mais sans capacité de calcul. C'est l'occasion d'introduire la première spécificité de CKE côté API : le&nbsp;<code>NodeGroup</code>. Un node group est un ensemble de nœuds Kubernetes de même profil (même flavor, même région), gérés comme un tout. Vous le décrivez comme n'importe quelle ressource Kubernetes, dans un fichier YAML :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-yaml">apiVersion: api.clever-cloud.com/v1
kind: NodeGroup
metadata:
  name: example-nodegroup
spec:
  flavor: M
  nodeCount: 2</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Et vous l'appliquez avec&nbsp;<code>kubectl</code>&nbsp;:</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl create -f example-nodegroup.yaml</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Soixante à quatre-vingt-dix secondes plus tard, les nœuds rejoignent le cluster :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl get nodegroups
NAME                DESIREDNODECOUNT   CURRENTNODECOUNT   FLAVOR   STATUS   AGE
example-nodegroup   2                  2                  M        Synced   2m

kubectl get nodes
NAME                      STATUS   ROLES    AGE   VERSION
example-nodegroup-node0   Ready    <none>   2m    v1.35.0
example-nodegroup-node1   Ready    <none>   2m    v1.35.0</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Pour ajuster la taille du node group, on reste dans l'API Kubernetes :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl scale nodegroup example-nodegroup --replicas=4</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Avec un cluster qui dispose maintenant de capacité de calcul, on peut déployer une première application. Pour faire simple, un nginx exposé via un service de type&nbsp;<code>LoadBalancer</code>, ce qui provisionnera automatiquement un load balancer côté Clever Cloud :</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<pre class="wp-block-code"><code class="language-bash">kubectl create deployment nginx --image=nginx:alpine --replicas=2 
kubectl expose deployment/nginx --type=LoadBalancer --port 80 
kubectl get service nginx</code></pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Quelques secondes plus tard, le service expose une adresse publique. C'est exactement le comportement réactif évoqué plus haut sur la phase de test privé : provisionner un node group, le scaler ou exposer un service ne demande ni attente ni configuration manuelle.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À partir d'ici, c'est du Kubernetes comme partout ailleurs. Vous pouvez ajouter du persistent storage via le CSI Clever Cloud, installer le&nbsp;<a href="https://github.com/CleverCloud/clever-kubernetes-operator">Clever Kubernetes Operator</a>&nbsp;pour provisionner depuis vos manifests une base de données managée, ou brancher votre chaîne GitOps habituelle. Le cluster supporte les versions Kubernetes 1.34, 1.35 et 1.36, avec 1.35 par défaut. Tout est détaillé dans la&nbsp;<a href="https://www.clever.cloud/developers/doc/kubernetes/">documentation CKE</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="ce-quon-a-vu-en-test-privé-et-à-devoxx-et-la-suite">Ce qu'on a vu en test privé et à Devoxx, et la suite</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKE est désormais en bêta publique, mais certains de nos clients y ont accès en test privé depuis plusieurs mois. Cette phase a été très utile pour confronter le produit à des usages réels avant de l'ouvrir plus largement.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Les retours sont très positifs. Le cluster se comporte comme attendu, et les opérations qui touchent souvent au quotidien d'une équipe Kubernetes, comme l'ajout d'un nœud ou la mise en place d'un load balancer, sont rapides et prévisibles. C'est précisément le comportement que nous visions en investissant autant de temps sur la couche de cohérence interne.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>À Devoxx France, nous avons présenté CKE sur le stand Clever Cloud pendant trois jours. Les discussions ont confirmé deux choses que nous observions déjà.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>D'abord, les équipes ne cherchent pas seulement un cluster Kubernetes. Elles cherchent un Kubernetes qui s'intègre proprement à leur plateforme, à leur réseau, à leurs bases de données, à leurs contraintes de sécurité et à leurs pratiques existantes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ensuite, et c'est sans doute le retour le plus marquant, les développeurs ne cherchent pas à tout mettre sur Kubernetes. Beaucoup veulent garder leurs applications classiques sur notre PaaS, là où il est le plus efficace, et déployer sur Kubernetes uniquement les composants qui le méritent vraiment, par leur complexité, par leur architecture distribuée ou par les contraintes de l'écosystème dans lequel ils s'inscrivent.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est exactement le genre d’architecture hybride que CKE est conçu pour permettre.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C’est aussi pour ça que nous avions construit, en amont du lancement, le&nbsp;<a href="https://github.com/CleverCloud/clever-kubernetes-operator">Clever Kubernetes Operator</a>. Il permet à un workload qui tourne dans un cluster Kubernetes, qu’il soit hébergé chez nous ou ailleurs, de provisionner et de consommer nos services managés directement depuis l’API Kubernetes : PostgreSQL, MySQL, MongoDB, Redis, Cellar ou Materia.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour vos équipes, c’est du&nbsp;<code>kubectl apply</code>&nbsp;qui crée une base de données managée. Pour CKE, c’est l’outil naturel pour faire le pont entre les workloads Kubernetes et le reste de la plateforme Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La bêta est ouverte à tous les clients Clever Cloud. Vous pouvez l'activer dès maintenant, déployer vos premiers workloads, et nous faire remonter ce qui vous manque, ce qui vous surprend ou ce que vous aimeriez voir arriver ensuite.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>La discussion est ouverte sur <a href="https://github.com/CleverCloud/Community/discussions/categories/kubernetes" target="_blank" rel="noreferrer noopener">notre communauté GitHub</a>, et la documentation est disponible <a href="https://www.clever.cloud/developers">ici</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CKE ne remplace pas notre PaaS. Il le complète.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour beaucoup d'applications, le PaaS reste le chemin le plus simple entre un commit et de la production. Mais quand vous avez besoin de Kubernetes, pour un opérateur, un chart Helm, une chaîne GitOps, un workload déjà standardisé ou une plateforme interne, vous pouvez maintenant le faire dans l'environnement Clever Cloud, avec nos choix d'infrastructure, notre réseau, nos services managés et nos exigences de souveraineté.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>C'est ce Kubernetes-là que nous voulions construire.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
