<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Livre on Zwindler's Reflection</title><link>https://blog.zwindler.fr/en/tags/livre/</link><description>Recent content in Livre on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Sun, 02 Nov 2025 18:00:00 +0200</lastBuildDate><atom:link href="https://blog.zwindler.fr/en/tags/livre/index.xml" rel="self" type="application/rss+xml"/><item><title>93 ways to deploy Kubernetes: I've cataloged (almost) all existing methods</title><link>https://blog.zwindler.fr/en/2025/11/02/93-ways-to-deploy-kubernetes-ive-cataloged-almost-all-existing-methods/</link><pubDate>Sun, 02 Nov 2025 18:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/en/2025/11/02/93-ways-to-deploy-kubernetes-ive-cataloged-almost-all-existing-methods/</guid><description>&lt;img src="https://blog.zwindler.fr/2025/11/93-kubernetes-screenshot.webp" alt="Featured image of post 93 ways to deploy Kubernetes: I've cataloged (almost) all existing methods" /&gt;&lt;h2 id="a-slightly-crazy-documentary-project"&gt;A slightly crazy documentary project
&lt;/h2&gt;&lt;p&gt;When I started writing my book &lt;a class="link" href="https://www.editions-eyrolles.com/livre/kubernetes" target="_blank" rel="noopener"
&gt;&amp;ldquo;Kubernetes: 50 solutions for development workstations and production clusters&amp;rdquo;&lt;/a&gt;, I quickly realized a problem: &lt;strong&gt;there are an infinite number of ways to deploy Kubernetes&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Well, not &lt;em&gt;literally&lt;/em&gt; infinite, but still&amp;hellip; many. Too many?&lt;/p&gt;
&lt;p&gt;To structure my book and choose which solutions I would cover, I did what any good nerd would do: &lt;strong&gt;I created a spreadsheet&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;A very large spreadsheet.&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;Google Sheet&lt;/strong&gt; that currently lists &lt;strong&gt;93 different methods&lt;/strong&gt; for deploying Kubernetes. Since I don&amp;rsquo;t like to &amp;ldquo;waste&amp;rdquo;, I&amp;rsquo;m sharing it with you today &lt;a class="link" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" target="_blank" rel="noopener"
&gt;under CC BY-SA 4.0 (Attribution - Share Alike)&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.google.com/spreadsheets/d/1zjOLU8MblsN8VPwUyHNDFbBQ7EihHM2joD2Q9Tv2DiI/edit?usp=sharing" target="_blank" rel="noopener"
&gt;93 ways to deploy Kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/93-kubernetes-screenshot.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="what-does-this-spreadsheet-contain"&gt;What does this spreadsheet contain?
&lt;/h2&gt;&lt;p&gt;The spreadsheet is structured with several columns to help you navigate this jungle:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Product name (and publisher when interesting)&lt;/li&gt;
&lt;li&gt;Product URL: I tried to restrict to open source products (or &lt;strong&gt;public&lt;/strong&gt; managed services) although there are a few exceptions&lt;/li&gt;
&lt;li&gt;Solution type (I&amp;rsquo;ll come back to this)&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Based on&amp;rdquo;: this is quite funny&amp;hellip; many projects are layers on top of kubeadm, k3s or k0s. Not all of them say it openly, and I realized it by trying them or digging in the code&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And maybe a bit less interesting for some of you (maybe it will disappear)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Do I talk about it in my book?&lt;/li&gt;
&lt;li&gt;Do I talk about it on my blog?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-different-tool-categories"&gt;The different tool categories
&lt;/h2&gt;&lt;p&gt;To structure first my thinking, and then my book, I tried to classify these methods into categories.&lt;/p&gt;
&lt;p&gt;Some are quite obvious (a managed offering, you can immediately see what it&amp;rsquo;s about), others, a bit more personal (and therefore debatable).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kubernetes on desktop (Local Development)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tools for developing locally on your machine. We&amp;rsquo;re talking about Minikube, kind and other Docker Desktop&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Infrastructure as Code (IaC)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tools that allow you to describe Kubernetes deployment via code (opentofu, crossplane, pulumi&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kubernetes in Kubernetes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Because why make it simple when you can make it&amp;hellip; recursive? 🤯. It&amp;rsquo;s currently limited to vCluster and k3k.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Specialized OSes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Operating systems designed specifically to run Kubernetes. I&amp;rsquo;m obviously thinking of Talos Linux, but not only ;-P.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Managed Kubernetes (turnkey cloud offerings)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No need to draw a picture, we immediately think of the EKS / AKS / GKE triplet, but also French solutions (OVHcloud Managed Kubernetes, soon Clever Cloud :smirk:)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cluster management platforms&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here, it&amp;rsquo;s a somewhat separate category, which will allow us to manage many Kubernetes clusters and even generate new clusters managed by clusters&amp;hellip; Often good Rube Goldberg machines like Gardener or worse Kubermatic Kubernetes Platform. We still have some slightly more fun things like Kamaji.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Automation tools for self-hosted&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Solutions that automate deployment on your own machines, like kubeadm, k3s and k0s (the triplet, basis of about 50% of other market solutions).&lt;/p&gt;
&lt;h2 id="the-revelation-everyone-copies-from-their-neighbor"&gt;The revelation: everyone copies from their neighbor
&lt;/h2&gt;&lt;p&gt;While filling in this spreadsheet, I discovered something funny: &lt;strong&gt;a large majority of tools don&amp;rsquo;t reinvent the wheel&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Many projects are actually &lt;strong&gt;layers&lt;/strong&gt; or &lt;strong&gt;wrappers&lt;/strong&gt; around three basic solutions I just mentioned (kubeadm, k3s and k0s). And sometimes, we &lt;strong&gt;also&lt;/strong&gt; have layers on slightly more confidential solutions.&lt;/p&gt;
&lt;p&gt;The information isn&amp;rsquo;t always available, I sometimes discovered it in a blog post, or even by digging into the solution&amp;rsquo;s internals.&lt;/p&gt;
&lt;p&gt;This is typically the kind of interesting column to really realize that beyond the apparent diversity of these deployment solutions, there&amp;rsquo;s actually a big standard and a few variations.&lt;/p&gt;
&lt;p&gt;I hope to manage to find more similar clues to fill this column even more :).&lt;/p&gt;
&lt;h2 id="a-living-document"&gt;A living document
&lt;/h2&gt;&lt;p&gt;This spreadsheet is not static. The number of tools evolves regularly (I discover new ones almost every week).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;If you know a method that&amp;rsquo;s not listed&lt;/strong&gt;, don&amp;rsquo;t hesitate to comment on social networks.&lt;/p&gt;
&lt;p&gt;Note: I remind you that I primarily target &lt;strong&gt;open source&lt;/strong&gt; solutions or &lt;strong&gt;public&lt;/strong&gt; managed services (I just removed Mirantis Kubernetes Engine for this reason).&lt;/p&gt;
&lt;h2 id="so-what-do-i-still-have-to-test"&gt;So, what do I still have to test?
&lt;/h2&gt;&lt;p&gt;I&amp;rsquo;ve already teased on reputable social networks, in the list of things I haven&amp;rsquo;t tested yet but that could motivate me, there are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kamaji.clastix.io" target="_blank" rel="noopener"
&gt;kamaji&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/portainer/kubesolo" target="_blank" rel="noopener"
&gt;kubesolo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/kubeclipper/kubeclipper" target="_blank" rel="noopener"
&gt;kubeclipper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://tarook.cloud/en" target="_blank" rel="noopener"
&gt;tarook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>