我想要以下功能的目的是什么?是否用于资源分配?
我还想知道,kubernetes决定在哪一部分代码中根据资源限制分配资源?我找不到这些代码。请你帮助我好吗?
https://github.com/kubernetes/kubernetes/blob/master/pkg/scheduler/nodeinfo/node_info.go
func calculateResource(pod *v1.Pod) (res Resource, non0CPU int64, non0Mem int64) {
resPtr := &res
for _, c := range pod.Spec.Containers {
resPtr.Add(c.Resources.Requests)
non0CPUReq, non0MemReq := priorityutil.GetNonzeroRequests(&c.Resources.Requests)
non0CPU += non0CPUReq
non0Mem += non0MemReq
// No non-zero resources for GPUs or opaque resources.
}
return
}
答案 0 :(得分:2)
简而言之,kubelet限制了cgroup的容器资源使用量。您可以通过关键字CgroupConfig
进行搜索。
kubernetes如何根据资源限制决定分配资源?
ResourceConfigForPod上的详细信息。