master 上的 kubernetes 污点允许 pods

kubernetes taint on master allows pods

kubernetes master 有污点,不会在 master 上安排正常的工作负载。但是它在 master 上安排了 pods,尽管它已将污点应用为 noschedule。

这怎么可能,是k8s环境表现不一样还是我的理解有误。我希望,master 应该允许 pods 只有在删除 master 上的污点后才能安排。

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  -  image: nginx
     name: nginx
  nodeName: master

我在实验室环境中看到的快照。

虽然 taints 是节点排斥某些 Pods 的一种方式,但当您在 ​​PodSpec 中明确提供 nodeName 时,它优先于其他方法节点选择(污点和容忍度等)和 Kubernetes 调度器实际上通过直接将 Pod 分配给该节点来缩短调度过程。

但是,正如docs提到的,在将Pod分配给Node后,可能会因为资源限制而运行失败。但是调度工作已经完成了。