Kubernetes-一个优化-–-Robusta-KRR-的资源分配工具 (kubernetes)

教程大全 2025-07-16 20:01:07 浏览

Robusta KRR – 一个优化 Kubernetes 的资源分配工具

2023-05-31 08:12:26如果你使用 Robusta SaaS,从 v0.10.15 开始回集成 KRR,你可以查看所有建议(也包括以前的建议),按集群、命名空间或名称过滤和排序它们。

Robusta KRR(Kubernetes Resource Recommender)是一个用于优化 Kubernetes 集群中资源分配的命令行工具,它从 Prometheus 收集 pod 使用数据,并建议 CPU 和内存的 requests 和 limits 值,这可以大大降低成本并提高性能。

根据 Sysdig 最近的一项研究(,平均而言,Kubernetes 集群有:

通过使用 KRR 调整容器大小,你可以平均节省 69% 的云成本。

如果你使用 Robusta SaaS,从v0.10.15开始回集成 KRR,你可以查看所有建议(也包括以前的建议),按集群、命名空间或名称过滤和排序它们。

指标收集

一个优化

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

算法

默认情况下,KRR 使用一个简单的策略来计算资源推荐。它的计算方法如下(确切的数字可以在 CLI 参数中自定义):

MacOS/linux 用户可以使用 brew 进行一键安装:

brew tap robusta-dev/homebrew-krrbrew install krr

安装完成后可以执行下面的命令来检查是否安装成功:

krr --help # 第一次可能会花较长时间

如果想要手动进行安装,则首先确保在你的机器上安装了 Python 3.9 或以上版本。然后 Clone 代码:

git clonekrr

安装依赖:

pip install -r requirements.txt

最后,运行下面的命令来运行工具:

python krr.py --help

请注意,使用源代码需要您作为 python 脚本运行,当使用 brew 安装时允许运行 krr。以上所有示例都将运行命令显示为krr …,如果您使用的是手动安装,请将其替换为python krr.py …。

安装完成后就可以来使用 KRR 工具了,比如可以运行一个简单的策略:

如果你只需要特定的命名空间(default和ingress-nginx):

krr simple -n default -n ingress-nginx

默认情况下,krr 将在当前上下文中运行,如果你想在不同的上下文中运行它:

krr simple -c my-cluster-1 -c my-cluster-2

如果想获得 JSON 格式的输出(需要–logtostderr,这样就不会将日志转到结果文件):

krr simple --logtostderr -f json > result.json

如果你想获得 YAML 格式的输出:

krr simple --logtostderr -f yaml > result.yaml

如果您想查看其他调试日志:

krr simple -v

关于策略设置的更多信息,可以通过以下方式找到:

krr simple --help

默认情况下,KRR 将尝试通过扫描下面的这些标签来自动发现正在运行的 Prometheus:

"app=kube-prometheus-stack-prometheus""app=prometheus,compnotallow=server""app=prometheus-server""app=prometheus-operator-prometheus""app=prometheus-msteams""app=rancher-monitoring-prometheus""app=prometheus-prometheus"

如果这些标签都没有找到 Prometheus,则将收到错误消息,那么就必须显式传递 url 了(使用-p标志)。

如果你的 prometheus 没有自动连接,我们可以使用kubectl port-forward手动转发 Prometheus。

例如有一个名为kube-prometheus-st-prometheus-0的 Prometheus Pod,则我们可以下面的命令对其进行端口转发:

kubectl port-forward pod/kube-prometheus-st-prometheus-0 9090

然后,打开另一个终端并在其中运行krr,给出一个显式的 prometheus url:

krr simple -p

此外我们还可以根据自己的需求来创建自定义的策略,比如下面的代码就是创建一个自定义的策略:

# This is an example on how to CREATE your own custom strategyimport pydantic as pdimport robusta_krrfrom robusta_krr.api.models import HistoryData, K8sObjectData, ResourceRecommendation, ResourceType, RunResultfrom robusta_krr.api.strategies import BaseStrategy, StrategySettings# Providing description to the settings will make it available in the CLI helpclass CustomStrategySettings(StrategySettings):param_1: float = pd.Field(99, gt=0, descriptinotallow="First example parameter")param_2: float = pd.Field(105_000, gt=0, descriptinotallow="Second example parameter")class CustomStrategy(BaseStrategy[CustomStrategySettings]):"""A custom strategy that uses the provided parameters for CPU and memory.Made only in order to demonstrate how to create a custom strategy."""def run(self, history_data: HistoryData, object_data: K8sObjectData) -> RunResult:return {ResourceType.CPU: ResourceRecommendation(request=self.settings.param_1, limit=None),ResourceType.Memory: ResourceRecommendation(request=self.settings.param_2, limit=self.settings.param_2),}# Running this file will register the strategy and make it available to the CLI# Run it as `python ./custom_strategy.py my_strategy`if __name__ == "__main__":robusta_krr.run()

电脑总是发送错误报告是怎么回事?

1.发送错误报告【故障现象】在使用IE浏览网页的过程中,出现“Microsoft Internet Explorer遇到问题需要关闭……”的信息提示。 此时,如果单击“发送错误报告”按钮,则会创建错误报告,单击“关闭”按钮之后会引起当前IE窗口关闭;如果单击“不发送”按钮,则会关闭所有IE窗口。 【故障点评】这是IE为了解用户在使用中的错误而设计的一个小程序,不过我可不想当微软的“免费测试员”,更何况每天它都会面对成千上万的报告,谁知道有没有在意我的报告问题呢?!【故障解决】针对不同情况,可分别用以下方法关闭IE发送错误报告功能:①对IE 5.x用户,执行“控制面板→添加或删除程序”,在列表中选择“Internet Explorer Error Reporting”选项,然后单击“更改/删除”按钮,将其从系统中删除。 ②对Windows 9x/Me/NT/2000下的IE 6.0用户,则可打开“注册表编辑器”,找到[HKEY_LOCAL_MACHINE\Software \Microsoft\Internet Explorer\Main],在右侧窗格创建名为IEWatsonEnabled的DWORD双字节值,并将其赋值为0。 ③对Windows XP的IE 6.0用户,执行“控制面板→系统”,切换到“高级”选项卡,单击“错误报告”按钮,选中“禁用错误报告”选项,并选中“但在发生严重错误时通知我”,最后单击“确定”按钮。 发生内部错误,窗口被关闭【故障现象】在使用IE浏览一些网页时,出现错误提示对话框:“该程序执行了非法操作,即将关闭……”,单击“确定”按钮后又弹出一个对话框,提示“发生内部错误……”。 单击“确定”按钮后,所有打开的IE窗口都被关闭。 【故障点评】该错误产生原因多种多样,内存资源占用过多、IE安全级别设置与浏览的网站不匹配、与其他软件发生冲突、浏览网站本身含有错误代码……这些情况都有可能,需要耐心加以解决。 【故障解决】①关闭过多的IE窗口。 如果在运行需占大量内存的程序,建议IE窗口打开数不要超过5个。 ②降低IE安全级别。 执行“工具→Internet选项”菜单,选择“安全”选项卡,单击“默认级别”按钮,拖动滑块降低默认的安全级别。 ③将IE升级到最新版本。 IE 6.0 SP1可使用以IE为核心的浏览器,如MyIE2。 它占用系统资源相对要少,而且当浏览器发生故障关闭时,下次启动它,会有“是否打开上次发生错误时的页面”的提示,尽可能地帮你挽回损失。 3.出现运行错误【故障现象】用IE浏览网页时弹出“出现运行错误,是否纠正错误”对话框,单击“否”按钮后,可以继续上网浏览。 【故障点评】可能是所浏览网站本身的问题,也可能是由于IE对某些脚本不支持。 【故障解决】①启动IE,执行“工具→Internet选项”菜单,选择“高级”选项卡,选中“禁止脚本调试”复选框,最后单击“确定”按钮即可。 ②将IE浏览器升级到最新版本。

记录软件缺陷有什么技巧?

已经修改的错误重复出现; 无法清晰的描述当前版本的缺陷状态; 对测试中发现的问题,主要依靠记忆得方式来记录;能记录的数量有限,并且经 常遗忘; 采用了记录单或问题表单的方式来记录缺陷,但只是简单的记录了错误内容,没 有分析和流程跟踪能力; 研发经验教训得不到继承,重复同样的错误; 缺陷跟踪管理系统可以规范项目中开发、测试、缺陷处理的流程。

下列软件中属于应用软件的是( ) A. 操作系统 B. 编译程序 C. 数据库管理系统 D. 财务管理系统

选D、财务管理系统。 A、操作系统 B、编译程序 C、数据库管理系统三个选项都是指系统软件。 系统软件为计算机使用提供最基本的功能,使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。 扩展资料:应用软件的用途分类:1、办公室软件:文书试算表程式投影片报告数学程式创建编辑器绘图程式基础数据库档案管理系统文本编辑器。 2、互联网软件:即时通讯软件电子邮件客户端网页浏览器客户端下载工具。 3、商务软件:会计软件企业工作流程分析客户关系管理Backoffice企业资源规划供应链管理产品生命周期管理4、分析软件:计算机代数系统统计软件数字计算计算机辅助工程设计5、多媒体软件:媒体播放器图像编辑软件音讯编辑软件视讯编辑软件计算机辅助设计计算机游戏桌面排版参考资料来源:网络百科-软件参考资料来源:网络百科-应用软件

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐