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

3.0 KiB

title, content_template, weight
title content_template weight
Assign Pods to Nodes templates/task 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:

    kubectl get nodes --show-labels
    

    The output is similar to this:

    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
    
  2. Chose one of your nodes, and add a label to it:

    kubectl label nodes <your-node-name> disktype=ssd
    

    where <your-node-name> is the name of your chosen node.

  3. Verify that your chosen node has a disktype=ssd label:

    kubectl get nodes --show-labels
    

    The output is similar to this:

    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:

    kubectl apply -f https://k8s.io/examples/pods/pod-nginx.yaml
    
  2. Verify that the pod is running on your chosen node:

    kubectl get pods --output=wide
    

    The output is similar to this:

    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 %}}