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
我在实验室环境中看到的快照。
虽然 taint
s 是节点排斥某些 Pods 的一种方式,但当您在 PodSpec 中明确提供 nodeName
时,它优先于其他方法节点选择(污点和容忍度等)和 Kubernetes 调度器实际上通过直接将 Pod 分配给该节点来缩短调度过程。
但是,正如docs提到的,在将Pod分配给Node后,可能会因为资源限制而运行失败。但是调度工作已经完成了。
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
我在实验室环境中看到的快照。
虽然 taint
s 是节点排斥某些 Pods 的一种方式,但当您在 PodSpec 中明确提供 nodeName
时,它优先于其他方法节点选择(污点和容忍度等)和 Kubernetes 调度器实际上通过直接将 Pod 分配给该节点来缩短调度过程。
但是,正如docs提到的,在将Pod分配给Node后,可能会因为资源限制而运行失败。但是调度工作已经完成了。