
rchakode/kube-opex-analyticskube-opex-analytics(字面意为"Kubernetes运营支出分析")是一款Kubernetes资源使用计费与分析工具,用于帮助组织跟踪Kubernetes集群资源随时间(小时、日、月)的消耗情况。其核心用途是通过提供洞察性的使用分析指标和图表,助力工程与财务团队掌握关键指标,从而做出合理的成本优化决策,避免过度付费。
支持评估各命名空间在不同时间段(小时、日、月)的资源容量消耗情况,清晰呈现资源使用趋势。
在节点和集群级别,跟踪并汇总不可分配容量的占比,并与可用容量(即实际应用工作负载使用的容量)进行对比展示。不可分配容量专用于Kubernetes运维(操作系统、kubelet等),与可用容量区分统计。
提供集群级别的资源消耗全局视图,支持即时及历史容量消耗的统计与可视化,简化容量规划流程。
基于小时汇总趋势,对比资源请求与实际使用情况,帮助评估Kubernetes工作负载的资源请求设置效率。
自动处理并可视化按命名空间的日度和月度资源使用计费数据,支持成本回收场景。
内置分析仪表板,并提供原生Prometheus导出器,可将分析指标暴露给Grafana等第三方可视化工具。
bashdocker run -d \ --name kube-opex-analytics \ -p 8080:8080 \ -v /path/to/local/data:/data \ rchakode/kube-opex-analytics
参数说明:
-p 8080:8080:映射容器8080端口到主机,用于访问Web UI和API。-v /path/to/local/data:/data:挂载本地目录持久化存储分析数据(建议配置,避免容器重启后数据丢失)。yamlversion: '3' services: kube-opex-analytics: image: rchakode/kube-opex-analytics container_name: kube-opex-analytics ports: - "8080:8080" volumes: - ./data:/data # 本地数据持久化 environment: - KUBE_API_URL=[***] # 若容器外访问K8s API需指定 - DATA_RETENTION_DAYS=30 # 数据保留天数,默认30天 - REFRESH_INTERVAL=3600 # 数据刷新间隔(秒),默认3600秒(1小时) restart: unless-stopped
部署后,通过 http://<主机IP>:8080 访问内置分析仪表板,查看命名空间资源趋势、集群容量使用、成本分配等可视化图表。
默认启用Prometheus导出器,指标暴露于 http://<主机IP>:8080/metrics,可配置Prometheus抓取该端点,并结合Grafana创建自定义仪表盘。
| 参数名 | 描述 | 默认值 |
|---|---|---|
KUBE_API_URL | Kubernetes API服务器地址(容器内运行时可不填,默认通过InCluster配置访问) | 自动检测 |
DATA_RETENTION_DAYS | 历史数据保留天数 | 30 |
REFRESH_INTERVAL | 数据采集与分析的刷新间隔(秒) | 3600(1小时) |
NAMESPACE_FILTER | 命名空间过滤规则(逗号分隔的正则表达式,如prod-*,dev-*) | 空(所有命名空间) |
STORAGE_PATH | 数据存储路径(容器内路径) | /data |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
支持通过挂载配置文件 /etc/kube-opex-analytics/config.yaml 进行高级配置,详细配置项可参考官方配置文档。
许可证:Apache License 2.0(代码与文档),第三方依赖库遵循各自许可证条款。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务