Files
Rajesh Deshpande 646b7a5f63 Adding reference to node concept page. (#19263)
* Adding reference to node concept page.

This page discuss about assigning pods to the node but missing reference to the node concept page. So for better navigation added this reference in what's next section

* Correcting syntax

Correcting syntax

* Adding glossary tooltip for 'node'

Adding glossary tooltip for 'node'
2020-02-24 09:14:48 -08:00

104 lines
3.0 KiB
Markdown

---
title: Assign Pods to Nodes
content_template: templates/task
weight: 120
---
{{% capture overview %}}
This page shows how to assign a Kubernetes Pod to a particular node in a
Kubernetes cluster.
{{% /capture %}}
{{% capture prerequisites %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{% /capture %}}
{{% capture steps %}}
## Add a label to a node
1. List the {{< glossary_tooltip term_id="node" text="nodes" >}} in your cluster, along with their labels:
```shell
kubectl get nodes --show-labels
```
The output is similar to this:
```shell
NAME STATUS ROLES AGE VERSION LABELS
worker0 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker0
worker1 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker1
worker2 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker2
```
1. Chose one of your nodes, and add a label to it:
```shell
kubectl label nodes <your-node-name> disktype=ssd
```
where `<your-node-name>` is the name of your chosen node.
1. Verify that your chosen node has a `disktype=ssd` label:
```shell
kubectl get nodes --show-labels
```
The output is similar to this:
```shell
NAME STATUS ROLES AGE VERSION LABELS
worker0 Ready <none> 1d v1.13.0 ...,disktype=ssd,kubernetes.io/hostname=worker0
worker1 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker1
worker2 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker2
```
In the preceding output, you can see that the `worker0` node has a
`disktype=ssd` label.
## Create a pod that gets scheduled to your chosen node
This pod configuration file describes a pod that has a node selector,
`disktype: ssd`. This means that the pod will get scheduled on a node that has
a `disktype=ssd` label.
{{< codenew file="pods/pod-nginx.yaml" >}}
1. Use the configuration file to create a pod that will get scheduled on your
chosen node:
```shell
kubectl apply -f https://k8s.io/examples/pods/pod-nginx.yaml
```
1. Verify that the pod is running on your chosen node:
```shell
kubectl get pods --output=wide
```
The output is similar to this:
```shell
NAME READY STATUS RESTARTS AGE IP NODE
nginx 1/1 Running 0 13s 10.200.0.4 worker0
```
## Create a pod that gets scheduled to specific node
You can also schedule a pod to one specific node via setting `nodeName`.
{{< codenew file="pods/pod-nginx-specific-node.yaml" >}}
Use the configuration file to create a pod that will get scheduled on `foo-node` only.
{{% /capture %}}
{{% capture whatsnext %}}
* Learn more about [labels and selectors](/docs/concepts/overview/working-with-objects/labels/).
* Learn more about [nodes](/docs/concepts/architecture/nodes/).
{{% /capture %}}