首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kubernetes多节点集群cpu不足

Kubernetes多节点集群cpu不足
EN

Stack Overflow用户
提问于 2018-12-11 21:21:08
回答 2查看 3.3K关注 0票数 2

我正在尝试将应用程序部署到我的Kubernetes集群中。它是一个多节点集群。有3 m4.2xlrge aws实例。

代码语言:javascript
运行
复制
m4.2xlarge
vCPU :- 8
Memory :- 32

现在,在该服务的deployment.yaml文件中,我已经提到

代码语言:javascript
运行
复制
limit:
  cpu: 11
request:
  cpu: 11

这是错误的,insufficient cpu和容器没有调度。我已经有了(8*3)=24 CPU资源,我请求11 CPU退出它。它应该跨节点共享CPU资源。limitrequest CPU是否适用于每个节点的容器?这意味着,每个aws实例至少应该有11 CPU吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-11 21:51:05

一个Pod被安排在一个节点上。资源requests:帮助决定它可以在哪里被调度。如果您说是requests: {cpu: 11},那么必须有一些具有11个(非保留)核心的单个节点;但是如果您的集群只有8个核心m4.2xlarge节点,那么没有一个节点能够支持这一点。在这个级别上,Kubernetes不能以任何有用的方式“聚合”节点的核心。

如果您请求大量CPU,因为您的进程有很多线程要进行并发处理,请考虑将线程数量(甚至可能只有1个)调低,然后在部署规范中更改replicas:以运行它的多个副本。每个单独的Pod都将被安排在一个节点上,但是有了许多副本,您将得到许多可以在这三个节点上传播的Pod。

如果您的进程确实需要8个以上的核心来运行,那么您需要有8个以上核心的单个系统;考虑一下m4.4xsize(相同的RAM与CPU的比率)或c4.4xlarge (相同的总RAM,是核心的两倍)。

票数 4
EN

Stack Overflow用户

发布于 2018-12-14 12:27:01

当为一个吊舱指定一个limitrequest时,它会考虑到每个节点的CPU或内存容量。换句话说,不能有一个Pod请求在集群的单个工作节点上可用的更多的CPU或内存,如果这样做,它将处于Pending状态,直到找到匹配Pod的request的节点才会出现。

在您的示例中,大小为m4.2xlarge的工作节点有8个vCPU,在部署文件中,您为Pod请求了11个vCPU。即使您有3个大小为m4.2xsize的节点,这也是行不通的。Pod总是在单个worker节点上调度,所以集群的总CPU容量是否超过11个vCPU并不重要,因为Pod只能从单个工作节点消耗资源。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53732523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档