默认监听 127.0.0.1:9280,非回环地址访问需要配置认证;Timeline 历史默认存内存,重启即丢,需用 --timeline-storage=sqlite 或 postgres 持久化;连接 AI agent 时建议用只读端点 /mcp-readonly,否则会暴露可执行类工具。
radar
skyhook-ioApache-2.0活跃维护一个开源的 Kubernetes 可视化面板,内置 MCP 服务器供 AI Agent 调用,能直观展示集群故障、拓扑、事件时间线和 GitOps 状态,帮助快速定位问题根因。
The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.
curl -fsSL https://get.radarhq.io | sh && kubectl radarREADME 未说明显存或 GPU 要求;作为单二进制工具在笔记本上运行,通过 kubeconfig 访问 Kubernetes API,也可用 Helm 部署到集群内。
单二进制开源 Kubernetes UI,内置 MCP 服务器,帮你看清集群哪里坏了、为什么坏、改了什么
一个开源的 Kubernetes 可视化面板,内置 MCP 服务器供 AI Agent 调用,能直观展示集群故障、拓扑、事件时间线和 GitOps 状态,帮助快速定位问题根因。
核心能力
- 用 Issues 队列按严重程度列出当前故障资源
- 用 Topology 展示资源归属与依赖关系
- 用 Timeline 记录事件与资源变更并给出 diff
- 内置 MCP 服务器向 AI agent 暴露集群关系与健康数据
- 支持 Helm、GitOps、Traffic、Audit 等多种视图
容易踩的坑
- v1.20.2最新正式版2026-11-09 · 2026-11-09 04:13 UTC
Radar v1.20.2
Modern Kubernetes visibility. Local-first. No account. No cloud dependency. Fast.
Topology, event timeline, and service traffic — plus resource browsing and Helm management. Open source. Free forever.
Installation
Homebrew (macOS/Linux):
brew install skyhook-io/tap/radarScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radarPowerShell (Windows):
irm https://raw.githubusercontent.com/skyhook-io/radar/main/install.ps1 | iexManual (macOS Apple Silicon):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.2/radar_v1.20.2_darwin_arm64.tar.gz tar -xzf radar_v1.20.2_darwin_arm64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (macOS Intel):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.2/radar_v1.20.2_darwin_amd64.tar.gz tar -xzf radar_v1.20.2_darwin_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (Linux amd64):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.2/radar_v1.20.2_linux_amd64.tar.gz tar -xzf radar_v1.20.2_linux_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Desktop App
Homebrew (macOS):
brew install --cask skyhook-io/tap/radar-desktopDebian/Ubuntu:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.2/radar-desktop_v1.20.2_linux_amd64.deb sudo dpkg -i radar-desktop_v1.20.2_linux_amd64.debFedora/RHEL:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.2/radar-desktop_v1.20.2_linux_amd64.rpm sudo rpm -i radar-desktop_v1.20.2_linux_amd64.rpmScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radar-desktopWindows (direct download): Download from the assets below.
CLI
Then run:
kubectl radarChangelog
- 6d6af0d779ee2877279907de08614dbf4a25ecf1 Add MCP Helm release workflows and in-cluster Service checks (#2543)
- b0ee3ad77a4ad8735868ddb4a9bee60f0c32f48b Add a manual test of how agents use Radar's MCP, starting with Helm (#2586)
- 214c839da53d7c5b4d65c46d2ac8959581d22c45 Attribute Flux and Applications management from recorded membership, not labels (#2505)
- b65b6e2a4e19213b9b3b7eb8d5c837b830b8a97f ClusterQueue detail: show quota and Workloads before related objects (#2571)
- ae3ccf907b652aa97bb1b7c58bcd1a746a9557ec Don't call an unanswered Helm check a denial; correct the unread-namespace contracts (#2575)
- 0f3b7417b52a7eb1617d57f72d51689f49bbbb8d Don't report missing references while Radar's cache is still loading (#2572)
- 79d87181780aadd98452647cfedc2a6720833d60 Generic conditions: color by known polarity; a stopped KServe model reads Stopped, not failed (#2584)
- a2a87572bda9fc71aad35157e48d2a4dd5fbca6d GitOps: place cluster-scoped Flux inventory and keep sources in neighborhoods (#2088)
- a71e84e6cd98b35bef083505f2721085451c0d17 Home: show Nodes and Namespaces as restricted, not 0, when Radar can't list them (#2576)
- 945a82ef643222482e65b7eec96fd815babd9bba Issues: regression test for a route moved between Gateway listeners (#2447)
- 62dfe57e0b289b4c26fb9fa1a0d1c5266a715098 Keep cluster-scoped custom kinds cluster-scoped whichever API version discovery lists first (#2574)
- 0c1dd350efe3892144aaf801ab895220af01c592 Kueue: show queued Jobs and JobSets as Held by Kueue, not Suspended (#2570)
- d6c7852dc835903413c5e8f298185db3ff7caff7 Return the observed release from get_helm_release when Helm's Secrets are denied (#2582)
- bcff160211dcd5d4ebe538089ac484132d59b982 Scheduler messages: read Volcano's verdicts instead of misreading them (#2587)
- 9769761570e6e83a171676d0d94b8d1d42166e4f Scheduling: when a selector excludes some nodes, lead with what blocks the nodes it matches (#2583)
- f38e6d2b5586fa1489be55f2bf4406dc90caeec7 Show the Helm view without Secret access, from Helm's
- v1.20.12026-11-07 · 2026-11-07 18:57 UTC
查看更新说明
Radar v1.20.1
Modern Kubernetes visibility. Local-first. No account. No cloud dependency. Fast.
Topology, event timeline, and service traffic — plus resource browsing and Helm management. Open source. Free forever.
Installation
Homebrew (macOS/Linux):
brew install skyhook-io/tap/radarScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radarPowerShell (Windows):
irm https://raw.githubusercontent.com/skyhook-io/radar/main/install.ps1 | iexManual (macOS Apple Silicon):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.1/radar_v1.20.1_darwin_arm64.tar.gz tar -xzf radar_v1.20.1_darwin_arm64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (macOS Intel):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.1/radar_v1.20.1_darwin_amd64.tar.gz tar -xzf radar_v1.20.1_darwin_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (Linux amd64):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.1/radar_v1.20.1_linux_amd64.tar.gz tar -xzf radar_v1.20.1_linux_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Desktop App
Homebrew (macOS):
brew install --cask skyhook-io/tap/radar-desktopDebian/Ubuntu:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.1/radar-desktop_v1.20.1_linux_amd64.deb sudo dpkg -i radar-desktop_v1.20.1_linux_amd64.debFedora/RHEL:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.1/radar-desktop_v1.20.1_linux_amd64.rpm sudo rpm -i radar-desktop_v1.20.1_linux_amd64.rpmScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radar-desktopWindows (direct download): Download from the assets below.
CLI
Then run:
kubectl radarChangelog
- 7466899f56f76df5644a1f81b042b1c0447e975c Revert "parent Gateway not found" Issues check (RAD-939, #2555) to research out-of-cluster cases (#2567)
- v1.20.02026-11-06 · 2026-11-06 22:42 UTC
查看更新说明
Radar v1.20.0
Modern Kubernetes visibility. Local-first. No account. No cloud dependency. Fast.
Topology, event timeline, and service traffic — plus resource browsing and Helm management. Open source. Free forever.
Installation
Homebrew (macOS/Linux):
brew install skyhook-io/tap/radarScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radarPowerShell (Windows):
irm https://raw.githubusercontent.com/skyhook-io/radar/main/install.ps1 | iexManual (macOS Apple Silicon):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.0/radar_v1.20.0_darwin_arm64.tar.gz tar -xzf radar_v1.20.0_darwin_arm64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (macOS Intel):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.0/radar_v1.20.0_darwin_amd64.tar.gz tar -xzf radar_v1.20.0_darwin_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (Linux amd64):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.0/radar_v1.20.0_linux_amd64.tar.gz tar -xzf radar_v1.20.0_linux_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Desktop App
Homebrew (macOS):
brew install --cask skyhook-io/tap/radar-desktopDebian/Ubuntu:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.0/radar-desktop_v1.20.0_linux_amd64.deb sudo dpkg -i radar-desktop_v1.20.0_linux_amd64.debFedora/RHEL:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.20.0/radar-desktop_v1.20.0_linux_amd64.rpm sudo rpm -i radar-desktop_v1.20.0_linux_amd64.rpmScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radar-desktopWindows (direct download): Download from the assets below.
CLI
Then run:
kubectl radarChangelog
- 3935aa7825bc88849f932bea4122f9afe8a78fbd AI investigations: a built-in example for people who haven't run one yet (#2486)
- 73980ddba911fc32f29c87fd487f5aa376cf70b4 Accept groups sent as repeated headers in proxy mode
- 4fa114de070f32d7a59db5b746cee619292ddc39 Add explicit application evidence collection to local resource details (#1847)
- c1264229d4d2bb37408a5bad15a812712064cdce Add local MCP application evidence collection and diagnosis hints (#1841)
- 3e408f4f208955f2bc9e8871ad3b72436ffd3830 Add v1.20.0 What's New entry and show up to seven cards (#2548)
- ace79b099fe577915b47836dccd0914cf11cf055 Argo CD: drop a resource dry-run result once what it checked changes (#2469)
- 8012d378145ae779057d8c1bddb23f85d1225873 Argo CD: first-time Enable auto-sync starts with self-heal off, as Argo does (#2477)
- 3f62fcce5affa59283132fcfbfd3a6dea87019ef Argo CD: name dry runs in the sync toast and keep sync tooltips accurate (#2468)
- 9aa65a6ca8b3178a9fc588bd6289c40c964c63e0 Argo CD: name the ApplicationSet or parent that can turn auto-sync back on (#2470)
- c50a5499d424148db82b21ae7693496f84724770 Argo CD: syncs keep sync options, pin the compared commit, and default prune off (#2066)
- 3d1103ca9bd53d2936d1c0a4c9b0eed987548291 Argo CD: the resource drawer's Sync opens the options dialog (#2478)
- d9e73f4012335c0c69ba0f414aebbeb26839a979 Argo CD: working rollback, rollback outcome insights, and Argo 3 auto-sync state (#2060)
- 491e15def06b633646ea00c5399abe46e2d9a9bd Auth docs: strip whichever identity headers Radar is configured to read
- 042894be7e98cafbd467aeb3644cabb408f56376 Back off from a cluster that's down, and say since when (#2457)
- d7c29576256a8f4816968e658e263d7c946b84e8 Build GitOps workload descendants from canonical ownership and membership (#2391)
- a3e300c47f31d46211cb58902ab181c06dcc1848 Capacity Demand: name GPU and Pod requests, and give no verdict while a pool is unknown (#2537)
- ecb57013abfc8d92464c8b0bada3208c05f68c8b Chart README: drop the rbac.namespaces removal ste
- v1.18.4-rc.1pre-release2026-10-29 · 2026-10-29 14:07 UTC
查看更新说明
Radar v1.18.4-rc.1
Modern Kubernetes visibility. Local-first. No account. No cloud dependency. Fast.
Topology, event timeline, and service traffic — plus resource browsing and Helm management. Open source. Free forever.
Installation
Homebrew (macOS/Linux):
brew install skyhook-io/tap/radarScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radarPowerShell (Windows):
irm https://raw.githubusercontent.com/skyhook-io/radar/main/install.ps1 | iexManual (macOS Apple Silicon):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.18.4-rc.1/radar_v1.18.4-rc.1_darwin_arm64.tar.gz tar -xzf radar_v1.18.4-rc.1_darwin_arm64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (macOS Intel):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.18.4-rc.1/radar_v1.18.4-rc.1_darwin_amd64.tar.gz tar -xzf radar_v1.18.4-rc.1_darwin_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (Linux amd64):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.18.4-rc.1/radar_v1.18.4-rc.1_linux_amd64.tar.gz tar -xzf radar_v1.18.4-rc.1_linux_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Desktop App
Homebrew (macOS):
brew install --cask skyhook-io/tap/radar-desktopDebian/Ubuntu:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.18.4-rc.1/radar-desktop_v1.18.4-rc.1_linux_amd64.deb sudo dpkg -i radar-desktop_v1.18.4-rc.1_linux_amd64.debFedora/RHEL:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.18.4-rc.1/radar-desktop_v1.18.4-rc.1_linux_amd64.rpm sudo rpm -i radar-desktop_v1.18.4-rc.1_linux_amd64.rpmScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radar-desktopWindows (direct download): Download from the assets below.
CLI
Then run:
kubectl radarChangelog
- 4cc8b09c87587c0b746fb95603042f6b3a80ff1f Accept NKP sign-in groups in proxy mode
- 5e0b233c3fc26948299f30bf513679d54f024a07 Keep prerelease tags out of Homebrew and Scoop
- 9ce8e05c37235c52d73ed3c3715ed683150f0508 Merge remote-tracking branch 'origin/radar-rc-charts' into rc-v1.18.4-rc.1
- 57cbe6f6ed06fa1f011abc4c001d2f9dff98f222 Publish the Helm chart for prerelease tags too
- v1.19.02026-10-29 · 2026-10-29 11:08 UTC
查看更新说明
Radar v1.19.0
Modern Kubernetes visibility. Local-first. No account. No cloud dependency. Fast.
Topology, event timeline, and service traffic — plus resource browsing and Helm management. Open source. Free forever.
Installation
Homebrew (macOS/Linux):
brew install skyhook-io/tap/radarScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radarPowerShell (Windows):
irm https://raw.githubusercontent.com/skyhook-io/radar/main/install.ps1 | iexManual (macOS Apple Silicon):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.19.0/radar_v1.19.0_darwin_arm64.tar.gz tar -xzf radar_v1.19.0_darwin_arm64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (macOS Intel):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.19.0/radar_v1.19.0_darwin_amd64.tar.gz tar -xzf radar_v1.19.0_darwin_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Manual (Linux amd64):
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.19.0/radar_v1.19.0_linux_amd64.tar.gz tar -xzf radar_v1.19.0_linux_amd64.tar.gz sudo mv kubectl-radar /usr/local/bin/Desktop App
Homebrew (macOS):
brew install --cask skyhook-io/tap/radar-desktopDebian/Ubuntu:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.19.0/radar-desktop_v1.19.0_linux_amd64.deb sudo dpkg -i radar-desktop_v1.19.0_linux_amd64.debFedora/RHEL:
curl -LO https://github.com/skyhook-io/radar/releases/download/v1.19.0/radar-desktop_v1.19.0_linux_amd64.rpm sudo rpm -i radar-desktop_v1.19.0_linux_amd64.rpmScoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radar-desktopWindows (direct download): Download from the assets below.
CLI
Then run:
kubectl radarChangelog
- 7c57234e272683650abfbcec13016c5a1824ee14 Avoid repeated map allocation when sorting GitOps trees (#2422)
- 1d12b4280ab8d6b985306e42a1d2298eb413ea99 Check the agent's sign-in before the AI investigation consent step (#2420)
- 82e70fcacda7fd2edcbb6ac89b0188d9fedb490d Fix the Home Kubernetes version line wrap and trim the cluster card (#2428)
- ea52543868390537ac40c290cbaf7594e6d8a6ff Lead the assessment with its verdict, and show it when a turn finishes (#2431)
- 7194ce5a265ead524aed1a3b4affe343f68a1221 Offer typed Omnibar words as an investigation question (#2398)
- 35a7f4b98fa8a3a03bdc17ca0734725b3c9f31ed Open AI investigations from the engineer's question (#2396)
- df62d6b293992e59891d17c327e18cc8d4f6d706 Place Pod citations on single-pod metrics charts in investigation stories (#2392)
- 6afe540fd48925e0afbe19038e6b4ae119005277 README: Product Hunt badge for today's launch (#2421)
- d7d902d278d6505485dd93d5cb340dce08b62629 README: give MCP and AI investigations equal footing with the UI (#2433)
- 9beba5718edc7c08c6878caf027fc3e6d8d01744 Recover from the investigation limit: list the running ones, stop one, start yours (#2419)
- 13042df9b6a8993cb1cafaf97a8e2f95969e133a Reuse coverage bookkeeping across ownership searches (#2423)
- 0f408985bbc6735c1cfab714bc0c68647db3230a Reuse dynamic observation views across ownership searches (#2425)
- 58fada8a3dd9aa888eb08c768770126b55d30488 Reuse served-version selection within ownership sessions (#2424)
- 1fe36813b049a59453ac1b5fdb9d6022f53b19be Show dates on multi-day chart time axes (#2418)
- 3e1f5c2cfdc65e44dbbd094c8079814578f42924 Show placed charts in investigation stories, folded by the agent's compact marker (#2412)
- 6176b50959a6da07d342af4ef1dc28bc2087892c Start AI investigations from a question (#2397)
- 1cf0dea9ca839b355335ae03523e586b0d27aea8 Start an investigation from the Home cluster card (#2432)
- 09767e0fe8e4c4968517bbc326ae645792feb8e2 Surface blocked Argo auto-sync, resource warnings, and sync hazards (#2043)
- 456aea76d840c4
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Radar
The missing open-source Kubernetes UI, with a built-in MCP server for your AI agent. Single binary. No account required. Free forever.
🌐 radarhq.io · Docs · Benchmarks · Releases
Radar shows you what's broken in a Kubernetes cluster, why, and what changed: issues, topology, a timeline of events and resource changes, Helm, GitOps, traffic, audit, and upgrade impact. Your AI agent reads the same cluster data and relationships through Radar's MCP server, and Radar can run an AI investigation for you with the agent CLI you already use. It runs on your laptop as a kubectl plugin or desktop app, or in-cluster with Helm.
- Why Radar? · Debugging in the UI
- AI agents: MCP server and AI investigations — Connect your agent · AI investigations · Benchmarks
- Installation
- Usage
- Views — Issues · Topology · Resources · Image Filesystem · Timeline · Helm · Compare · TLS · GitOps · Traffic · Metrics · Capacity · Cost · Audit · Network path · Upgrade impact · RBAC · Auth
- Supported Resources & Integrations
- Keyboard Shortcuts
- Security
- Development · Contributing
Install and run in 30 seconds:
curl -fsSL https://get.radarhq.io | sh && kubectl radar
Or brew install kubectl-radar. Windows, Krew, desktop app and Helm ↓
Then, with Radar running, connect your AI agent (read-only):
claude mcp add --transport http radar http://localhost:9280/mcp-readonly
Codex, Cursor, GitHub Copilot, other clients, and the desktop app ↓
Why Radar?
- Nothing to install in your cluster — a single binary on your laptop that talks to the Kubernetes API with your kubeconfig. No agents, no CRDs, no dependencies
- Fast on big clusters — tested on tens of thousands of pods; watches the cluster through informers and pushes live updates to the browser over SSE
- Private by design — your cluster data stays on your machine. No account, no agents, no cloud sync. Usage reporting is off unless you opt in, and then sends only anonymous usage counts and coarse cluster facts: Kubernetes version, platform, node-count range, known integrations (what Radar sends). An AI agent you connect sends what it reads to its own model provider
- Airgapped-friendly — runs as a single binary against the Kubernetes API and works in locked-down environments with outbound egress blocked
- Works everywhere — GKE, EKS, AKS, minikube, kind, k3s, or any conformant cluster
- One model of the cluster, for you and your agent — the UI, the MCP server, and AI investigations read the same live data: relationships, health, events, and changes
- Ready for teams — deploy in-cluster with Helm for shared access, with SSO (OIDC or an auth proxy) and per-user Kubernetes RBAC in the open-source build
"Have Radar deployed at work. As far as Kubernetes dashboards go, this is one of the best." — u/TheRealNetroxen
Debugging in the UI
Start from Issues, a ranked queue of what's broken right now. Open a failing resource to see it in context: its owners, Pods, Services, and config on the Topology, what changed and when on the Timeline (with diffs), and its events, logs, and YAML in the detail drawer. Helm, GitOps, and Traffic cover how it got deployed and who talks to it. When you want help, Investigate hands the same evidence to your agent (AI investigations). Radar records resource changes while it watches the cluster; history is in memory by default, and --timeline-storage=sqlite or postgres keeps it across restarts.
AI agents: MCP server and AI investigations
Pointed at raw kubectl, an agent spends its context window on YAML and its time on round trips. Radar's built-in Model Context Protocol (MCP) server gives it what Radar already knows instead: how resources connect, what is unhealthy, deduplicated events, recent changes with diffs, and filtered logs. In our benchmarks, the same agent and model reached a diagnosis about 3× faster through Radar than through kubectl (details).
Connect your agent
MCP is on by default and served on the same port as the UI: 9280 unless you set --port. The desktop app picks its own port: copy the URL from Radar's MCP dialog and change the final /mcp to /mcp-readonly. Start with the read-only endpoint:
# Claude Code
claude mcp add --transport http radar http://localhost:9280/mcp-readonly
# Codex
codex mcp add radar --url http://localhost:9280/mcp-readonly
Setup for Cursor, VS Code (GitHub Copilot), Copilot CLI, OpenCode, Google Antigravity, Kiro, JetBrains, Cline, Devin, Claude Desktop, Zed, Gemini CLI, and any other MCP client is in the MCP guide. Its examples use /mcp; use /mcp-readonly instead to keep Radar's tools read-only. Your agent's other tools follow its own configuration.
- Context, not raw YAML — topology, health assessments, events, changes, and logs, minified so they don't burn the context window. The tools cover resources and topology, issues, events and changes, logs, Helm, audit, upgrade readiness, RBAC, cost, and Prometheus
- You pick the endpoint —
/mcp-readonlyhas no write tools. The full/mcpendpoint, also on by default, adds write tools (restart, scale, apply, rollback, GitOps sync, node drain) marked destructive so clients can ask before running them. On/mcp,diagnosecan also run an in-cluster reachability probe that creates short-lived pods. Calls use Radar's Kubernetes access: your kubeconfig locally, or each user's own RBAC when authentication is on.--mcp-read-onlyturns/mcpoff (and with it, applying a fix from an AI investigation);--no-mcpturns MCP and AI investigations off. Neither blocks ordinary UI writes - Secret values are withheld — Secret reads never include
.dataor.stringData. Environment variables, Helm values, and logs are scrubbed for known secret patterns, which can't catch everything, and the opt-inexec_podtool returns raw command output. See MCP security
AI investigations
Radar can also run the investigation for you, with the agent CLI you already have — Claude Code, Codex, Cursor, or OpenCode — on your machine and signed in with your own account. Radar needs no API key of its own. Start one from a resource's Investigate action, from an issue, by describing what you're seeing on the AI investigations page (where to start, since when, and optionally the resource it's about), or from a terminal against a running Radar:
radar diagnose deploy/checkout -n shop
radar diagnose deploy/checkout -n shop --json > conclusion.json
Every investigation ends on the same Findings page, with the evidence behind each claim. Radar's investigation tools can only read the cluster, and Radar applies a fix only when you approve it, from an investigation of the resource it changes. What else the agent can do depends on how Radar runs it. Radar safeguards (Claude Code and Codex) shuts off the agent's other MCP servers and its ability to write. Your agent setup (the only option for Cursor and OpenCode) runs the agent with its normal configuration, tools, and MCP servers, which Radar cannot constrain and which may be able to change your cluster. Cursor and OpenCode approve tool requests automatically in these runs, without asking you. See agents and isolation.
Investigations need a supported agent CLI on the machine running Radar, MCP on, and authentication off. In-cluster installs don't run them. See the AI investigations guide and agent CLI setup.
Benchmarks
Three studies of an AI agent diagnosing live faults from SREGym (Microsoft and UIUC) on a 3-node EKS cluster, with the same judge scoring every tool. Times are averages to a submitted answer, right or wrong. These are our own benchmarks; compare numbers within a study, not across studies.
| Study | Faults | Result |
|---|---|---|
| Radar MCP vs raw kubectl — same agent and model | 50 | 64s vs 191s to a diagnosis (about 3× faster); 86% vs 60% diagnosed correctly within two minutes |
| Kubernetes MCP servers — Radar, containers/kubernetes-mcp-server, Flux159/mcp-server-kubernetes, Amazon EKS MCP Server, k8sgpt, raw kubectl | 25 | Radar took 57s, 2.3× faster than the next-fastest MCP server; on the 14 faults every tool got right, 33s vs 58s for the next-fastest |
| AI SRE tools — Claude Code + Radar MCP vs kubectl-ai, HolmesGPT, OpenSRE, kagent, AWS DevOps Agent | 50 | Claude Code + Radar MCP was the most accurate (44/50 correct), fastest (79s), and cheapest ($0.27 a fault) |
Per-scenario scores and timings are downloadable from the benchmark pages; the AI SRE study also includes costs.
Installation
Quick Install:
curl -fsSL https://get.radarhq.io | sh
Homebrew:
brew install kubectl-radar
Also available from our tap: brew install skyhook-io/tap/radar.
Then run: kubectl radar. Quick install, PowerShell, Homebrew, and Scoop also set up the radar shorthand. Krew and direct downloads use kubectl radar unless you add your own radar symlink.
CLI
Krew (kubectl plugin manager):
kubectl krew install radar
Scoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket
scoop install radar
PowerShell (Windows):
irm https://get.radarhq.io/install.ps1 | iex
Custom install location (macOS/Linux):
curl -fsSL https://get.radarhq.io | INSTALL_DIR="$HOME/.local/bin" sh
Quick install writes to /usr/local/bin unless INSTALL_DIR says otherwise. The directory is created if missing, and needs to be on your PATH for radar and kubectl radar to resolve.
Direct download — GitHub Releases for macOS, Linux, or Windows.
Desktop App
Native desktop app — no terminal needed.
Homebrew (macOS):
brew install --cask skyhook-io/tap/radar-desktop
Debian/Ubuntu — download the .deb from GitHub Releases, then:
sudo apt install ./radar-desktop_*.deb
Fedora/RHEL — download the .rpm from GitHub Releases, then:
sudo rpm -i radar-desktop_*.rpm
Scoop (Windows):
scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket
scoop install radar-desktop
Windows (direct download) — GitHub Releases.
In-Cluster Deployment
Deploy to your cluster for shared team access:
helm repo add skyhook https://skyhook-io.github.io/helm-charts
helm install radar skyhook/radar -n radar --create-namespace
See the In-Cluster Deployment Guide for Gateway API and ingress exposure, authentication, and RBAC configuration.
Usage
# Opens browser automatically
kubectl radar
# Quick install, PowerShell, Homebrew, and Scoop also set up the bare command
radar
Common flags
| Flag | Default | Description |
|---|---|---|
--kubeconfig | ~/.kube/config | Path to primary kubeconfig file |
--namespace | (context namespace) | Initial namespace filter (supports multi-select in the UI; also used as RBAC fallback for namespace-scoped users). Unset, Radar uses your saved pick, then the kubeconfig context's namespace, then all namespaces |
--port | 9280 | Server port |
--listen-address | 127.0.0.1 | HTTP listen IP address (IPv4 or IPv6), or localhost. Bind a specific local IP or use 0.0.0.0 for all interfaces. Non-loopback access needs authentication and network controls. |
--no-browser | false | Don't auto-open browser |
--timeline-storage | memory | Timeline storage backend: memory, sqlite, or postgres |
--disable-exec | false | Disable pod terminal, debug shells, pod file browsing, CloudNativePG sessions and MCP exec_pod |
--auth-mode | none | Authentication mode: none, proxy, or oidc (details) |
--no-mcp | false | Disable all MCP endpoints |
--mcp-read-only | false | Expose only read-only MCP tools; disable /mcp (env: RADAR_MCP_READ_ONLY) |
The Configuration Guide describes every startup flag in the table above and 27 more, plus tuning for slow or high-latency clusters, kubeconfig precedence, and context switching.
--kubeconfig-dir, --namespaces, --namespace-scope, --base-path, --allowed-hosts, --trusted-origins, --browser, --timeline-db, --timeline-max-size, --history-limit, --disable-helm-write, --disable-local-terminal, --debug-image, --list-page-size, --context-switch-timeout, --first-paint-backstop, --namespace-list-timeout, --max-scope-candidates, --prometheus-url, --prometheus-single-cluster, --prometheus-cluster-label, --prometheus-header, --prometheus-header-from-env, --beyla-job-selector, --opencost-currency, --mcp-catalog-stdio, --version
radar --help is authoritative for the installed version. radar cloud status inspects an in-cluster Radar Cloud installation without changing it (details).
Views
Issues
One ranked queue of what's broken right now — crash loops, image pull failures, stuck rollouts, pods that can't be scheduled, dangling references, and failing Argo CD / Flux conditions — each with an Investigate action. See Issues.
Topology
Interactive graph showing how your Kubernetes resources are connected in real-time.
- Two modes: Resources (full hierarchy) and Traffic (network flow path)
- Group by namespace, app label, or view ungrouped
- Filter by resource kind — click any node for full details
- Auto-layout powered by ELK.js, live updates via SSE
Resources
Table-based resource browser with smart columns per resource kind.
- Browse all resource types including CRDs
- Inspect CRD definitions, versions, instances, and searchable schemas
- Search by name, filter by status or problems (CrashLoopBackOff, ImagePullBackOff, etc.)
- Add custom columns from any label or annotation — sortable, filterable, and resizable
- Click any resource for YAML manifest, related resources, logs, and events
- Set regular or init-container images on Deployments, StatefulSets, DaemonSets, and Argo Rollouts, with live rollout progress in tables, drawers, workload views, and Applications
Image Filesystem Viewer
Inspect container image filesystems directly from the Pod view — no need to pull images locally or exec into containers.
- Browse, search, and download files from any container image in a Pod
- Works with public images (Docker Hub, Quay, GHCR) and private registries (GCR, ECR, ACR) using your cluster's ImagePullSecrets
See Image filesystem.
Timeline
Unified timeline of Kubernetes events and resource changes.
- Filter by event type (all or warnings only)
- Resource change diffs showing what changed (replicas, images, etc.)
- Real-time updates as new events occur
Helm
Manage Helm releases deployed in your cluster — inspect values and rendered manifests, diff revisions, see why an upgrade or hook failed, then upgrade, roll back, or uninstall. Radar tracks available chart upgrades from your configured repos or your own OCI registries. See Helm Support for the detailed behavior and limits.
Compare Resources
Diff any two Kubernetes resources of the same kind side-by-side — like comparing a staging Deployment to its production sibling, or two pods that should be identical but aren't. Server-assigned noise (managedFields, resourceVersion, last-applied) is stripped, and diff-only and spec-only modes cut the rest. See Compare.
TLS Certificate Management
View TLS certificate details and expiry dates across all namespaces — catch expiring certificates before they cause outages.
- Parses TLS secrets to show certificate subject, issuer, and validity period
- Dashboard-level certificate expiry overview
- Available from the resource detail view for any TLS-type Secret
GitOps
Monitor, diagnose, and manage FluxCD and ArgoCD resources in one place.
- Fleet view + per-app detail page for ArgoCD (
Application,ApplicationSet,AppProject) and FluxCD (GitRepository,OCIRepository,HelmRepository,Bucket,Kustomization,HelmRelease,Alert) - Diagnosis — field-level drift, recent events per resource, stuck-drift-loop detection, parsed operation failures, one-click remediation
- Sync, suspend, resume, reconcile, and rollback from the UI or through MCP
See the GitOps guide for the full feature matrix, RBAC requirements, demo cluster, and single-cluster scope notes.
Traffic
Visualize live network traffic between services using Hubble, Caretta, Istio, or Beyla.
- Auto-detects Hubble (Cilium), Istio, Caretta, or Grafana Beyla as traffic data sources, with a setup wizard to install one if none is detected
- Beyla needs its
networkfeature enabled, and per-port edges additionally needdst.portandtransportnamed inattributes.select— both are off by default, and Radar says so in the Traffic view rather than showing partial edges silently - Animated flow graph showing requests per second between services, filterable by namespace, protocol, or status code
- Focus on a workload to see only it and what it talks to; the focus is in the URL, so it can be shared
See Traffic for source-specific requirements and large-cluster behavior.
Workload Metrics
Open a Deployment, StatefulSet or DaemonSet's Metrics tab to investigate request rate, HTTP errors, latency, CPU, memory and throttling. Radar reads an existing Prometheus-compatible backend; resource charts do not require HTTP instrumentation, and request charts use supported Beyla or Istio observations.
See Workload metrics for screenshots, prerequisites, supported configurations and local multi-cluster setup limitations.
Capacity (Karpenter)
Read-only diagnosis for Karpenter-managed fleets — why is my pod pending, which NodePool could take it, why aren't my nodes joining, what is disruption doing to my fleet? Appears automatically when Karpenter NodePools are detected (RBAC-gated). Overview, NodePool detail, Demand, and Activity screens; every quantity carries its certainty (= ≥ ≤ ?), so unavailable is never shown as zero. See docs/capacity.md.
Cost Insights
Track Kubernetes spending from OpenCost metrics in a PromQL-compatible backend or a Kubecost 3 Aggregator: allocated workload cost, namespace and workload breakdowns with efficiency scoring, node costs, and trends when Prometheus history is available. Appears automatically when compatible data is detected. See Cost.
Cluster Audit
Proactive best-practices scanner with 44 checks across security, reliability, and efficiency — inspired by Polaris, Kubescape, Trivy, and NSA/CISA guidelines. Runs instantly against cached data with zero cluster-side installation.
- Security: privileged containers, privilege escalation, host namespaces, runtime socket mounts, secrets in ConfigMaps, and more
- Reliability: missing probes, image tag
latest, single-replica deployments, missing PDB/topology spread, deprecated API versions - Efficiency: missing requests and limits, orphan ConfigMaps/Secrets, PVCs with no consumer observed, long-Pending PVCs, and Released or Failed PVs
- Remediation guidance per finding, NSA/CISA and CIS framework labels, and per-resource opt-out via the
radarhq.io/ignore-checksannotation
See Cluster audit and audit configuration.
Network Path Diagnose
Hop-ordered diagnosis for Service, Ingress, HTTPRoute, GRPCRoute, and Gateway — answering "if traffic is sent toward this resource, does it reach a healthy process, and if not which hop breaks first?" It names the first broken hop with a kubectl reproducer, predicts NetworkPolicy blocks, and can run an optional DNS / TCP / TLS / HTTP probe from your laptop or in-cluster. Open the Reachability tab on the resource; see docs/reachability.md.
Kubernetes Upgrade Impact
Open Checks → Upgrade impact before upgrading the control plane. Radar compares the current cluster with a target Kubernetes minor and orders evidenced compatibility, health, admission, drain, runtime, and configuration checks by required action — APIs removed in the target release, kubelet and kube-proxy skew, overlapping PodDisruptionBudgets, removed feature gates — using live resources, Helm release manifests, last-applied configuration, and API server metrics.
See the Kubernetes upgrade impact guide for the check catalog, coverage semantics, and RBAC notes.
Access Control (RBAC visibility)
Inspect what any ServiceAccount can actually do — without three kubectl describe calls.
- ServiceAccount, Role, and binding details: direct and inherited bindings, effective permissions, and the Pods that use a ServiceAccount
- Pod and workload Permissions: the most-permissive rules the Pod's ServiceAccount grants, with a blast-radius alert for wildcards, cluster-admin, escalation verbs, or cluster-wide
create pods - "My Permissions" panel: a live
SelfSubjectRulesReviewfor the current user, for fast "why can't I do X" debugging
See Access control.
Authentication
For shared in-cluster deployments, Radar supports optional user authentication with per-user Kubernetes RBAC.
- Proxy mode — works with oauth2-proxy, Pomerium, Cloudflare Access, or any auth proxy that sets forwarded headers
- OIDC mode — built-in login via Google, Okta, Dex, Keycloak, or any OIDC provider
- Per-user namespace scoping and write authorization via K8s impersonation
- UI adapts automatically — buttons only appear if the user has RBAC permission
No auth by default (local use). See the Authentication Guide for setup.
Supported Resources & Integrations
Radar auto-discovers any CRD in your cluster. Popular tools get dedicated integrations with resource views, topology, AI context and application evidence. Coverage varies by integration.
The Helm chart grants read access to common built-in Kubernetes kinds; Secrets and RBAC objects depend on chart settings and the authentication mode. CRD-based integrations need the CRD installed in your cluster and read access; most API groups are granted by default, and the chart's RBAC and CRD access sections list what is on, what is opt-in, and how to add rules.
| Category / integration | Coverage |
|---|---|
| Workloads | Deployments, DaemonSets, StatefulSets, ReplicaSets, Pods, Jobs, CronJobs |
| Networking | Services, Ingresses, NetworkPolicies, Endpoints, EndpointSlices, PodDisruptionBudgets |
| Configuration | ConfigMaps, Secrets (names only, values hidden), LimitRanges, ResourceQuotas |
| Storage | PersistentVolumeClaims, PersistentVolumes, StorageClasses |
| Autoscaling | HorizontalPodAutoscalers, VerticalPodAutoscalers |
| Cluster | Nodes, Namespaces, ServiceAccounts, Events |
| Other Kubernetes APIs | Workloads, PodGroups, CompositePodGroups, PodCertificateRequests, ClusterTrustBundles (only when served by the cluster) |
| GitOps (FluxCD) | GitRepository, OCIRepository, HelmRepository, Kustomization, HelmRelease, Alert |
| GitOps (ArgoCD) | Application, ApplicationSet, AppProject |
| Argo Rollouts | Rollout |
| Argo Workflows | Workflow, WorkflowTemplate |
| Reflector | ConfigMap/Secret reflection details, source and mirror relationships, recorded copy evidence |
| cert-manager | Certificate, CertificateRequest, Order, Challenge, Issuer, ClusterIssuer |
| Gateway API | Gateway, GatewayClass, HTTPRoute, GRPCRoute, TCPRoute, TLSRoute, UDPRoute |
| Istio | VirtualService, DestinationRule, Gateway, ServiceEntry, PeerAuthentication, AuthorizationPolicy |
| Traefik | IngressRoute, IngressRouteTCP, IngressRouteUDP, Middleware, MiddlewareTCP, TraefikService, ServersTransport, ServersTransportTCP, TLSOption, TLSStore |
| Contour | HTTPProxy |
| Knative Serving | Service, Configuration, Revision, Route, DomainMapping |
| Knative Eventing | Broker, Trigger, EventType, Channel, InMemoryChannel, Subscription |
| Knative Sources | PingSource, ApiServerSource, ContainerSource, SinkBinding |
| Knative Flows | Sequence, Parallel |
| Knative Networking | Ingress, Certificate, ServerlessService |
| Karpenter | NodePool, NodeClaim (+ provider-specific NodeClasses via auto-discovery) |
| OpenTelemetry Operator | OpenTelemetryCollector and Instrumentation: reconciliation, configured pipelines and injection settings |
| Flagger | Canary and MetricTemplate: recorded rollout state, target/autoscaler/template links and failed-rollout Issues |
| KEDA | ScaledObject, ScaledJob, TriggerAuthentication, ClusterTriggerAuthentication |
| Prometheus Operator | ServiceMonitor, PodMonitor, PrometheusRule, Alertmanager |
| Security (Trivy) | VulnerabilityReport, ConfigAuditReport, ExposedSecretReport, ClusterComplianceReport, SbomReport, RbacAssessmentReport, InfraAssessmentReport |
| Strimzi | KafkaConnector failure evidence (connector/task status) |
| RabbitMQ | Node-reported disk and memory alarms - local collection |
| NATS | JetStream consumer backlog, acknowledgment-pending and redelivery counters - local collection |
| Velero | Backup, Restore, Schedule, BackupStorageLocation, VolumeSnapshotLocation |
| External Secrets | ExternalSecret, ClusterExternalSecret, SecretStore, ClusterSecretStore |
| Vault | Initialization, seal and standby state - local collection |
| CloudNativePG | Cluster, Backup, ScheduledBackup, Pooler, Database, Publication, Subscription, ImageCatalog, ClusterImageCatalog, ObjectStore — plus dedicated views for fleet, protection and declaration triage |
| Crossplane | Managed Resources (any provider), Composite Resources, Claims, Provider, ProviderConfig, Function, Configuration, Composition, CompositionRevision, XRD |
| Kyverno | Policy, ClusterPolicy, PolicyReport, ClusterPolicyReport |
| Sealed Secrets | SealedSecret |
| Dynamic Resource Allocation | ResourceClaim, ResourceClaimTemplate, DeviceClass, ResourceSlice (resource.k8s.io, K8s 1.32+) |
| NVIDIA GPU Operator | ClusterPolicy, NVIDIADriver |
| Calico | NetworkPolicy, GlobalNetworkPolicy, StagedNetworkPolicy, StagedGlobalNetworkPolicy, StagedKubernetesNetworkPolicy, IPPool, HostEndpoint, Tier |
| Kueue | ClusterQueue, LocalQueue, Workload, ResourceFlavor, AdmissionCheck (+ Cluster Autoscaler ProvisioningRequest) — basic |
| KubeRay | RayCluster, RayJob, RayService, RayCronJob — basic |
| KServe | InferenceService, ServingRuntime, ClusterServingRuntime, InferenceGraph, TrainedModel, LLMInferenceService — basic |
| Inference Gateway | InferencePool (v1 + alpha groups), InferenceObjective — basic |
| Batch | LeaderWorkerSet, JobSet, Volcano (Job/Queue/PodGroup/JobFlow/JobTemplate), Kubeflow (PyTorchJob/TFJob/MPIJob/TrainJob) — basic |
| KAI Scheduler | Queue, PodGroup — basic |
| Model serving | KAITO (Workspace, RAGEngine), NVIDIA NIM (NIMService/NIMCache/NIMPipeline), AMD GPU Operator (DeviceConfig) — basic |
| Cost (OpenCost / Kubecost) | Namespace/workload/node cost via compatible Prometheus metrics or the Kubecost 3 Aggregator (no CRDs) |
| CRDs | Any Custom Resource Definition in your cluster (auto-discovered) |
Local runtime evidence
When Radar runs locally, use Collect RabbitMQ evidence, Collect NATS evidence or Collect Vault evidence in resource details to select a Pod and collect explicitly. MCP clients can also collect after operator approval.
These observations describe one Pod endpoint, not overall application health, and do not add automatic Issues detection. See the collection requirements and limitations.
Keyboard Shortcuts
Radar is keyboard-first: ? lists every shortcut, ⌘K opens the command palette, / focuses search, and g followed by a letter switches views (g i Issues, g t Topology, g l Timeline, g r Resources). The full list is in the keyboard shortcuts reference.
Security
Radar reads your cluster through your own credentials and keeps cluster data local. It does not upload manifests, logs, events, metrics, or resource data to Skyhook, and it does not require an account, agent, or cloud backend. When you connect an AI agent or run an AI investigation, what Radar returns goes to that agent and its model provider. Found a vulnerability? Please report it privately to [email protected] — see SECURITY.md for the process and response timelines.
Development
See the Development Guide for building from source and contributing. For automation and integrations, see the HTTP API reference.
Quick start:
git clone https://github.com/skyhook-io/radar.git
cd radar
make deps
# Terminal 1: Frontend with hot reload (port 9273)
make watch-frontend
# Terminal 2: Backend with hot reload (port 9280)
make watch-backend
Contributing
Contributions are welcome! Please read our Contributing Guide for details on the development workflow, pull request process, and coding standards.
Questions or ideas? GitHub Discussions is the place — or come say hi at radarhq.io/community.
About
Radar is built and maintained by Skyhook (YC W23) and is open source under Apache-2.0. The OSS version is fully featured and the recommended way to run Radar.
For teams that want hosted multi-cluster Radar, with fleet views, alerts, and shared links, we also offer Radar Cloud.
License
Apache 2.0 — see LICENSE