[英]A question regarding resource allocation in Kubernetes
我正在尝试找出kubernetes如何计算资源分配? 实际上,我无法在源代码中找到它。 在kubernetes官方文档中,可分配的计算公式为[可分配的] = [节点容量]-[保留的Kube]-[保留的系统]-[硬逐出阈值]。 您能帮我在github的kubernetes中找到相关的源代码吗?
实际上,我想更改kubernetes中的分配策略,并且需要找到相关代码。
干杯
有两种选择:
调度程序使用node.Status.Allocatable的值而不是node.Status.Capacity的值来确定节点是否将成为Pod调度的候选者。 因此,要做一件事是做自定义的东西,就是绕过时间表,然后指定您自己的时间表。
第二个选项是更改kubelet使用的值和选项。 细节
您可以使用一组=对(例如,cpu = 200m,内存= 512Mi)在节点配置图的kubeletArguments部分中进行设置。 如果该部分尚不存在,请添加
从这里开始:
// AllocatableResource returns allocatable resources on a given node.
func (n *NodeInfo) AllocatableResource() Resource {
if n == nil {
return emptyResource
}
return *n.allocatableResource
}
这是使用该信息的时间表的一部分:
if allocatable.Memory < podRequest.Memory+nodeInfo.RequestedResource().Memory {
predicateFails = append(predicateFails, NewInsufficientResourceError(v1.ResourceMemory, podRequest.Memory, nodeInfo.RequestedResource().Memory, allocatable.Memory))
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.