The Fundamentals: Understanding The Key Components Of Kubernetes




Kubernetes Core Components

Kubernetes is a container orchestration system for deploying, scaling, and managing containerized applications.

And Kubernetes is an open-source framework for containerized application management. In a nutshell, we can name it K8.

Docker Swarm can manage Docker containers but only with Docker. However, Kubernetes can run Docker and Rocket (rkt) containers.

The goal of Kubernetes is to host your apps as containers in an automated manner.

Check Out Related Articles



Responsibilities of Kubernetes

  1. Deployment of containers.
  2. Container scaling and descaling.
  3. Load-balancing in containers. 
  4. The discovery of services.

Kubernetes Master Node

The master node is in charge of managing the Kubernetes cluster. It serves as the primary entry point for all administrative tasks or

In charge of controlling, planning, scheduling, and monitoring the nodes in the K8 cluster.

  •   Api Server
  •   Schedular
  •   Controller-Manager
  •   etcd(Key-value store)

Kubernetes architecture

API Server

Primary management of the Kubernetes component, responsible for orchestrating all cluster operations.

It exposes the Kubernetes API, which is used by external users to perform cluster administration activities.  

The API server is the frontend of the Kubernetes control plane and is designed to scale by deploying extra instances.

 

Schedular

Communication centre for developers, sysadmins, and other Kubernetes components. Identifies the right node to place the container based on resource requirements. The scheduler watches the pods and assigns them to run on specific hosts.

Controller-Manager

It checks for node failures, tracks worker nodes, tracks replications, and so on at the Kubernetes cluster level.

  • Node controller: Notifying when a node fails.
  • Replication controller: The replication controller keeps track of the number of pods.
  • Endpoint controller: Connects services and pods.
  • Replicaset controller: Ensures that pod replication is always active.
  • Deployment controller: Provide declarative changes for pods and replica sets using the deployment controller.

etcd

The etcd data store maintains information about the cluster such as PODs, Nodes, Configurations, Accounts, and so on.

  • Key value storage facility.
  • Keep all cluster data.

Kubernetes saves data in a specified directory structure, with the registry being the root directory.

In a high availability setup, your cluster will have numerous master nodes and multiple etcd instances distributed throughout the master nodes.

Worker Node

  • In the Kubernetes cluster, where the application is actually operating.
  • pods: Container1, Container2, and so forth.

Docker: Reference can be found here


Node Components

Kublet 

Check that the containers are operational and in good condition. Check that the containers are executing in a pod. Containers that were not created by Kubernetes are not managed by it.

When it receives instructions to load a container or pod in the node, it asks the container run-time engine Docker to fetch the necessary image and launch an instance.

The kublet continues to monitor the POD and its containers, reporting to the Kube-API server.

Kube-porxy

Kube-proxy is a process that runs on each Kubernetes cluster node. Its primary purpose is to search for new services, and if a new service is formed, it creates the necessary rules on each node.

Maintains network rules and handles connection forwarding on nodes. A tube proxy can be used to expose worker nodes.

Container Runtime

The container runtime is the software that runs containers.


That's everything for now; we'll keep you posted.

Chandra Sekhar

A Blogger and Author! This post was written and edited by me, a technologist. I started this site to share my inspirations, work, and free materials, which I hope others may find useful as well. Man with a creative streak who enjoys experimenting with various web design strategies.

Previous Post Next Post

Microservice Communication in a Distributed System