为什么单个节点群集只能使用一小部分的cpu配额? [英] Why does a single node cluster only have a small percentage of the cpu quota available?
问题描述
在上述问题中,我遇到了一个开始使用3个容器进行部署的问题.
In the above question, I had an issue starting a deployment with 3 containers.
进一步调查发现,似乎只有27%的CPU配额可用-这似乎很低.其余的CPU似乎已分配给某些默认的捆绑容器.
Upon further investigation, it appears there is only 27% of the CPU quota available - which seems very low. The rest of the CPU seems to be assigned to some default bundled containers.
通常如何缓解?是否需要更大的节点?是否需要手动设置限制?所有这些额外的容器是否必要?
How is this normally mitigated? Is a larger node required? Do limits need to be set manually? Are all those additional containers necessary?
推荐答案
单节点群集的1 cpu可能太小.
1 cpu for a single node cluster is probably too small.
从原始答案中的容器中,仪表板和流利条都可以删除:
From the containers in the original answer, both the dashboard and fluentd can be removed:
- 仪表板只是一个Web UI,如果您使用
kubectl
(IMO,您应该使用它),该UI可能会消失; - 流利的应该正在读取磁盘上的日志文件以将它们传送到某个地方(我认为GCP的日志聚合).
- the dashboard is just a web UI, which can go away if you use
kubectl
(which you should, IMO); - fluentd should be reading the log files on disk to ship them somewhere (GCP's log aggregation, I think).
不必要的容器应该绑定到Deployment
或ReplicaSet
,这两个容器可以分别用kubectl get deployment
和kubectl get rs
列出.然后,您可以kubectl delete
它们.
The unnecessary containers should be tied to a Deployment
or ReplicaSet
, which can be listed with kubectl get deployment
and kubectl get rs
, respectively. You can then kubectl delete
them.
增加节点上的资源不应更改对基本Pod的要求,这意味着它们应该都是自由调度的.
Increasing the resources on the node should not change the requirements for the basic pods, meaning they should all be free scheduling.
这篇关于为什么单个节点群集只能使用一小部分的cpu配额?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!