0% found this document useful (0 votes)
19 views

Understanding Kubernetes

Uploaded by

hb.kumar09
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Understanding Kubernetes

Uploaded by

hb.kumar09
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Understanding Kubernetes: An Overview

Kubernetes, often abbreviated as K8s, is an open-source container orchestration platform


that automates the deployment, scaling, and management of containerized applications. It
was originally developed by Google and has since become an essential tool for managing
containerized workloads and services.

Why Kubernetes?

Containers have transformed the way applications are developed, packaged, and deployed.
However, as the number of containers grows, managing them manually becomes
challenging. This is where Kubernetes comes in. It allows you to:

🚀 Scale Easily: Kubernetes automatically scales your applications up or down based on


demand.

🔄 Roll Out Updates: Updates are seamlessly managed with minimal disruptions through
rolling updates and rollbacks.

🔒 Ensure High Availability: Kubernetes distributes applications across clusters, ensuring


redundancy and high availability.

🌐 Optimize Resource Usage: Efficiently utilize resources with load balancing and
auto-scaling.
Kubernetes Architecture

🖥️Nodes: Nodes are the worker machines that run containers. They can be physical
servers or virtual machines.

Kubernetes Master Node


Master Node is a collection of components like Storage, Controller, Scheduler, API-server
that makes up the control plan of the Kubernetes. When you interact with Kubernetes by
using CLI you are communicating with the Kubernetes cluster’s master node. All the
processes run on a single node in the cluster, and this node is also referred to as the master.

Master Node Components:


● Kube API-server: performs all the administrative tasks on the master node. A user
sends the rest commands as YAML/JSON format to the API server, then it processes
and executes them. The Kube API-server is the front end of the Kubernetes control
plane.

● etcd: is a distributed key-value store that is used to store the cluster state.
Kubernetes stores the file in a database called the etcd. Besides storing the cluster
state, etcd is also used to store the configuration details such as the subnets and the
config maps.

● Kube-scheduler: is used to schedule the work to different worker nodes. It also


manages the new requests coming from the API Server and assigns them to healthy
nodes.
● Kube Controller Manager’s: task is to obtain the desired state from the API Server.
If the desired state does not meet the current state of the object, then the corrective
steps are taken by the control loop to bring the current state the same as the desired
state.

There are different types of control manager in Kubernetes architecture:

● Node Manager, it manages the nodes. It creates new nodes if any node is
unavailable or destroyed.
● Replication Controller, it manages if the desired number of containers is
running in the replication group.
● Endpoints controller, it populates the endpoints object that is, joins Services
& Pods.

Kubernetes Worker Node:


The worker nodes in a cluster are the machines or physical servers that run your
applications. The Kubernetes master controls each node. there are multiple nodes
connected to the master node. On the node, there are multiple pods running and there are
multiple containers running in pods.

Worker Node Components


● Kubelet is an agent that runs on each worker node and communicates with the
master node. It also makes sure that the containers which are part of the pods are
always healthy. It watches for tasks sent from the API Server, executes the task like
deploy or destroy the container, and then reports back to the Master.

● Kube-proxy is used to communicate between the multiple worker nodes. It


maintains network rules on nodes and also make sure there are necessary rules
define on the worker node so the container can communicate to each in different
nodes.

● Container Runtime is the software that is responsible for running containers.


Kubernetes supports several container runtimes: Docker, containerd.
Key Concepts: Pods, Services, and Replication

● Pods: A pod is the smallest deployable unit in Kubernetes. It can contain one or
more tightly coupled containers that share network and storage resources. Pods are
used to group containers that need to work together.

● Services: Services provide a consistent way to access and communicate with pods.
They allow you to abstract the underlying network details, making it easier to connect
to your application. There are different types of services, including ClusterIP,
NodePort, and LoadBalancer.

● Replication Controllers and ReplicaSets: These ensure that a specified number of


pod replicas are running at all times, even in the face of node failures. Replication
Controllers were an earlier version of this concept, while ReplicaSets offer more
powerful selectors for targeting pods.
● Deployment: Provides declarative updates to applications. It manages ReplicaSets,
making it easier to scale and update applications.
● Namespace: A virtual cluster within a physical cluster. It's used to isolate resources
and control access.
Related References

● Introduction to Kubernetes Architecture


● Kubernetes Pods For Beginners
● ReplicaSet in Kubernetes
● Kubernetes Namespace

You might also like