Kubelet

It is a Kubernetes node agent that runs on each node.

roles:

  • communicates with API server to see if pods have been assigned to nodes
  • executes the pod containers via a container engine
  • mounts and runs pod volumes and secrets
  • executes health checks to identify pod/node status.

PodSpec

YAML file which describes a pod.
Kubelet takes PodSpec provided by the API server and ensures that the containers described in the PodSpec are running and healthy

kube-proxy

It is a process that runs on all worker nodes.
It is a network proxy and load balancer for worker nodes.
It reflects the services defined in the API on each node and can do simple network stream or round-robin forwarding across a set of backends.

Modes:

  • User space mode (Most common)
  • Iptables mode
  • Ipvs mode

Importance:

  • kube-proxy watches the addition or removal of services
  • For each new service, kube-proxy opens a randomly chosen port on the local node
  • Connections made to the chosen port are proxied to one of the corresponding back-end ports