oosilaja1/k8s-version-compliance-tracker
GitHub: oosilaja1/k8s-version-compliance-tracker
一个零依赖的 Python 脚本,通过读取集群清单和版本策略自动检测 EOL Kubernetes 版本并生成包含合规率指标的 HTML 仪表板。
Stars: 0 | Forks: 0
# Kubernetes 版本合规追踪器
一个开箱即用、无依赖的 Python 脚本。它可以读取**集群清单**和**支持版本策略**,将每个集群分类为**受支持 (Supported) / 临近 EOL (Near-EOL) / EOL**,计算整个集群群的**版本合规率 %**,并为管理层生成一个 **HTML 仪表板**。
运行生命周期结束 (EOL) 的 Kubernetes 版本本身就是一种漏洞类别。此工具将容器安全项目向管理层报告的版本合规性指标进行了实操化——呼应了配套的**容器漏洞管理计划** (Container Vulnerability Management Program) 中描述的版本合规性追踪。
## 演示输出
在内置的 **240 个集群合成数据集**上运行:
```
Kubernetes Version-Compliance (2026-07-24)
====================================================
Clusters tracked : 240
Supported : 80
Near-EOL (action soon) : 80
EOL (out of compliance) : 80
----------------------------------------------------
VERSION-COMPLIANCE : 66.7%
====================================================
```
它还会生成 [`dashboard.html`](dashboard.html) —— 包含 KPI 卡片、合规性仪表盘,以及按风险从高到低(EOL → 临近 EOL → 受支持)排序的每个集群的明细表。可在任何浏览器中打开。
## 用法
```
# Python 3.10+ ; 无需安装任何依赖项
# 默认:240-cluster 合成数据集
python3 version_compliance.py --today 2026-07-24
# 或将其指向任意 inventory + policy
python3 version_compliance.py \
--clusters clusters_synthetic_240.csv \
--policy k8s_supported_versions.csv \
--html dashboard.html
```
## 输入项
包含两个示例清单:
- **`clusters_synthetic_240.csv`** —— 一个真实的 240 个集群环境(3 个云,5 种环境,K8s 1.34–1.36),源自这些仓库共享的合成容器漏洞数据集。
- **`clusters_sample.csv`** —— 一个精简的 12 个集群示例,方便快速阅读。
清单列名:
| 列名 | 示例 |
| --- | --- |
| `cluster_name` | `k8s-orion-pro-11` |
| `k8s_version` | `v1.34.1-sim`(接受 `1.32.4`、`v1.32` 以及 `-sim` 后缀) |
| `environment` | `production` / `staging` / `development` |
| `owner_team` | `Cloud Defense` |
| `last_scanned` | `2026-07-01` |
**`k8s_supported_versions.csv`** —— 策略文件(包含 `minor`, `eol_date`)。请根据您自己的支持基准更新此文件。
## 分类逻辑
| 状态 | 规则 |
| --- | --- |
| **EOL** | 次版本已超过其生命周期结束日期,或者早于任何受追踪的次版本。计为**不合规**。 |
| **临近 EOL** | 距离生命周期结束在 `NEAR_EOL_WINDOW_DAYS`(默认为 90 天)之内。仍属于合规状态,但会被标记需采取行动。 |
| **受支持** | 其他情况。 |
**`version_compliance_% = (total − EOL) ÷ total × 100`**
## 配套仓库
- **[container-vuln-management](https://github.com/oosilaja1/container-vuln-management)** —— 该指标所汇报到的项目(包含手册、SOP、RACI 以及源数据集)。
- **[container-vulnerability-risk-analytics](https://github.com/oosilaja1/container-vulnerability-risk-analytics)** —— 基于相同集群群的高管风险仪表板。
## 许可证
[MIT License](LICENSE)。
标签:IT资产管理, Python, 后端开发, 多模态安全, 无后门, 运维, 逆向工具