我有几个 Kubernetes 集群,每个集群都有不同的#of 节点。我的配置部署有“副本:#nodes”。没有为调度该 pod 设置特定的配置,但在部署之后,我看到节点上 pod 分布的奇怪行为。
例子:
对于 30 个节点的集群(30 个副本),所有 30 个 pod 副本仅分布在 25 个节点上,其他 5 个节点在集群中是理想的。 许多其他不同集群的类似情况,这个计数在每次新/重新部署时都会有所不同。
问题:
我想将我的 pod 副本分布在所有节点上。如果我设置“副本:#nodes”,那么我应该在每个节点中有一个 pod 副本。如果我将副本数增加/加倍,那么它应该均匀分布。Kubernetes 的部署 yaml 中是否有任何特定配置?
使用节点 AntiAffinity 进行配置,但此配置仍然如上所示。尝试使用“requiredDuringSchedulingIgnoredDuringExecution”,并且确实在每个节点中部署了一个 pod,但是如果我增加副本或任何节点在部署期间出现故障,那么整个部署将失败。
metadata:
labels:
app: test1
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- test1
topologyKey: kubernetes.io/hostname