gpt4 book ai didi

kubernetes - 如何在 Kubernetes 中跨所有节点均匀部署 Pod?

转载 作者:行者123 更新时间:2023-12-02 11:39:11 30 4
gpt4 key购买 nike

我有几个 Kubernetes 集群,每个集群有不同的节点数。我的配置部署有“副本:#nodes”。没有为调度该 pod 设置特定的配置,但在部署后,我看到节点上 pod 分布方面的奇怪行为。

例子:

对于 30 个节点的集群(30 个副本),所有 30 个 pod 副本仅分布在 25 个节点上,其他 5 个节点在集群中处于理想状态。
许多其他不同集群的类似情况和这个计数在每次新/重新部署中都不同。

题:

我想在所有节点上分发我的 pod 副本。如果我设置了“replicas: #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

最佳答案

如果您需要每个节点部署 1 个 pod,您应该使用 daemonSet而不是副本集。或者,如果每个节点需要 1 个以上的 pod 并且仍然希望 pod 分布基本均匀,则可以使用 pod anti-affinity,正如我讨论的 in this post

关于kubernetes - 如何在 Kubernetes 中跨所有节点均匀部署 Pod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59434797/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com