Nodes

Kubernetes Cluster Overview Kubernetes Cluster Overview

There are two types of node in a Kubernetes cluster; control plane nodes and worker nodes.

Control Plane Nodes

Control plane nodes are primarily concerned with managing the cluster and scheduling pods. Each control plane node runs a collection of control plane processes, including:

  • kube-apiserver - exposes the Kubernetes API, or the “front end” for the Kubernetes control plane
  • kube-controller-manager - controller processes control different aspects of the cluster, such as the nodes or jobs running in the cluster
  • kube-scheduler - watches the cluster for newly created pods and selects a node for them to run on
  • cloud-controller-manager - enables the integrations with the underlying cloud provider, allowing the cluster to do things like create load balancers automatically for you when you deploy an app that needs one

Worker Nodes

Worker nodes are primarily concerned with running the pods that make up your applications - they provide the horsepower for your cluster. Each worker node in the cluster runs these processes:

  • kubelet is an agent that runs on each node, and ensures that pods and running and healthy
  • a container runtime is responsible for managing the execution and lifecycle of containers within the Kubernetes environment
  • kube-proxy (optional) is a network proxy that runs on each nodes, implementing networking rules on the nodes and allowing your pods to communicate with each other and with resources outside of the cluster