Resource tables
Live, virtualised lists of any kind — with typed filters, saved views, a health strip, bulk actions and a detail pane beside the rows.
Every kind opens as a table. Tables are live: kdashboard watches the API server and applies changes as they happen, so there is nothing to poll. The footer says Watching and how fresh the data is; r or the Refresh button re-lists by hand.
Tables are virtualised, and rows carry only the fields their columns need — the full object is fetched when you open it — so a table with ten thousand pods scrolls like one with ten.
Search and filter
Press / to focus the search box. Plain text matches anywhere in the row. A term written as key:value becomes a filter chip when you press Space or ⏎.
| Operator | Meaning | Example |
|---|---|---|
key:value | contains | ns:billing |
key:!value | does not contain | status:!running |
key:>n key:>=n key:<n key:<=n | numeric comparison | restarts:>3 |
The key is any column of the table, by its name with spaces removed — lastschedule for Last Schedule. name, namespace, status and restarts always work. There are shorthands too:
| Shorthand | Column |
|---|---|
ns | Namespace |
state, phase | Status |
rst, restart | Restarts |
cpu, mem | CPU and memory usage |
ready | Ready |
owner, controller | Controlled by |
image | Images |
ep, endpoint | Endpoints |
external | External IP |
Text matches are case-insensitive. Numeric comparisons read the number at the start of the cell, so age:<2 and ready:1/1 behave as you would expect. On usage columns, a comparison is against the percentage of the limit (or of the request, when there is no limit): cpu:>80 finds pods above 80 % of their CPU limit, and never matches a pod that has neither.
Combine freely: restarts:>3 ns:prod crash is two chips plus the free text crash. A term whose key matches no column is simply treated as text.
Backspace in an empty box pulls the last chip back for editing. Esc clears everything.
Saved views
The chips to the left of the search box are views — a saved combination of filters — each with its row count.
Built in:
| Table | Views |
|---|---|
| Pods | All, Attention, Restarting |
| Deployments | All, Unhealthy, Rolling out |
| Nodes | All, Not ready |
| Events | All, Warnings |
To save your own: set up the filters, click the bookmark button next to the views, and name it. Views are saved per kind. Hover one of yours and click the X to delete it.
The health strip
Under the toolbar, a bar and a row of chips summarise the table — Running, Failing, Pending and Completed for pods; Healthy, Degraded, Failing and Rolling Out for Deployments; and so on. Click a chip to show only those rows, and again to clear it.
On the Pods table, Attention marks pods that failed, cannot be scheduled, have a container stuck in an error state or killed, or have restarted more than ten times.
Columns, sorting and density
- Click a header to sort. Drag its right edge to resize.
- The columns button shows and hides columns. Your choice is remembered per kind; Reset brings the defaults back. The Namespace column hides itself while a single namespace is selected.
- The density toggle switches between Comfortable, Compact and Terminal — 36, 30 and 26-pixel rows, the last one in a mono face. It is also in Settings.
Live usage
The Pods and Nodes tables show CPU and memory, as a value, a bar and a percentage. A pod’s bar fills towards its limit, or its request when it has no limit; a node’s, towards its capacity. Bars turn amber at 70 % and red at 90 %.
Usage needs metrics-server in the cluster. Without it the cells show —.
Open a resource
| Do | Get |
|---|---|
| Click a row | A preview beside the table. Drag its left edge to resize it. |
| Double-click, or ⌘⏎ | The resource in its own tab |
| j / k, then ⏎ | The same, from the keyboard |
See Resource detail for what is inside.
Act on a row
Right-click a row, or use its … button. The menu only offers what applies to that kind:
- Navigate — View Logs, Open Terminal, View Topology, Edit YAML, Compare Across Namespaces / Contexts, and the AI agent actions for the kind
- Operations — Scale Replicas, Quick Edit, Restart, Rollback, Trigger Now, Suspend / Resume, Re-run, Cordon / Uncordon, Node Shell, Drain, Open in Browser, Watch for Alerts, Pin to Sidebar
- Clipboard — Copy Name, Copy Namespace, Copy as YAML, Copy as JSON
- Delete
They are described in Editing and actions. Right-click the empty part of the table for Refresh, Density, Filter and Create from YAML.
Several rows at once
Hover a row to reveal its checkbox; the header checkbox selects everything. With a selection:
- the bar above the table offers Delete selected, which asks for confirmation;
- right-clicking a selected row offers Restart, Copy Names and Delete for all of them.
Create a resource
The Create button opens an editor for new manifests — see Create resources.
When a table will not load
| Message | Meaning |
|---|---|
| <Kind> not available in this cluster | The API server answered 404: the CRD or API group is not installed |
| You cannot list <kind> here | 403: your user lacks the permission in this scope. Try another namespace. |
| Unable to reach cluster | The API server did not answer |
Hover the message to read the raw error.