31项集群体检清单:Radar集群审计如何扫描K8s安全、可靠性与效率隐患
【免费下载链接】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 服务器供 AI 智能体调用。它的Cluster Audit(集群审计)模块内置 31 项体检检查,覆盖安全、可靠性、效率三大维度——灵感来自 Polaris、Kubescape、Trivy 和 NSA/CISA 加固指南,且完全基于缓存数据运行,零集群侧安装、秒级出结果。读完本文,你将知道这 31 项检查分别抓什么、如何一次跑完整个集群的"集群体检"。
为什么需要"集群体检",而不只是看故障?
日常排障解决的是"现在哪里坏了",而体检清单回答的是"哪里迟早会坏":特权容器是提权后门、latest镜像标签让回滚无从谈起、单副本部署一次节点维护就全挂。Radar 的审计引擎把这些隐患按严重度分级,每项发现都附带原因说明 + 修复建议 + 权威参考,形成一份可以直接执行的整改队列。
核心代码位于 pkg/audit/:检查目录定义在 pkg/audit/registry.go,扫描入口在 pkg/audit/checks.go,而 internal/audit/runner.go 负责从 Radar 的本地缓存取数并执行全部检查——这也是它能"零安装、秒级"运行的原因。
安全维度:13 项检查揪出容器逃逸后门 🛡️
安全类检查全部对标NSA/CISA 与 CIS 基准,每条发现都会标注所属框架。典型检查包括:
- 特权容器(
privileged):拥有全部主机能力,等于放弃了容器隔离,默认 High 严重度 - 特权提升(
allowPrivilegeEscalation)与危险 capabilities(SYS_ADMIN、NET_ADMIN、ALL) - 容器运行时 Socket 挂载:把 Docker/containerd socket 挂进容器 ≈ 交出 root,是挖矿攻击的常用入口
- 敏感 hostPath 挂载(
/etc、/proc、/sys、/var/run) - 主机网络 / PID / IPC 命名空间共享
- ServiceAccount token 自动挂载:未关闭的自动挂载 token 可被用于调用 API Server 提权
- ConfigMap 里藏密钥:键名含 password/token 的 ConfigMap 应迁移到 Secret(ConfigMap 默认不加密落盘)
每条检查卡都给出可直接照抄的修复动作,例如"设置securityContext.runAsNonRoot: true",并附 Kubernetes 官方文档、NSA/CISA 加固指南等参考链接,方便深入。
可靠性维度:别让"看起来高可用"变成假象 🩺
可靠性检查关注的是故障时刻集群的真实表现:
| 检查项 | 抓什么隐患 |
|---|---|
| 缺失 readiness / liveness 探针 | 流量打到未就绪 Pod;卡死容器无法自愈 |
镜像标签latest或无标签 | 部署不可复现,回滚失效(默认 High) |
| 单副本 Deployment | 节点排水/OOM 即宕机(HPA 托管的会自动豁免) |
| 缺失 PodDisruptionBudget | 集群维护时副本可能被同时排干 |
| 缺失拓扑分布约束 | 所有副本挤在同一个节点/可用区,"伪 HA" |
| 全部副本落在同一节点 | 基于真实 Pod 落位判断,而非只看声明 |
| Service/Ingress 悬空引用 | selector 无匹配 Pod、后端 Service 不存在(直接 503) |
| 废弃 API 版本 | 升级 Kubernetes 后资源直接失效(默认 High) |
| TLS 证书临期 | kubernetes.io/tlsSecret 剩余不足 30 天,不足 7 天升级 High |
| 资源卡在 Terminating | finalizer 背后的控制器不健康,附排查路径 |
此外,审计还针对常见生态组件做了专项检查:Crossplane 卡住、Traefik 路由引用缺失、CloudNativePG 缺少声明式备份计划,以及 GitOps 集群下"工作负载未被 GitOps 托管""只走 Helm CLI 不走 Git 评审"等治理问题。
效率维度:把"看不见的浪费"变成可执行的清单 💰
效率类检查直面资源与成本浪费:
- 缺失 CPU/内存 requests:调度器无法合理放置,节点被过度承诺、出现 throttling 和 OOM
- 缺失 CPU/内存 limits:单个容器可能吃光整台节点的资源
- 孤儿 ConfigMap/Secret:没有任何工作负载、Ingress 或受支持控制器引用的配置对象,确认后清理(Secret 删除前务必留备份)
配合 Radar 的成本洞察(基于 OpenCost/Kubecost 指标)与容量视图,审计发现的每一条资源浪费都能落到具体的命名空间和工作负载上。
三步跑完体检:从安装到出报告 🚀
- 部署 Radar:它全部功能打包在一个 Go 二进制里,Helm 一键安装即可;想先本地体验,用安装脚本或 Docker 拉起后连接你的 kubeconfig 上下文
- 打开 Cluster Audit 页面:无需任何集群侧组件,检查直接跑在 Radar 已缓存的数据上,秒级返回。可按分类、严重度、框架(NSA/CISA、CIS)过滤
- 按队列整改:发现按检查项分组展示,展开可见受影响资源列表;每个发现支持"隐藏该检查/该类别",误报配置会跨会话持久化保存
让 AI 替你读体检报告:MCP 工具加持 🤖
Radar 内置 MCP 服务器,其中的get_cluster_audit工具可把整份审计结果交给 AI 智能体分析:支持按namespace、category(Security/Reliability/Efficiency)、severity过滤,还能通过missingInputs字段明确告知"哪些输入没拿到、哪些检查没评完"——避免"零发现 = 全部通过"的误读。详细工具说明见 docs/mcp.md,功能总览见 README.md。
小结
- 31 项检查覆盖安全、可靠性、效率,对标 NSA/CISA 与 CIS 框架
- 基于本地缓存运行,零集群侧安装,秒级出报告
- 每项发现自带修复建议与权威参考,还有
get_cluster_auditMCP 工具供 AI 分析
把 Radar 的集群审计当成一次例行体检:跑一遍、照着队列改一遍,你的 K8s 集群会少很多"半夜叫醒你的电话"。
【免费下载链接】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),仅供参考