kubernetes - 这个函数在 Kubernetes 中的目的是什么?
问题描述
我想,以下功能的目的是什么?是为了资源分配吗?
另外,我想知道,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
}
解决方案
简而言之,kubelet 限制了 cgroup 对容器资源的使用。您可以按关键字搜索CgroupConfig
。
Kubernetes 如何根据资源限制来决定分配资源?
ResourceConfigForPod的详细信息。
推荐阅读
- rust - 如何将最新版本的合同托盘与基板v2.0.0集成
- javascript - 为什么我在输入详细信息后单击提交按钮时不起作用?
- c# - 如何在传递的 ViewModel 中更新刚刚选择的字段
- configuration - 如何将 CloudFlare 规则转换为 HAPROXY?
- ios - 无法使用颤振启动器图标更改 iOS 中的应用程序图标
- javascript - 将一种语言转换为另一种语言的一般方法是什么?
- ppp - 如何在 pppd 日志文件中显示发现阶段日志
- javascript - NodeList 的最后一次迭代(?)导致 Uncaught TypeError
- google-chrome - 如何在 Google Chrome 的 Omni 栏中使用 Google 输入工具
- java - 我需要帮助来正确解决获得攻击速度的结果