kubernetes1.23后 Node预留空间
让k8s健康运行需预留部分资源,以防宕机
,默认情况下k8s将会把资源耗尽
Allocatable 被定义为 pod 可用计算资源量。调度器不会超额申请 Allocatable。目前支持 CPU, memory 和 storage 这几个参数。
-
Allocatable:真正scheduler调度Pod时的参考值(保证Node上所有Pods的request resource不超过Allocatable) kube-reserved:给kube组件预留的资源:kubelet,kube-proxy以及docker等 system-reserved:给system进程预留的资源 eviction-threshold:kubelet eviction的阈值设定
计算公式:节点上可配置值 = 总量 - 预留值 - 驱逐阈值 Allocatable = Capacity - Reserved(kube+system) - Eviction Threshold
修改前的 Allocatable
Allocatable: cpu: 8 ephemeral-storage: 43584163359 hugepages-1Gi: 0 hugepages-2Mi: 0 memory: 3892812Ki pods: 110
编辑 vim /var/lib/kubelet/config.yaml 最后添加如下参数
enforceNodeAllocatable: kubeReserved: memory: 1Gi cpu: 1000m
重启生效
systemctl restart kubelet.service
Allocatable的参数都小了一点CPU少了一个
官网
https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/
.
上一篇:
IDEA上Java项目控制台中文乱码