kubernetes - GKE 限制 RAM 和 CPU
问题描述
我正在使用 GKE(谷歌管理的 kubernetes),我有一个要求,我想在每个节点上保留大约 10% 的内存作为空闲,以便在突发工作负载场景中,已经部署在该节点上的 pod 可以利用这些空闲资源(在限制范围)
基本上我想要实现的是,我想避免 Pod 被安排到节点上直到 100% 的资源被消耗并假设所有 Pod 的/服务都在利用它们分配的资源(通过请求设置)并且其中一个 POD 的情况突发工作负载场景或 Pod 重新启动并且在启动期间它需要更多内存,那么它应该能够利用这些空闲资源
浏览完文档后,我遇到了这个问题,但是由于 GKE 是一项托管服务,因此这些属性不会在任何地方公开,还有其他方法可以实现吗?
解决方案
GKE 是一项托管服务,因此您将无法自定义工作节点 kublet 参数,例如 --eviction-hard 或 --system-reserved。
作为一种解决方法,您需要计算您的 pod 的内存请求和内存限制,以便配置每个节点的最大 pod 数量,这样您可以控制在您的节点上运行的 pod 数量以及备用 CPU 和内存在爆发的情况下由您的 pod 使用。
推荐阅读
- vue.js - 在 prestashop 模块中使用 Vue.js
- java - 使用 AsyncTask 读取网站的 html 代码
- php - 如何回显子数组的键:值对?PHP
- azure - 删除 Workspace 后删除 Azure Log Analytics 解决方案
- sql - 为什么 count 在空表上不返回 0
- modelica - 参数化 Modelica 库和使用模型作为参数的可能性 - 第 2 部分
- c# - 如何使用列表
>[] 在 C# 中? - laravel - 用户登录帐户时如何更改表前缀?
- c# - asp.net signalr core 中的跨域请求不起作用?
- css - 设置自定义字体变化轴会导致 Chrome 不显示字体