kmap kmap

Your services, your names, every cluster.

The cluster client shows you the cluster. kmap shows you your services — under your names, across every namespace, against every environment, in one table. And the row with no pods tells you why it has none.

same aliases · three clusters
$ kmap pods command: klocal
local — 5 alias(es) 22:08:45 ALIASWORKLOADREADYSTATUSREASONRESTARTSAGEDOCSapiapi-server1/1Running—03hhttps://api.example.com/docsauthauth1/1Running—22d—workerworker0/1PendingInit:1/204m—queuequeue—scaled to 0————cachecache1/1Running—09d—
$ kmap pods staging context: Staging
staging — 5 alias(es) 22:08:45 ALIASWORKLOADREADYSTATUSREASONRESTARTSAGEDOCSapibackend2/2Running—06dhttps://api.stg.example.com/docsauthauth-svc1/1Running—06d—workerworker1/1Running—06d—queuequeue—no pods————cacheredis1/1Running—112d—
$ kmap pods prod context: Production
prod — 5 alias(es) [protected] 22:08:45 ALIASWORKLOADREADYSTATUSREASONRESTARTSAGEDOCSapiapi-gateway6/6Running—021dhttps://api.prod.example.com/docsauthauth3/3Running—021d—workerworker4/4Running—19d—queuequeue2/2Running—034d—cachecache-redis—selector missed3 ready, none matched———

└─ a row that is not running says why. Pending carries how far Init got; an empty row is asked about, and comes back scaled to 0, no pods, not deployed or selector missed — never a blank.

~$ curl -LsSf https://kmap.aymenkrifa.com/install.sh | sh

then kmap init reads your kubeconfig, turns every context into an environment, and marks anything named like production as protected.