Most people who run Kubernetes keep several clusters in one kubeconfig: production, staging, one on the laptop, sometimes one per region or per customer. At Demuxer we build Kuberniq, a desktop Kubernetes client for macOS and Windows, and this article shows how it opens those clusters.
The problem
In a terminal, moving between clusters means changing the current context. You run kubectl config get-contexts to see the names, kubectl config use-context shop-prod to pick one, and from then on every command in every shell goes to that cluster until someone changes it again. kubectx makes the switch shorter, but the current context is still one setting that all your terminals share. Some desktop clients add a step of their own before you see anything, such as signing in to an account with them.
How Kuberniq does it
Kuberniq reads the same kubeconfig as kubectl, from KUBECONFIG or ~/.kube/config, and asks for no account.
- The welcome screen lists every context in the file, each with its cluster and the address of its API server. In our demo,
shop-prodis an EKS context, shown with its ARN and itseks.amazonaws.comendpoint. With many contexts, Search clusters narrows the list, and Reload reads the file again after you change it. - Select the context and click Open.
- A window opens on that cluster. On the left, the Resources tree groups the kinds into Workloads, Network, Configuration, Storage, Access control, Cluster and Custom resources, with a count next to each kind. At the top, the namespace dropdown picks one namespace or All namespaces, and the status bar shows the version the cluster reports, here
Kubernetes v1.33.1-eks-7b0f2a1. - Pick All namespaces and every table covers the whole cluster. The screenshot shows
shop-prodthat way: 246 pods and 49 Deployments, listed with their namespace, ready replicas and age.
The credentials stay where they are: Kuberniq reads them from the kubeconfig and doesn't copy them to an account or a service of ours.
What it doesn't do yet
Kuberniq doesn't discover clusters on its own. If a cluster isn't in your kubeconfig, or kubectl can't reach it from there, it won't show up in Kuberniq either. There's also no Linux build; it runs on macOS and Windows.
Try it
The free license covers personal projects, study, teaching and open source, with the whole app and no account. If you keep many contexts in one kubeconfig, we'd like to hear how you move between them today and where Kuberniq gets in the way.
Download Kuberniq from its page: https://demuxer.dev/kuberniq?utm_source=devto&utm_medium=organic&utm_campaign=kuberniq-desktop&utm_content=dev-to%2Fkubeconfig
