> For the complete documentation index, see [llms.txt](https://bohans.gitbook.io/devops/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bohans.gitbook.io/devops/kubernetes/ji-chu-zhi-shi/kubernetes-diao-du/jiang-pod-zhi-pai-gei-jie-dian/nodename.md).

# nodeName

<mark style="color:blue;">**nodeName**</mark> 是 Pod 规约中的一个字段。

* **如果 nodeName 字段不为空，调度器会忽略该 Pod**， 而**指定节点上的 kubelet 会尝试将 Pod 放到该节点上**。
* 使用 nodeName 规则的**优先级会高于使用 nodeSelector 或亲和性与非亲和性的规则。**

```yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  nodeName: foo-node # 调度 Pod 到特定的节点
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
```

<mark style="color:orange;">**使用 nodeName 来选择节点的方式有一些局限性：**</mark>

* 如果**所指代的节点不存在，则 Pod 无法运行**，而且在某些情况下可能会被自动删除。
* 如果**所指代的节点无法提供用来运行 Pod 所需的资源，Pod 会失败**， 而其失败原因中会给出是否因为内存或 CPU 不足而造成无法运行。
* **在云环境中的节点名称并不总是可预测的，也不总是稳定的**。
