Kubernetes Architecture
Kubernetes’ basic architecture will be discussed in this chapter.
Kubernetes – Cluster Architecture
Kubernetes follows a client-server architecture, where the master runs on one machine and the nodes run on another.

Below are the key components of a master and a node.
Kubernetes – Master Components
Kubernetes Master Machine components are listed below.
etcd
In it, configuration information is stored so that each node can use it. It’s a high-availability key value store that can be distributed across multiple nodes. Since it’s sensitive, it’s only accessible from the Kubernetes API server. It’s a distributed key value store that everyone can access.
API Server
All the operations on a cluster are handled with Kubenetes using the API server. kubeconfig is a package along with server side tools for communicating with Kubernetes. It exposes the Kubernetes API. It implements an interface, so different tools and libraries can readily communicate with it.
Controller Manager
It’s responsible for most of the collectors that regulate the cluster state. As a rule, it’s like a daemon that collects and sends information to an API server in a non terminating loop. As a result, it tries to get the shared state of the cluster and then makes changes to get the server up to speed. Replication controllers, endpoint controllers, namespace controllers, and service account controllers are the main controllers. The controller manager runs different kinds of controllers for nodes and endpoints.
Scheduler
Kubernetes master relies on this. It’s a service in master that distributes the workload. In other words, it is responsible for tracking the working load on cluster nodes and placing workloads on available resources and accepting them. So it’s the mechanism that allocates pods to available nodes. The scheduler makes sure workloads are utilized and new pods are allocated.
Kubernetes – Node Components
Here are the key components of Node server you’ll need to communicate with Kubernetes.
Docker
Every node needs Docker to run the encapsulated application containers in an isolated but lightweight operating environment.
Kubelet Service
There is a small service in each node that relays information between the control plane and the node. It interacts with the etcd store to read configuration details and write values. To receive commands and work, the master component communicates with the kubelet process. The kubelet process then manages the state of work as well as the node server. Among other things, it handles network rules, port forwarding, etc.
Kubernetes Proxy Service
The proxy service runs on each node and helps make services available to external hosts. It forwards requests to the correct containers and performs primitive load balancing.Pods on nodes, volumes, secrets, health checkups of new containers, etc. It makes sure the networking environment is predictable, accessible, and isolated.
Kubernetes – Master and Node Structure
Kubernetes Master and Node structures are shown below.
