首页 > 解决方案 > GKE 限制 RAM 和 CPU

问题描述

我正在使用 GKE(谷歌管理的 kubernetes),我有一个要求,我想在每个节点上保留大约 10% 的内存作为空闲,以便在突发工作负载场景中,已经部署在该节点上的 pod 可以利用这些空闲资源(在限制范围)

基本上我想要实现的是,我想避免 Pod 被安排到节点上直到 100% 的资源被消耗并假设所有 Pod 的/服务都在利用它们分配的资源(通过请求设置)并且其中一个 POD 的情况突发工作负载场景或 Pod 重新启动并且在启动期间它需要更多内存,那么它应该能够利用这些空闲资源

浏览完文档后,我遇到了这个问题,但是由于 GKE 是一项托管服务,因此这些属性不会在任何地方公开,还有其他方法可以实现吗?

在此处输入图像描述

标签: kubernetesgoogle-kubernetes-engine

解决方案


GKE 是一项托管服务,因此您将无法自定义工作节点 kublet 参数,例如 --eviction-hard 或 --system-reserved。

作为一种解决方法,您需要计算您的 pod 的内存请求和内存限制,以便配置每个节点的最大 pod 数量,这样您可以控制在您的节点上运行的 pod 数量以及备用 CPU 和内存在爆发的情况下由您的 pod 使用。


推荐阅读