nodeName是最简单的节点选择约束方式,我常常用它来将pod直接指定到某台节点上,进行测试。
注意:如果它不为空,则调度程序不会在调度这个pod了,并且在命名节点上运行的kubelet尝试运行该pod。因此,如果在PodSpec中提供nodeName,则它将优先于其他的约束。
使用nodeName选择节点的一些限制情况:
第一步,先查看你的节点有哪些,可用如下命令查看:
# kubectl get nodes
kube-01 Ready <none> 425d v1.13.2
kube-02 Ready <none> 405d v1.13.2
kube-03 Ready <none> 405d v1.13.2
然后,在pod中增加nodeName
,就可以了:
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx
nodeName: kube-01
这样,该pod将运行在名为kube-01
的节点上了。