我尝试寻找答案,但似乎无法用正确的方式来表达我想要的东西。
例如,我是否可以有一个需要 6GB RAM 的容器,但我只有 3 个节点,每个节点 4GB?它会被分割到多个节点吗?我想这取决于容器正在运行什么。
答案1
这是不可能的。容器不能使用比它们被调度的节点更多的资源。如果你的容器需要的资源比集群中任何节点拥有的资源都多——它根本就不会被调度。
以下部分摘自相关文章指定对于您的节点来说太大的内存请求,但它包含重要信息:
Pod 调度基于请求。仅当节点具有足够的可用内存来满足 Pod 的内存请求时,Pod 才会被调度到该节点上运行。
还
调度程序根据 Pod 请求确保节点上的所有 Pod 都有足够的资源。它会验证节点上容器的请求总和不大于节点容量。它包括节点启动的所有容器,但不包括集群知识范围之外启动的容器或进程。
如果您尝试调度需要比resources.request
任何节点拥有的更多资源(我的意思是)的 pod,那么 pod 将保持待处理状态并出现FailedScheduling
错误。