[英]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.