[英]Kubernetes pod affinity - Scheduling pods on different nodes
我们在 3 节点 kubernetes 集群上运行带有 3 个 pod 的应用程序。 当我们部署应用程序时,有时,Pod 会被调度到同一个 kubernetes 节点。
我们希望我们的 pod 以这样一种方式调度,它可以将我们的 pod 分布在节点之间(同一应用程序的 2 个 pod 不应是同一个节点)。 事实上,根据文档( https://kubernetes.io/docs/concepts/configuration/assign-pod-node/),kubernetes在这方面已经做得很好。 但是,如果它没有找到资源,它会将其调度到同一个节点。 它如何使它成为一个硬约束?
要求:如果 pod 不遵守约束,我们希望部署失败或处于挂起状态(同一应用程序的 2 个 pod 不应是同一节点)
我认为这个会奏效
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- <VALUE>
topologyKey: "kubernetes.io/hostname"
如需更多参考,您可以访问: https : //thenewstack.io/implement-node-and-pod-affinity-anti-affinity-in-kubernetes-a-practical-example/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.