发生了什么?
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
6条答案
按热度按时间uqxowvwt1#
/sig scheduling
6l7fqoea2#
你能提供节点标签信息吗?我想在这里强调的是,
ignore nodeAffinity
并不意味着忽略节点亲和性插件,而是在计算拓扑偏差时忽略目标节点中的位置的pods。谢谢。
tyu7yeag3#
/triage needs-information
k3fezbri4#
我猜你有一个包含4个节点的集群,但是没有一个节点有标签:
node-type: web
2ic8powd5#
Kubernetes项目目前缺乏足够的贡献者来充分应对所有问题。
此机器人根据以下规则对未分类的问题进行分级处理:
lifecycle/stale
应用后的90天不活动后,将应用lifecycle/stale
lifecycle/stale
应用后的30天不活动后,将应用lifecycle/rotten
lifecycle/rotten
应用后的30天不活动后,该问题将被关闭您可以:
/remove-lifecycle stale
/close
关闭此问题请将反馈发送至sig-contributor-experience@kubernetes/community。
/lifecycle stale
vd2z7a6w6#
这个问题目前正在等待分类。
如果SIG或子项目确定这是一个相关的问题,他们将通过应用
triage/accepted
标签并提供进一步的指导来接受它。组织成员可以通过在评论中写入
/triage accepted
来添加triage/accepted
标签。有关使用PR评论与我互动的说明,请查看here。如果您对我的行为有任何问题或建议,请针对kubernetes/test-infra仓库提出一个问题。