- Kubectl - manifest file (JSON/yaml) input on the required cluster requirement
*Master Node *
apiserver - Front end for master node,
- Takes manifest file for input, Updates etcds, informs scheduler on new pod requirements and so on
Cluster store - Persistent storage for cluster state info (etcd)
kube-controller manager - Controller of Controllers , Manages the various nodes in cluster.
kube-scheduler - Watches apiserver for new pods and schedule them as per the requirement or availability
kube-proxy - Takes care of Cluster networking
- Updated the ip tables about the ports numbers and the port mapping of the pods after assigning them.
kubelet - main kubernetes agent in worker node
- instantiates pods in the node and report back to master
- Register the node with the cluster by informing the apiserver
Container engine - Manages containers in the node
Process in node which comprises of 1 or many containers.
Pod state will directly depend on state of containers running in it.
Pods can be instantiated as its a process.
Redeployment not possible. Once a pod is deleted, its gone but a similar one can be cretaed.
instantiated by kubelet
Pod state -> pending -> running -> succeeds/fails based on container state
Interpod communiation - Pod network
Intra pod container - local host