1

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

这怎么可能,是k8s环境的行为不同还是我的理解错误。我希望,主人应该只在删除主人上的污点后才允许安排豆荚。

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

我在实验室环境中看到的快照。 在此处输入图像描述

4

1 回答 1

1

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

但是,正如文档所述,在将 Pod 分配给 Node 后,它可能由于资源限制而无法运行。但是调度工作已经完成。

于 2020-05-15T01:38:01.813 回答