kubernetes pod topologySpreadConstraints nodeAffinityPolicy: Ignore not work?

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

发生了什么?
crd

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
spec:
  replicas: 6
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp-container
        image: nginx
apiVersion: v1
kind: Pod
metadata:
  name: web-server
  labels:
    app: myapp
spec:
  containers:
  - name: web-server
    image: nginx
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: node-type
            operator: In
            values:
            - web
  topologySpreadConstraints:
  - maxSkew: 1
    topologyKey: kubernetes.io/hostname
    whenUnsatisfiable: DoNotSchedule
    labelSelector:
      matchLabels:
        app: myapp
    nodeAffinityPolicy: Ignore
root@29-b:~# kubectl get pod -n k8s  -owide -w
NAME                                READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES
myapp-deployment-7546cdb555-d55cf   1/1     Running   0          57m   10.0.1.118   worker-03   <none>           <none>
myapp-deployment-7546cdb555-dt4vs   1/1     Running   0          57m   10.0.0.129   worker-01   <none>           <none>
myapp-deployment-7546cdb555-j9v5z   1/1     Running   0          57m   10.0.1.61    worker-03   <none>           <none>
myapp-deployment-7546cdb555-kc9zf   1/1     Running   0          57m   10.0.3.79    master-01   <none>           <none>
myapp-deployment-7546cdb555-tzbnj   1/1     Running   0          57m   10.0.2.182   worker-02   <none>           <none>
myapp-deployment-7546cdb555-zjmsw   1/1     Running   0          57m   10.0.0.94    worker-01   <none>           <none>
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 版本

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

云提供商

vmware

OS 版本

root@29-b:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here

安装工具

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

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

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仓库提出一个问题。

相关问题