Pages

Sunday, May 13, 2018

kubernetes - Nodes

Share it Please
A node is basically a worker machine where kubernetes creates pods. The node can be a VM or
physical machine. Every node in the cluster will have some services running which include
docker, kubelet and kube-proxy

The node is not generally created through kubernetes but by cloud providers or Vm based
softwares. Once created and attached to kubernetes cluster , a node object is created which will
be used to check if the node is valid or not. If the node is valid and all necessary worker node
services are running, then the node is eligible for pod creation. If the node is not valid ,it will
wait until the node become valid to create pod.

Who will handle the nodes?
Node controller is the master node component which take care of the nodes. It has some of the
responsibilities including node health check also making sure all nodes in the node controller list are up to date.

To get the nodes available in the cluster, use
[root@manja17-I13330 ~]# kubectl get nodes
NAME                 STATUS ROLES AGE       VERSION
manja17-i13330  Ready master    8d v1.10.2
work-node1        Ready <none>   8d v1.10.2
work-node2        Ready <none>   8d v1.10.2

To get more details about the node use,


To get more insight into the node , we can use the describe command as,
[root@manja17-I13330 ~]# kubectl describe node work-node1
Name:               work-node1
Roles:              <none>
Labels:             app=backend
                   beta.kubernetes.io/arch=amd64
                   beta.kubernetes.io/os=linux
                   kubernetes.io/hostname=work-node1
                   label=node1
Annotations:        node.alpha.kubernetes.io/ttl=0
                   volumes.kubernetes.io/controller-managed-attach-detach=true
CreationTimestamp: Tue, 01 May 2018 09:19:56 -0400
Taints: <none>
Unschedulable: false
Conditions:
Type Status LastHeartbeatTime LastTransitionTime Reason Message
---- ------ ----------------- ------------------ ------ -------
OutOfDisk False Thu, 10 May 2018 00:40:10 -0400 Tue, 01 May 2018 09:19:55 -0400 KubeletHasSufficientDisk kubelet has sufficient disk space available

MemoryPressure False Thu, 10 May 2018 00:40:10 -0400 Tue, 01 May 2018 09:19:55 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available


DiskPressure False Thu, 10 May 2018 00:40:10 -0400 Tue, 01 May 2018 09:19:55 -0400 KubeletHasNoDiskPressure kubelet has no disk pressure


PIDPressure False Thu, 10 May 2018 00:40:10 -0400 Tue, 01 May 2018 09:19:55 -0400 KubeletHasSufficientPID kubelet has sufficient PID available


Ready True Thu, 10 May 2018 00:40:10 -0400 Tue, 01 May 2018 09:20:45 -0400 KubeletReady kubelet is posting ready status

Addresses:
 InternalIP:  10.0.2.15
 Hostname:    work-node1
Capacity:
cpu:                1
ephemeral-storage:  39269648Ki
hugepages-2Mi:      0
memory:             1883484Ki
pods:               110
Allocatable:
cpu:                1
ephemeral-storage:  36190907537
hugepages-2Mi:      0
memory:             1781084Ki
pods:               110
System Info:
Machine ID:                 d43fcbfca85f47288d8b553380d86c8e
System UUID:                D43FCBFC-A85F-4728-8D8B-553380D86C8E
Boot ID:                    324be3e3-a221-46d9-b724-50f2daa061c2
Kernel Version:             3.10.0-693.21.1.el7.x86_64
OS Image:                   CentOS Linux 7 (Core)
Operating System:           linux
Architecture:               amd64
Container Runtime Version:  docker://1.13.1
Kubelet Version:            v1.10.2
Kube-Proxy Version:         v1.10.2
ExternalID:                  work-node1
Non-terminated Pods:         (3 in total)
 Namespace                  Name CPU Requests  CPU Limits Memory Requests Memory Limits
 ---------                  ---- ------------  ---------- --------------- -------------
 default                    myapp-pod 0 (0%)       0 (0%) 0 (0%) 0 (0%)
 kube-system                kube-proxy-9qpxq 0 (0%)       0 (0%) 0 (0%) 0 (0%)
 kube-system                weave-net-frhh9 20m (2%)      0 (0%) 0 (0%) 0 (0%)
Allocated resources:
 (Total limits may be over 100 percent, i.e., overcommitted.)
 CPU Requests  CPU Limits Memory Requests  Memory Limits
 ------------  ---------- ---------------  -------------
 20m (2%)      0 (0%) 0 (0%)           0 (0%)


Events:         <none>

10 comments :

  1. This blog is really awesome Thanks for sharing most valuable information with us. Kubernetes Online Training

    ReplyDelete
  2. Nice Blog!!
    <a href=" https://www.visualpath.in/DevOps-docker-kubernetes-training.html ”> Kubernetes Online Training </a>

    ReplyDelete
  3. I wanted to leave a little comment to support you and wish you the
    best of luck. We wish you the best of luck in all of your blogging
    endeavors.
    Java Training institution in Hyderabad

    ReplyDelete