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