kubernetes pod topologySpreadConstraints nodeAffinityPolicy: Ignore not work?

yftpprvb  于 10个月前  发布在  Kubernetes
关注(0)|答案(6)|浏览(134)

发生了什么?
crd

  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: myapp-deployment
  5. spec:
  6. replicas: 6
  7. selector:
  8. matchLabels:
  9. app: myapp
  10. template:
  11. metadata:
  12. labels:
  13. app: myapp
  14. spec:
  15. containers:
  16. - name: myapp-container
  17. image: nginx
  1. apiVersion: v1
  2. kind: Pod
  3. metadata:
  4. name: web-server
  5. labels:
  6. app: myapp
  7. spec:
  8. containers:
  9. - name: web-server
  10. image: nginx
  11. affinity:
  12. nodeAffinity:
  13. requiredDuringSchedulingIgnoredDuringExecution:
  14. nodeSelectorTerms:
  15. - matchExpressions:
  16. - key: node-type
  17. operator: In
  18. values:
  19. - web
  20. topologySpreadConstraints:
  21. - maxSkew: 1
  22. topologyKey: kubernetes.io/hostname
  23. whenUnsatisfiable: DoNotSchedule
  24. labelSelector:
  25. matchLabels:
  26. app: myapp
  27. nodeAffinityPolicy: Ignore
  1. root@29-b:~# kubectl get pod -n k8s -owide -w
  2. NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
  3. myapp-deployment-7546cdb555-d55cf 1/1 Running 0 57m 10.0.1.118 worker-03 <none> <none>
  4. myapp-deployment-7546cdb555-dt4vs 1/1 Running 0 57m 10.0.0.129 worker-01 <none> <none>
  5. myapp-deployment-7546cdb555-j9v5z 1/1 Running 0 57m 10.0.1.61 worker-03 <none> <none>
  6. myapp-deployment-7546cdb555-kc9zf 1/1 Running 0 57m 10.0.3.79 master-01 <none> <none>
  7. myapp-deployment-7546cdb555-tzbnj 1/1 Running 0 57m 10.0.2.182 worker-02 <none> <none>
  8. myapp-deployment-7546cdb555-zjmsw 1/1 Running 0 57m 10.0.0.94 worker-01 <none> <none>
  9. web-server 0/1 Pending 0 12m <none> <none> <none> <none>

2m16s 警告:调度失败。pod/web-server 0/4 节点可用:4 个节点与 Pod 的节点亲和性/选择器不匹配。抢占:0/4 节点可用:4 抢占对调度无帮助。
nodeTaintsPolicy 也有同样的问题

你期望发生什么?

忽略 nodeaffinity

我们如何尽可能精确地重现它?

应用我的 crd,没有那个标签的节点

我们需要了解其他信息吗?

  • 无响应*

Kubernetes 版本

  1. ^Croot@29-b:~ kubectl versionon
  2. Client Version: v1.29.0
  3. Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
  4. Server Version: v1.29.0

云提供商

vmware

OS 版本

  1. root@29-b:~# cat /etc/os-release
  2. PRETTY_NAME="Ubuntu 22.04.3 LTS"
  3. NAME="Ubuntu"
  4. VERSION_ID="22.04"
  5. VERSION="22.04.3 LTS (Jammy Jellyfish)"
  6. VERSION_CODENAME=jammy
  7. ID=ubuntu
  8. ID_LIKE=debian
  9. HOME_URL="https://www.ubuntu.com/"
  10. SUPPORT_URL="https://help.ubuntu.com/"
  11. BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
  12. PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
  13. UBUNTU_CODENAME=jammy
  14. # On Windows:
  15. C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
  16. # paste output here

安装工具

容器运行时(CRI)及其版本(如适用)

相关插件(CNI、CSI 等)及其版本(如适用)

uqxowvwt

uqxowvwt1#

/sig scheduling

6l7fqoea

6l7fqoea2#

你能提供节点标签信息吗?我想在这里强调的是,ignore nodeAffinity并不意味着忽略节点亲和性插件,而是在计算拓扑偏差时忽略目标节点中的位置的pods。
谢谢。

tyu7yeag

tyu7yeag3#

/triage needs-information

k3fezbri

k3fezbri4#

我猜你有一个包含4个节点的集群,但是没有一个节点有标签:node-type: web

2ic8powd

2ic8powd5#

Kubernetes项目目前缺乏足够的贡献者来充分应对所有问题。
此机器人根据以下规则对未分类的问题进行分级处理:

  • lifecycle/stale应用后的90天不活动后,将应用lifecycle/stale
  • lifecycle/stale应用后的30天不活动后,将应用lifecycle/rotten
  • lifecycle/rotten应用后的30天不活动后,该问题将被关闭

您可以:

  • 将此问题标记为新鲜的/remove-lifecycle stale
  • 使用/close关闭此问题
  • 提供帮助,请使用Issue Triage

请将反馈发送至sig-contributor-experience@kubernetes/community
/lifecycle stale

展开查看全部
vd2z7a6w

vd2z7a6w6#

这个问题目前正在等待分类。
如果SIG或子项目确定这是一个相关的问题,他们将通过应用triage/accepted标签并提供进一步的指导来接受它。
组织成员可以通过在评论中写入/triage accepted来添加triage/accepted标签。
有关使用PR评论与我互动的说明,请查看here。如果您对我的行为有任何问题或建议,请针对kubernetes/test-infra仓库提出一个问题。

相关问题