Kubernetes Architecture consists of master node which manages other worker nodes. Worker nodes are nothing but virtual machines running within a data center. They expose the underlying network and storage resources to the application
Master Node (Control Plane )
Kubernetes master is responsible for scheduling, provisioning, controlling and exposing API to the clients. It coordinates activities inside the cluster and communicates with worker nodes to keep Kubernetes and applications running.
🌟 Components of master node
1. API server
Gatekeeper for the entire cluster. CRUD operations for servers go through the API.
2. Scheduler
It is responsible for physically scheduling Pods across multiple nodes.
3. Control Manager
4. etcd
Distributed key-value lightweight database. Central database to store current cluster state at any point of time.
Worker Node
It is basically any VM or physical server where containers are deployed. Every Node in Kubernetes cluster must run a runtime such as Docker or Rocket.
🌟 Components of worker node
1. Kubelet
Primary Node agent that runs on each worker node inside the cluster. It looks at the pod spec that was submitted to the API server on the Kubernetes master and ensures that containers described in that pod spec are running and healthy.
2. Kube-Proxy
Responsible for maintaining the entire network configuration. It maintains the distributed network across all the nodes, across all the pods, and all containers. Also exposes services to the outside world. It is the core networking component inside Kubernetes
3. Pods
A scheduling unit in Kubernetes. Like a virtual machine in the virtualization world. In the Kubernetes world, we have a Pod. Each Pod consists of one or more containers.
4. Containers
Containers are Runtime Environments for containerized applications. We run container applications inside the containers. These containers reside inside Pods. Containers are designed to run Micro-services.
Follow @_maheshkasbe &
Retweet this tweet .....
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Microservices are applications which are loosely coupled services each represents separate business goal, the advantage of using microservices is they can be easily developed and maintained individually. It also gives developer freedom to choose stack.
What are Monoliths ?
A monolithic architecture means creating a single unit as the base for all the functional components. This includes database operations, business logic, background processing, etc. They are all deployed at once and run on the same servers.