我是靠谱客的博主 岁月静好,这篇文章主要介绍K8S工具推荐:Kubernetes资源优化神器KRR:一键诊断集群资源浪费,现在分享给大家,希望可以做个参考。

一、工具速览:KRR是什么?

KRR (Kubernetes Resource Recommender)是一款基于Prometheus数据的K8s资源优化工具,专治“资源分配不合理”的顽疾:

核心功能

  • • 智能推荐Pod的CPU/内存Request与Limit值

  • • 支持Prometheus/Thanos/Victoria等主流监控系统

  • • 生成JSON/CSV/网页报告,支持Slack通知

核心优势
无需部署:本地CLI工具即开即用
数据可视:通过免费SaaS平台查看推荐依据
灵活扩展:自定义算法应对复杂场景



二、工作原理:算法背后的科学 📊

1. 数据采集

分析以下Prometheus指标:

# CPU使用率(5分钟间隔)
sum(irate(container_cpu_usage_seconds_total{...}[5m]))
# 内存工作集大小
sum(container_memory_working_set_bytes{...})

2. 推荐逻辑

  • •CPU建议 取历史用量99%分位值作为Request,建议取消Limit以利用闲置资源 [ \text{CPU Request} = P_{99}(\text{CPU Usage}) ]

  • •内存建议 取过去一周峰值 + 5%缓冲,Request与Limit对齐 [ \text{Memory Request} = \text{Max Usage} \times 1.05 ]



三、极简安装:3种方法任选 🛠️

方法1:Mac/Linux一键安装

brew tap robusta-dev/homebrew-krrbrew install krrkrr --version  # 验证安装

方法2:Docker快速启动

docker run -v ~/.kube/config:/root/.kube/config \  us-central1-docker.pkg.dev/.../krr:v1.8.3 \  krr simple

方法3:源码安装

git clone https://github.com/robusta-dev/krrpython krr.py --help


四、实战操作:5分钟上手指南 🚦

场景1:全集群资源诊断

# 生成默认报告(Markdown格式)
krr simple -o md > report.md
# 查看JSON格式报告
krr simple -o json | jq .

场景2:指定命名空间优化

# 只检查prod命名空间
krr simple --namespace=prod
# 排除测试环境
krr simple --exclude-namespaces=test,dev

输出示例:优化建议一目了然

{  "frontend-pod":{    "cpu":{"request":"800m","limit":"None"},    "memory":{"request":"1.2Gi","limit":"1.2Gi"}},"db-pod":{    "cpu":{"request":"2.1","limit":"None"},    "memory":{"request":"4Gi","limit":"4Gi"}}}


五、进阶技巧:解锁隐藏功能 🔑

技巧1:网页可视化报告

# 生成带交互图表的网页报告
krr simple -o html > report.html

技巧2:Slack每日播报

krr slack --token=xoxb-... --channel=#k8s-alerts

Slack

技巧3:HPA联动优化

# 结合HPA配置自动调整
krr simple --allow-hpa


六、GitHub仓库 🔑

https://github.com/robusta-dev/krr

最后

以上就是岁月静好最近收集整理的关于K8S工具推荐:Kubernetes资源优化神器KRR:一键诊断集群资源浪费的全部内容,更多相关K8S工具推荐内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部