Radar内置MCP服务器完整指南:让AI Agent免kubectl直连Kubernetes集群诊断与操作
【免费下载链接】radarThe 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.项目地址: https://gitcode.com/gh_mirrors/radar32/radar
Radar 是一款开源的 Kubernetes UI 工具,它内置了一个MCP(Model Context Protocol)服务器,让你的 AI Agent(Claude、Cursor、Copilot 等)无需 kubectl 就能直接"读懂"并操作 Kubernetes 集群:查看故障、追踪变更、诊断网络、执行重启与扩缩容。本文带你从启用、连接 AI 工具到安全边界,完整跑通这条链路。
为什么不给 AI Agent 直接 kubectl 权限?
把原始 kubectl 交给 AI 有三个典型问题:
| 问题 | 说明 |
|---|---|
| 🔥 Token 浪费 | kubectl get pod -o yaml输出大量 managedFields、噪声注解,迅速烧穿 LLM 上下文 |
| 🧩 缺乏关联 | 原始输出没有拓扑关系、健康评估、跨资源关联,AI 只能"看零件" |
| ⚠️ 写风险 | kubectl 可以随意修改、删除资源,缺少确认与权限护栏 |
Radar 的 MCP 服务器针对这三点做了优化:资源输出被压缩去噪、附带拓扑图与去重事件、日志优先错误告警、密钥自动脱敏,写操作由RBAC 强制校验并要求客户端确认。
快速启用:默认开启,一行命令启动
MCP 服务器在 Radar 启动时默认开启,端点固定为:
http://localhost:9280/mcp- 正常启动:
radar或kubectl radar(端口跟随--port,默认 9280,HTTP + JSON-RPC 传输) - 关闭 MCP:
radar --no-mcp - 仅注册表目录内省(无需集群):
radar --mcp-catalog-only --no-browser,或 stdio 模式radar --mcp-catalog-stdio
完整安装方式(Quick Install / Homebrew / Krew / Desktop App)见 README.md。
各AI工具连接Radar MCP的配置方法
只需在你的 AI 工具中登记http://localhost:9280/mcp这一个地址:
| AI 工具 | 连接方式 |
|---|---|
| Claude Code | 一条命令:claude mcp add radar --transport http http://localhost:9280/mcp |
| Cursor | 在~/.cursor/mcp.json添加mcpServers.radar.url |
| VS Code Copilot | 在工作区.vscode/mcp.json的servers.radar填入type: "http"与 URL |
| Claude Desktop | 在claude_desktop_config.json添加type: "http"条目 |
| Windsurf | 在mcp_config.json填入serverUrl |
| OpenAI Codex | 在~/.codex/config.toml添加[mcp_servers.radar]的url |
| Gemini CLI | 在~/.gemini/settings.json填入httpUrl |
| JetBrains AI | Settings → Tools → AI Assistant → MCP 中添加 |
每个工具的完整 JSON 片段(都很短,只需 URL 字段)都收录在官方文档 docs/mcp.md 的 "Setup Instructions" 一节,可复制即用。
工具清单:AI 能帮你查什么、改什么
MCP 服务器暴露了约 30 个工具,源码位于 internal/mcp/。核心几类:
📖 只读诊断类(默认安全)
| 工具 | 一句话用途 |
|---|---|
issues | "现在什么坏了?"——按严重度排序的实时故障流 |
diagnose | 一次调用为某工作负载收集有界的证据包(资源+日志+事件+crashCause) |
get_dashboard | 集群/命名空间健康总览 |
get_topology/get_neighborhood | 拓扑图与单点邻域分析,定位跨资源故障 |
get_events/get_changes | 去重事件流、故障前的变更溯源 |
get_pod_logs/get_workload_logs | 自动优先错误/告警行、密钥脱敏的日志 |
list_helm_releases/get_helm_release | Helm 发布状态、历史修订与回滚目标 |
query_prometheus/discover_metrics | 直接对 Prometheus 执行 PromQL |
get_cluster_audit/get_cluster_upgrade_readiness | 31 项最佳实践审计、K8s 升级影响分析 |
get_cost/get_rightsizing | 成本洞察与基于 7 天用量的资源调优建议 |
get_subject_permissions | "这个 SA 权限是否过大?" 的 RBAC 查询 |
✍️ 写操作类(RBAC 强制 + 客户端确认)
| 工具 | 能力 |
|---|---|
apply_resource/patch_resource | YAML 应用 / 精确补丁,支持 dry-run 预览与变更后验证 |
manage_workload | 重启、扩缩容、回滚 Deployment / StatefulSet / Rollout |
manage_gitops | ArgoCD / FluxCD 的 sync、suspend、rollback、reconcile |
manage_node | cordon / uncordon / drain 节点 |
manage_rollout/manage_cronjob | Argo Rollout 金丝雀推进、CronJob 触发 |
写工具都带有destructiveHint注解,AI 客户端会先弹出确认。只读工具则标注readOnlyHint,默认绝不改变集群状态。
安全设计:RBAC、脱敏与只读端点
这是把 AI 放进生产集群前最该看的一节:
- RBAC 感知——本地模式下 MCP 复用你的 kubeconfig 身份,AI 只能看到 kubectl 能看到的东西;集群内开启认证后,读操作按调用者命名空间求交集,写操作、exec、日志走完整 impersonation,由 apiserver 端到端执法
- 密钥永不出门——Secret 的
.data/.stringData从不暴露,只显示键名;环境变量、Helm values、日志均按已知密钥模式脱敏 - 双端点隔离——完整端点
/mcp之外,还有/mcp-readonly:移除全部写工具,diagnose的集群内探针参数也被 schema 直接拒绝,适合只授权"查"的场景 - 诚实的覆盖度——
issues、审计等结果会显式标注missingInputs与partialScope,AI 不会把"权限不足导致的空列表"误报为"集群健康"
细节见 docs/mcp.md 的 Security 章节与 docs/authentication.md。
进阶:让AI做网络路径诊断
diagnose工具支持 Service、Ingress、HTTPRoute、Gateway 等网络入口,回答"流量能否走到健康进程?哪一跳先断?"。它会静态追踪整条路径(缺失后端、端口不匹配、无 Ready 端点),并可创建短时自删探针 Pod做真实 DNS/TCP/TLS/HTTP 探测——这是唯一有副作用的诊断选项,要求create jobs等最小 RBAC,且只在完整/mcp端点可用。
路径诊断的完整语义(测试起点、置信度、覆盖声明)见 docs/reachability.md。
集群内部署:团队共享与Docker方式
本地模式之外,还有两种部署:
- Helm 集群内部署——
helm install radar skyhook/radar -n radar --create-namespace,团队共享访问、按登录用户做 RBAC 分权,详见 docs/in-cluster.md - Docker / MCP 注册表——Radar 已上架官方 MCP 注册表(
io.github.skyhook-io/radar),可用ghcr.io/skyhook-io/radar镜像运行。但注意:镜像为 distroless,exec-plugin 认证(GKE/EKS/AKS 常见)在容器内不可用,kind/minikube 等本地集群也无法从容器内回连,且 Linux 下 0600 权限的 kubeconfig 容器用户读不到。日常使用推荐原生安装,它和 kubectl 一样直接读你的 kubeconfig
总结:30秒把AI接到你的集群
- 安装并启动 Radar:
curl -fsSL https://get.radarhq.io | sh && kubectl radar - 端点自动就绪:
http://localhost:9280/mcp - 在 AI 工具中登记该 URL(Claude Code 一条命令搞定)
- 问它:"现在什么坏了?" —— 它调
issues+diagnose,你得到带证据链的结论;需要修复时,写操作会先征求你的确认
Radar 把 Kubernetes 的诊断能力打包成了 AI Agent 的原生接口:数据经过压缩与富化,权限遵循集群 RBAC,密钥层层脱敏。无论个人排障还是团队共享,这套内置 MCP 服务器都是目前最省心的 Kubernetes × AI 接入方式。更多工具参数与证据边界,请参阅 docs/mcp.md。
【免费下载链接】radarThe 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.项目地址: https://gitcode.com/gh_mirrors/radar32/radar
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考