问题:
我们有一个平台,用户会提交各种大小的批处理作业。因此,我们需要根据每个pod=步骤的资源动态请求/选择pods的示例。我们使用karpenter进行示例分配,所以我们有几个NodeClasses/Provisioners(包含基于pod资源需求的可用类型的示例),我们的问题是,这些pods经常会被放置在资源比请求更多的示例上,例如来自前一个步骤的pod请求了大机器,它们已经完成,但大机器仍然在那里(因此我们在为它付费),k8s将它们调度在那里是因为它们是空闲的,需要一些时间才能被垃圾回收。我们希望在节点亲和性规则中引用pod规范中的资源,这样我们就可以写:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- nodeSelectorTerms:
matchExpressions:
- key: karpenter.aws.io/instance-cpu
operator: In
values:
- valueFrom:
fieldRef:
fieldPath: spec.resource.requests.cpu
这可能还有其他应用场景:https://stackoverflow.com/questions/48223562/how-to-create-statefulset-with-nodeaffinity
5条答案
按热度按时间gc0ot86w1#
这个问题目前正在等待分类。
如果SIG或子项目确定这是一个相关的问题,他们将通过应用
triage/accepted
标签并提供进一步的指导来接受它。组织成员可以通过在评论中写入
/triage accepted
来添加triage/accepted
标签。有关使用PR评论与我互动的说明,请查看here。如果您对我的行为有任何问题或建议,请针对kubernetes/test-infra仓库提出一个问题。
fwzugrvs2#
/sig scheduling
h6my8fg23#
/cc
mutmk8jj4#
Kubernetes项目目前缺乏足够的贡献者来充分应对所有问题。
此机器人根据以下规则对未分类的问题进行分级处理:
lifecycle/stale
应用后的90天内无活动,将应用lifecycle/stale
lifecycle/stale
应用后的30天内无活动,将应用lifecycle/rotten
lifecycle/rotten
应用后的30天内无活动,将关闭该问题您可以:
/remove-lifecycle stale
标记此问题为新鲜/close
关闭此问题请将反馈发送至sig-contributor-experience@kubernetes/community。
/lifecycle stale
7tofc5zh5#
Kubernetes项目目前缺乏足够的活跃贡献者来充分应对所有问题。
此机器人根据以下规则对未分类的问题进行分级处理:
lifecycle/stale
应用后的90天内无活动,将应用lifecycle/stale
lifecycle/stale
应用后的30天内无活动,将应用lifecycle/rotten
lifecycle/rotten
应用后的30天内无活动,将关闭该问题您可以:
/remove-lifecycle rotten
标记此问题为新鲜/close
关闭此问题请将反馈发送至sig-contributor-experience@kubernetes/community。
/lifecycle rotten