我正在管理一个有10个节点的库伯内特斯集群(On-prem),节点的配置不一样,5个节点是64核和125G内存,5个节点是64核和256G内存。大多数时候,我一直收到警报,说节点CPU/内存很高,我看到pod正在重新启动,因为它消耗了某些节点上92-95%的CPU和内存,我想在节点上应用CPU和内存分配,这样CPU利用率就不会很高。
我尝试手动编辑节点配置,但没有成功。
任何这方面的线索将是有益的!
在K8s中,您可以限制pod容器的资源使用,并为容器保留一些cpus/内存以避免此问题:
---
apiVersion: v1
kind: Pod
metadata:
name: <pod name>
spec:
containers:
- name: c1
image: ...
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
- name: c2
image: ...
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
找到了用于设置节点级可分配资源的Kubernetes文档。
使用以下文档修复https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/#node-可分配的https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/