我们计划在生产中引入 AWS Spot 实例(非产品已经在 Spot 中运行)。为了实现 HA,我们为所有关键部署运行具有最少副本 2 的 HPA。由于现场实例的行为,我们希望运行按需实例,并且一个 pod 应该在相同的按需实例上运行
问题:
无论如何,我是否可以拆分 pod 以按需启动部署的一个 pod,并在现场实例中启动相同部署的所有其他 pod(另一个,因为最小值为 2,如果 HPA 增加 pod)。
我们已经使用了 nodeaAffinity 和 podAntiAffinity,因为出于不同的原因我们有多个节点组。下面是片段。
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: category
operator: In
values:
- <some value>
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: <lable key>
operator: In
values:
- <lable value>
topologyKey: "kubernetes.io/hostname"