Kubernetes dashboards are either too heavy (Lens requires a local install and feels like an IDE), too minimal (the default dashboard is barely readable), or too opinionated for teams that just need a clear, browser-based view of what's happening in their cluster right now.
The gap: a zero-configuration, browser-native dashboard that works with any cluster, gives you a real health signal - not just green/yellow/red - and ships as a single Docker image.
K8Lens is a production-ready web dashboard that you deploy in one Docker command. Mount your kubeconfig, or pass a URL and bearer token - the dashboard connects, pulls live cluster data across 15+ resource types, and scores cluster health on an intelligent 0–100 scale with per-category breakdown.
No local installation. No setup wizard. No agent to deploy inside the cluster.
8 things it does well
linux/amd64 + linux/arm64 - runs on both x86 servers and Graviton/Apple SiliconFull Resource Coverage
Pods · Deployments · StatefulSets · DaemonSets · Jobs · CronJobs · ReplicaSets · Services · Ingresses · Endpoints · NetworkPolicies · ConfigMaps · Secrets · PersistentVolumes · PersistentVolumeClaims · StorageClasses · Roles · RoleBindings · ClusterRoles · ServiceAccounts · Nodes · Namespaces · Events
How it fits together
Built on @kubernetes/client-node - the official, type-safe Kubernetes JavaScript client. This ensures correct RBAC handling, long-term API compatibility, and reliable behavior across Kubernetes versions.
All Kubernetes API calls happen server-side via Next.js Server Actions - no separate backend service needed. Kubeconfig credentials never reach the browser. The architecture stays lean: one container, one command.
The score is calculated across five weighted dimensions:
| Dimension | What's Evaluated |
|---|---|
| Node Health | Are all nodes in Ready state? |
| Pod Health | Running vs. Failed / Pending / CrashLoopBackOff ratios |
| Workload Health | Deployment and StatefulSet desired vs. available replicas |
| Recent Events | Warning and Error event frequency in the last window |
| Configuration Quality | Resource quotas, limit ranges, namespace hygiene |
Each dimension has specific deduction rules. A cluster with all nodes Ready but 30% of pods in CrashLoopBackOff won't score 100 - and the breakdown tells you exactly why. This replaces vague status indicators with an actionable number.
Built with Docker Buildx for linux/amd64 and linux/arm64 targets - meaning it runs natively on AWS Graviton instances, Apple Silicon development machines, and standard x86 servers without emulation overhead.
Multi-stage Alpine build keeps the image at ~200MB. Non-root user execution and read-only kubeconfig volume mount minimize the container's attack surface in production environments.
5 phases
Quick Start
docker run -d -p 3000:3000 \ -v ~/.kube/config:/home/nextjs/.kube/config:ro \ undeatharva/k8s-web-manager:latestOpen http://localhost:3000 - full cluster dashboard, no further configuration.
One Docker command. Full cluster visibility across 15+ resource types. Intelligent health scoring that tells you why.
The 0–100 health score is the core differentiator. Most dashboards show you what's happening; this one tells you how healthy your cluster is - with the specificity to act on it. Combined with zero-config deployment and multi-arch support (including Graviton, which is increasingly common in cost-optimized AWS environments), the dashboard works well in exactly the environments where operational overhead should be lowest.
