Logo

Robusta KRR: 优化Kubernetes资源分配的智能工具

krr

Robusta KRR: 让Kubernetes资源管理更智能、更高效

在当今复杂的云原生环境中,有效管理Kubernetes集群资源一直是许多团队面临的巨大挑战。资源分配不当不仅会导致成本浪费,还可能影响应用性能。为解决这一问题,Robusta开发了KRR (Kubernetes Resource Recommender) - 一款革命性的开源工具,旨在帮助DevOps团队优化Kubernetes资源分配,提高集群效率。

KRR的核心功能与优势

Robusta KRR是一个功能强大的命令行工具,专门设计用于优化Kubernetes集群中的资源分配。它的主要特点包括:

  1. 基于历史数据的智能推荐:KRR利用Prometheus收集的历史使用数据,为每个容器提供精准的CPU和内存资源建议。

  2. 无需代理:作为CLI工具,KRR可以在本地机器上运行,无需在集群内安装任何代理。

  3. 多种数据源支持:除Prometheus外,KRR还支持Coralogix、Thanos、Mimir等多种数据源。

  4. 可解释性:通过直观的图表,用户可以清楚地了解KRR如何得出资源建议。

  5. 可扩展策略:用户可以轻松创建和使用自定义策略来计算资源建议。

  6. 免费SaaS平台:结合Robusta SaaS平台,用户可以获得更深入的分析和可视化。

KRR数据源集成

KRR vs Kubernetes VPA

与Kubernetes原生的Vertical Pod Autoscaler (VPA)相比,KRR在多个方面都表现出明显优势:

  • 安装灵活性:KRR无需安装在集群内,可直接在本地设备上使用。
  • 配置简便:无需为每个工作负载配置VPA对象。
  • 即时结果:只要Prometheus在运行,KRR就能立即提供建议。
  • 丰富的报告格式:支持JSON、CSV、Markdown等多种格式,还提供Web UI。
  • 高度可扩展:用户可以用几行Python代码添加自定义策略。
  • 更长的历史数据:默认使用14天的历史数据,而VPA仅使用8天。

这些特性使KRR成为比VPA更灵活、更强大的资源优化工具。

安装与使用

KRR的安装非常简单,支持多种方式:

  1. 使用Homebrew(Mac/Linux):

    brew tap robusta-dev/homebrew-krr
    brew install krr
    
  2. Windows用户可以通过WSL2使用Homebrew,或直接从源代码安装。

  3. 离线环境可以使用预构建的二进制文件或Docker容器。

安装完成后,使用KRR非常直观。以下是一些基本用法示例:

  • 基本扫描:krr simple
  • 指定Prometheus URL:krr simple -p http://127.0.0.1:9090
  • 扫描特定命名空间:krr simple -n default -n ingress-nginx
  • 使用标签选择器:krr simple --selector 'app.kubernetes.io/instance in (robusta, ingress-nginx)'

KRR的工作原理

KRR使用以下Prometheus查询来收集使用数据:

  • CPU使用率:

    sum(irate(container_cpu_usage_seconds_total{{namespace="{object.namespace}", pod="{pod}", container="{object.container}"}}[{step}]))
    
  • 内存使用率:

    sum(container_memory_working_set_bytes{job="kubelet", metrics_path="/metrics/cadvisor", image!="", namespace="{object.namespace}", pod="{pod}", container="{object.container}"})
    

KRR采用简单而有效的策略来计算资源建议:

  • 对于CPU,设置95%分位数作为请求值,不设限制。这意味着在95%的情况下,CPU请求将足够使用,剩余5%的情况下可以突发使用节点上的可用CPU。

  • 对于内存,取过去一周的最大值并添加15%的缓冲。

KRR资源建议示例

集成与扩展

KRR提供了多种集成选项,以适应不同的使用场景:

  1. Slack通知:可以配置KRR每周自动发送资源建议报告到Slack。

  2. k9s插件:通过安装KRR的k9s插件,用户可以直接在deployments/daemonsets/statefulsets视图中查看资源建议。

  3. 自定义策略/格式化器:KRR允许用户创建自定义策略和格式化器,以满足特定需求。

潜在的成本节省

根据Sysdig的一项研究,平均而言,Kubernetes集群存在:

  • 69%的CPU未使用
  • 18%的内存未使用

通过使用KRR进行容器资源的合理调整,企业有潜力节省高达69%的云成本。这不仅能够优化资源利用率,还能显著减少运营开支。

结语

Robusta KRR为Kubernetes资源管理带来了革命性的变革。通过其智能推荐、灵活配置和丰富的集成选项,KRR帮助团队轻松实现资源优化,从而降低成本、提高性能。无论是初创公司还是大型企业,KRR都是一个值得考虑的强大工具,能够帮助您充分发挥Kubernetes的潜力。

如果您正在寻找一种方法来优化Kubernetes集群的资源使用,不妨尝试Robusta KRR。它不仅能帮助您节省成本,还能为您的应用程序提供更好的性能保障。立即访问KRR GitHub仓库,开始您的资源优化之旅吧!

相关项目

Project Cover
k8sgpt
k8sgpt是一个专为Kubernetes集群设计的AI工具,能够扫描、诊断和排查问题,并提供深度分析。整合了SRE经验,k8sgpt可以提取最相关的信息并进行AI解释,支持OpenAI、Azure、Cohere等多种AI提供商和本地模型。该工具支持多种安装方式,包括brew、rpm和deb,适用于Linux、Mac和Windows系统。其集成模式适合集群持续监控,可与Prometheus和Alertmanager等系统无缝结合。
Project Cover
pai
OpenPAI是一个共享AI计算资源的开源平台,支持本地、混合和公共云部署,兼容多种AI框架和硬件。平台通过模块化设计和用户友好的体验,提供从训练到部署的完整解决方案,适合深度学习任务。OpenPAI支持分布式训练、虚拟集群管理,并提供丰富的扩展和定制功能。
Project Cover
kong
Kong API Gateway是一个云原生、平台无关的API网关,以其高性能和通过插件进行扩展的能力而著称。支持代理、路由、负载均衡、健康检查、鉴权等功能,使其成为微服务或传统API流量的中心协调层。此外,Kong在Kubernetes上原生运行,提供官方的Kubernetes Ingress Controller。
Project Cover
sqlflow
SQLFlow 是一款编译器,它将SQL程序编译成在Kubernetes上运行的工作流,支持包括机器学习训练、预测、模型评估等在内的AI作业。此平台支持MySQL、TiDB、Hive等多种数据库系统,以及TensorFlow、Keras、XGBoost等机器学习工具包。SQLFlow 致力于通过SQL增强机器学习模型开发,让拥有SQL技能的工程师也能轻松开发高级机器学习应用。
Project Cover
training-operator
Kubeflow Training Operator是一个Kubernetes原生工具,支持PyTorch、TensorFlow等多种框架的分布式训练。用户可以通过Kubernetes自定义资源API或Python SDK轻松部署和管理大规模机器学习模型的训练任务。项目还提供全面的监控设计和社区支持,是优化模型训练流程的理想工具。
Project Cover
kubectl-ai
kubectl-ai,一款集成了OpenAI GPT的Kubectl插件,能够自动创建和应用Kubernetes配置。它简化了配置的管理,支持Azure OpenAI、本地API等多种配置环境,提升部署的灵活性与准确度。
Project Cover
langstream
LangStream开源项目提供多功能开发工具和示例应用,通过CLI或Kubernetes集群运行和部署。提供多种安装方式及详细文档和支持,适用于MacOS和Unix系统。项目集成OpenAI,用户能快速创建和管理应用。支持通过Helm图表进行生产级部署,并兼容EKS、AKS、GKE等主流云服务提供商的Kubernetes集群,同时提供minikube本地部署解决方案,用于快速测试和开发。
Project Cover
aikit
AIKit是一个全方位平台,专为快速部署、构建和微调大型语言模型(LLM)而设计。它支持OpenAI API兼容的推理和灵活的微调接口,无需GPU即可使用。AIKit还支持多模式模型、图像生成、多平台CPU和GPU加速推理以及Kubernetes部署,简化了开发流程并确保供应链安全,适用于各种环境。
Project Cover
kubesphere
KubeSphere是以Kubernetes为核心的分布式操作系统,支持多云、多集群和边缘计算的统一管理。其插拔式架构允许无缝集成第三方应用,提供全栈自动化运维和DevOps工作流。平台具备直观的Web UI,帮助企业构建功能丰富的多租户容器平台,覆盖Kubernetes多集群管理、云原生可观测性、服务网格和边缘计算等关键功能。最新的v3.4.0版本进一步提升了用户体验,并带来了多项功能更新。

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号