gpt4 book ai didi

Kubernetes PodAffinity 无法部署 pod

转载 作者:行者123 更新时间:2023-12-05 02:46:51 24 4
gpt4 key购买 nike

所以我有 this problem , 并尝试实现 podAffinity 来解决它。

我有 3 个节点,想在同一个节点上部署 2 个 pod。在 Deployment YAML 文件中,我在 metadata.labels 下有 service:git,以下是关联设置:

  affinity:
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: service
operator: In
values:
- git
topologyKey: kubernetes.io/hostname

但是 pod 部署失败,出现以下错误:

0/3 nodes are available: 3 node(s) didn't match pod affinity rules, 3 node(s) didn't match pod affinity/anti-affinity.

我的配置有问题吗?

如果不是,我猜可能是因为当部署第一个 pod 时,系统会尝试查找包含标签为 service: git 的 pod 的节点并失败(因为它是第一个),另一个 pod 也因为同样的原因失败。这是正确的吗?

但是如何解决问题(不求助于解决方法)?

最佳答案

  • 您正在使用“requiredDuringSchedulingIgnoredDuringExecution:”,所以它会寻找一个“正在运行(已经)”的 pod,它有一个标签“service: git”,而且您似乎还没有任何带有该标签的 pod。所以下面是一个快速的解决方法,其中将创建一个带有标签 "service: git"的测试 pod。这样 podAffinity 规则将找到一个目标节点(这将是该 testpod 将运行的节点)

kubectl run testpod --image=busybox --labels="service=git"-- 无限 sleep

  • 一旦上述 pod 启动 .. 您部署中的所有 pod 也应该被创建。如果没有删除部署并重新应用它。

  • 如果您需要一个优雅的解决方案,那么您可以考虑使用“preferredDuringSchedulingIgnoredDuringExecution”而不是“requiredDuringSchedulingIgnoredDuringExecution”

关于Kubernetes PodAffinity 无法部署 pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65328278/

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