Day-2 Components and Architecture of k8s and more.
Both Components and Architecture are all different things in k8s.
k8s Components :
There are four Components of k8s-
Kube API Server:- The API server is a component of the Kubernetes control plan that expose the Kubernetes API. The API server is the front end for the Kubernetes control plane.
The main implementation of a Kubernetes API server is kube apiserver. Kube-apiserver is designed to scale horizontally—that is, it scales by deploying more instances. You can run several instances of kube-apiserver and balance traffice between those instances.
* Kubeadm Port = 6443
* Minikube Port = 8443
Kube Scheduler:- Records resource utilization statistics for each computing node, evaluates if a cluster is healthy, and decides whether and where new containers should be deployed
Kube Controller:- Runs the controllers that handle the various aspects of the cluster's control loop.
they are all compiled into a single binary and run in a single process.
Etcd:- A distributed key-value store that stores configuration data, cluster state, and metadata about Kubernetes objects.
Consistent and highly-available key value store used as Kubernetes' backing store for all cluster data. If your Kubernetes cluster uses etcd as its backing store, make sure you have a back up plan for the data.
Architecture of k8s:
Kubernetes provides a flexible architecture for discovering services within a cluster while maintaining loose connections. A Kubernetes cluster comprises a set of control planes and compute nodes. The primary role of the control plane is to oversee the entire cluster, expose the API, and manage the scheduling of compute nodes according to the desired settings. The compute nodes run container runtimes such as Docker, alongside a communication agent called kubelet, which interacts with the control plane. These nodes can consist of physical servers, virtual machines (VMs) in on-premises or cloud environments.