Choose your setup
KSail separates what Kubernetes you run (the distribution) from where its nodes run (the
provider). You pick both in ksail.yaml; the workflow (init → create → update → delete) is
identical regardless of choice. This page helps you choose. For the exhaustive compatibility grid, see
the Support Matrix.
Pick by goal
Section titled “Pick by goal”| Your goal | Start with | Why |
|---|---|---|
| Learn Kubernetes / general local dev | Vanilla (Kind) | Unmodified upstream Kubernetes, fastest to start, Docker-only |
| Fast inner loop & CI/CD | K3s (K3d) | Lightweight, batteries-included, quick to create and tear down |
| Production-grade / secure / immutable | Talos | API-driven immutable OS; runs on Docker, Hetzner, or Omni |
| Isolate teams or feature branches cheaply | VCluster | Virtual clusters inside one host — low overhead, strong isolation |
| Scale-test controllers or the API server | KWOK | Simulates thousands of nodes with near-zero resource cost |
| Managed Kubernetes on AWS | EKS | Managed control plane on AWS (scaffolding today; provisioning coming) |
Distributions at a glance
Section titled “Distributions at a glance”| Distribution | Tool | Best for | Providers |
|---|---|---|---|
| Vanilla | Kind | Upstream Kubernetes, learning, local dev | Docker, Kubernetes |
| K3s | K3d | Lightweight dev & CI/CD | Docker, Kubernetes |
| Talos | Talos | Immutable, secure, production | Docker, Kubernetes, Hetzner, Omni |
| VCluster | Vind | Multi-tenancy, feature branches, CI isolation | Docker, Kubernetes |
| KWOK | kwokctl | Simulation, scale & controller testing | Docker, Kubernetes |
| EKS | eksctl | Managed Kubernetes on AWS | AWS |
Providers at a glance
Section titled “Providers at a glance”The provider decides where nodes actually run. Most distributions default to Docker (local containers); Talos additionally runs on real or virtual cloud infrastructure.
| Provider | Runs nodes as | Use it for |
|---|---|---|
| Docker | Local Docker containers | The default for all local distributions |
| Kubernetes (Nested) | Pods in an existing cluster | Running clusters inside a cluster — no Docker on the host |
| Hetzner | Hetzner Cloud servers | Affordable real cloud clusters (Talos) |
| Omni (Sidero) | Talos nodes via Sidero Omni | Managing Talos through the Omni SaaS |
| AWS | Managed EKS | Managed Kubernetes on Amazon Web Services |
How distribution and provider combine
Section titled “How distribution and provider combine”# ksail.yaml — Talos on Docker locally…spec: cluster: distribution: Talos provider: Docker# …and the same distribution on Hetzner for productionspec: cluster: distribution: Talos provider: HetznerKeeping the distribution constant across environments (e.g. Talos locally and in production) maximizes fidelity. See the Reference Architecture for a worked local-plus-production setup, and the Support Matrix for every supported combination.