Kubelet :
Kubelet is responsible for controlling the PODs, i.e it conveys the message to the API server which then forwards it to the Controller Manager to check if the desired state is maintained or not.
It always listens to Master Node, on port number 10255 which can also be changed according to the need.
Provides the feedback of success or failure to master.KubeProxy :
Kubeproxy is responsible for assigning dynamic IP addresses to PODs and establishing communication between PODs.
PODs are not allowed to communicate directly with each other, therefore KubeProxy is needed.
It runs on each slave node and makes sure that each POD get its own IP.Container Engine :
The Container Engine is not supposed to be the internal part of K8s. Also, the major role of the Container Engine is to create containers in POD.
Generally it's seen, Docker is used as a Container Engine but ContainerD, and Rocket are some Container Engines that can be used as well.
Responsible for pulling container images, exposing the container on the ports that are mentioned in manifest.
Also, looks after initialization and termination of containers.POD :
POD is supposed to be the atomic / control unit of K8s.
POD’s can not communicate directly with each other.
POD’s have containers in them.
Ideally a POD is supposed to have one container in it but we can keep more than one container as well, in such case, all the containers will be tightly coupled i.e. if any of the container starts malfunctioning, other containers that are connected with it will also get affected and at the end, that POD will be deleted.
Every time a new POD is created meaning if a POD has more than one container out of which a container of POD is not created then, Control Manger will create a whole new POD which will be assigned a whole new ip address.
Either the entire request of creating n number of PODs is fulfilled or not even a single container associated to that request is created.
Multi Container PODs share access to the same volume and memory space.
Limitations of POD :
By default no facility of autohealing and autoscaling, for that higher objects of K8s are added.
In case of crashing of PODs, there is a dependency over Higher Level Kubernetes objects for rollback.
Top comments (0)