Fast at production scale:
50,000 pods on 470 nodes,
first rows in 3 seconds.
The size of a large production cluster. We started KubeDrive and four other Kubernetes clients cold against the same clusters and timed what you see on screen. Same Mac, same kubeconfig, median of five runs.
- Pods 50,000
- Nodes 470
- Namespaces all
- Start cold
kubectl get pods -A takes 27 sSide by side
50,000 pods on 470 nodes: a large production cluster.
First rows
From launch to the first pod rows on screen. Less is better.Full list
Until the client shows all 50,000 pods. Less is better.Memory
Memory of the whole process tree with the list open. Less is better.50,000 pods packed on 4 nodes: the most pods a small cluster can hold.
First rows
From launch to the first pod rows on screen. Less is better.Full list
Until the client shows all 50,000 pods. Less is better.Memory
Memory of the whole process tree with the list open. Less is better.500 pods on 4 nodes: an ordinary cluster.
First rows
From launch to the first pod rows on screen. Less is better.Memory
Memory of the whole process tree with the list open. Less is better.Aptakube's free plan opens clusters of up to 5 nodes, so it sits out the 470-node run. k9s and kubectl print everything at once, so their first rows are the full list. Feature by feature: KubeDrive next to each client.
Ready for the clusters your company runs.
Nothing to install in the cluster
No agent, no operator, nothing for security to review on the cluster side. KubeDrive uses the kubeconfig, SSO and RBAC you already have.
Cluster data stays on the laptop
KubeDrive talks to your API servers directly with your credentials. Cluster data never reaches our servers.
Safe on production by default
Production contexts are protected from the first launch: a red frame, and every change asks for the object's name. How it works
Light on work laptops
428 MB with 50,000 pods open on 470 nodes, where k9s takes 2.6 GB on the same cluster.
AI agents under control
Agents see only the clusters you share, and every change they propose waits for your Allow.
Why it is fast
Not a browser tab around kubectl: a native app with a Go core that does the heavy lifting before anything reaches the screen.
Tables, not objects
The API server sends the columns kubectl would print. 50,000 pods arrive as rows, not 50,000 full objects to parse.
First page first
The first batch shows at once; the rest streams in behind it while you already scroll and filter.
Its own table
Only the rows on screen exist in the page, so sorting and scrolling 50,000 pods stays smooth.
How we measured
kind with kwok nodes: 4 nodes for 500 and 50,000 pods, 470 nodes for 50,000 pods. Colima VM, 4 CPU, 8 GB.
Cold start, the client's own window recorded and read by OCR; clicks a client needs are made as soon as the item appears. Memory: the whole process tree, 30 s idle.
Your old laptop is enough. Measured on a 2018 MacBook Pro: Intel Core i7, 16 GB.
KubeDrive build of 2026-10-29, Aptakube 1.22.1, Headlamp 0.46.0, Freelens 2.0.0, k9s 0.51.0.
Scripts and raw results on GitHubRerun them on your own machine and clusters.
Running clusters this size?
The Team plan: Pro on every seat, given and taken back by email, one invoice a year. Tell us about your clusters.
Talk to usbrew install --cask aleksskoz/tap/kubedrivemacOS 13 or later · Apple silicon and Intel · signed and notarized by Apple
Windows 10 1809 or later, Windows 11 · not code-signed yet: More info → Run anyway
sudo apt install ./kubedrive_0.6.3_amd64.debDebian 13, Ubuntu 24.04, Fedora 40 and newer · GTK 4 and WebKitGTK 6.0 come as dependencies