0% found this document useful (0 votes)
52 views8 pages

Kubernetes Why Do We Need Containers

Container helps organizations perform maintenance and updates without interrupting services. Kubernetes is a container management system developed by Google to manage containerized applications across various environments. Key advantages are its ability to run on different infrastructure and provide automated scaling and self-healing. Kubernetes uses clusters of master and worker nodes and important concepts include pods, replication controllers, and namespaces. Docker Swarm lacks features like auto-scaling that Kubernetes provides.

Uploaded by

ecorradi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
52 views8 pages

Kubernetes Why Do We Need Containers

Container helps organizations perform maintenance and updates without interrupting services. Kubernetes is a container management system developed by Google to manage containerized applications across various environments. Key advantages are its ability to run on different infrastructure and provide automated scaling and self-healing. Kubernetes uses clusters of master and worker nodes and important concepts include pods, replication controllers, and namespaces. Docker Swarm lacks features like auto-scaling that Kubernetes provides.

Uploaded by

ecorradi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 8

Kubernetes

Why do we need containers

Today's internet user never accept downtime. Therefore developers have to find a
method to perform maintenance and update without interrupting their services.
Therefore container, which is isolated environments. It includes everything
needed for application to run. It makes it easy for a developer to edit and
deploying apps. Moreover, containerization has become a preferred method for
packaging, deploying, and update web apps.

What is Kubernetes

Kubernetes is a container management system developed in the Google platform.


The purpose of kubernetes is to manage a containerized application in various
types of Physical, virtual, and cloud environments. Google Kubernetes is a highly
flexible container tool to deliver even complex applications, consistently.
Applications run on clusters of hundreds to thousands of individual servers.
Google Kubernetes is highly flexible container tool to deliver even complex
applications, consistently. Applications 'run on clusters of hundreds to thousands
of individual servers." In this unit, you will learn:

 Why you need containers?


 What is Kubernetes?
 What task are performed by Kubernetes?
 Why use Kubernetes?
 Features of Kubernetes
 Kubernetes Basics
 Kubernetes Architecture
 Other Key Terminologies
 Kubernetes vs. Docker Swarm
 Disadvantages of Kubernetes
What task are performed by Kubernetes?

Kubernetes is the Linux kernel which is used for distributed systems. It helps you
to be abstract the underlying hardware of the nodes(servers) and offers a
consistent interface for applications that consume the shared pool of resources.

Why use Kubernetes?

Here, are pros/benefits of using Kubernetes.

 Kubernetes can run on-premises bare metal, OpenStack, public clouds


Google, Azure, AWS, etc.
 Helps you to avoid vendor lock issues as it can use any vendor-specific
APIs or services except where Kubernetes provides an abstraction, e.g.,
load balancer and storage.
 Containerization using kubernetes allows package software to serve these
goals. It will enable applications that need to be released and updated
without any downtime.
 Kubernetes allows you to assure those containerized applications run
where and when you want and helps you to find resources and tools which
you want to work.

Features of Kubernetes

Here are the essential features of Kubernetes:

 Automated Scheduling
 Self-Healing Capabilities
 Automated rollouts & rollback
 Horizontal Scaling & Load Balancing
 Offers environment consistency for development, testing, and production
 Infrastructure is loosely coupled to each component can act as a separate
unit
 Provides a higher density of resource utilization
 Offers enterprise-ready features
 Application-centric management
 Auto-scalable infrastructure
 You can create predictable infrastructure
Kubernetes Basics

Here, are some important Basic of Kubernetes:

 Cluster:

It is a collection of hosts(servers) that helps you to aggregate their


available resources. That includes ram, CPU, ram, disk, and their devices
into a usable pool.

 Master:

The master is a collection of components which make up the control panel


of Kubernetes. These components are used for all cluster decisions. It
includes both scheduling and responding to cluster events.

 Node:

It is a single host which is capable of running on a physical or virtual


machine. A node should run both kube-proxy, minikube, and kubelet
which are considered as a part of the cluster.

 Namespace:

It is a logical cluster or environment. It is a widely used method which is


used for scoping access or dividing a cluster.
Kubernetes Architecture

Kubernetes Architecture Diagram

Master Node

The master node is the first and most vital component which is responsible for
the management of Kubernetes cluster. It is the entry point for all kind of
administrative tasks. There might be more than one master node in the cluster to
check for fault tolerance.

The master node has various components like API Server, Controller Manager,
Scheduler, and ETCD. Let see all of them.
API Server: The API server acts as an entry point for all the REST commands
used for controlling the cluster.

Scheduler

The scheduler schedules the tasks to the slave node. It stores the resource usage
information for every slave node. It is responsible for distributing the workload.
It also helps you to track how the working load is used on cluster nodes. It helps
you to place the workload on resources which are available and accept the
workload.
etcd

etcd components store configuration detail and wright values. It communicates


with the most component to receive commands and work. It also manages
network rules and port forwarding activity.

Worker/Slave nodes

Worker nodes are another essential component which contains all the required
services to manage the networking between the containers, communicate with
the master node, which allows you to assign resources to the scheduled
containers.

 Kubelet: gets the configuration of a Pod from the API server and ensures
that the described containers are up and running.
 Docker Container: Docker container runs on each of the worker nodes,
which runs the configured pods
 Kube-proxy: Kube-proxy acts as a load balancer and network proxy to
perform service on a single worker node
 Pods: A pod is a combination of single or multiple containers that logically
run together on nodes

Other Key Terminologies.

 Replication Controllers

A replication controller is an object which defines a pod template. It also controls


parameters to scale identical replicas of Pod horizontally by increasing or
decreasing the number of running copies.

 Replication sets

Replication sets are an interaction on the replication controller design with


flexibility in how the controller recognizes the pods it is meant to manage. It
replaces replication controllers because of their higher replicate selection
capability.
 Deployments

Deployment is a common workload which can be directly created and manage.


Deployment use replication set as a building block which adds the feature of life
cycle management.

 Stateful Sets

It is a specialized pod control which offers ordering and uniqueness. It is mainly


used to have fine-grained control, which you have a particular need regarding
deployment order, stable networking, and persistent data.

 Daemon Sets

Daemon sets are another specialized form of pod controller that runs a copy of a
pod on every node in the cluster. This type of pod controller is an effective
method for deploying pods that allows you to perform maintenance and offers
services for the nodes themselves.

Disadvantages of Kubernetes

 Kubenetes dashboard not as useful as it should be


 Kubernetes is a little bit complicated and unnecessary in environments
where all development is done locally.
 Security is not very effective.
Summary:

 Container helps an organization to perform maintenance and update


without interrupting services
 Kubernetes is an example of a container management system developed
in the Google platform.
 The biggest advantage of using Kubernetes is that it can run on-premises
OpenStack, public clouds Google, Azure, AWS, etc.
 Kubernetes offers automated Scheduling and Self-Healing Capabilities.
 Cluster, master, node, and namespace are important basic of kubernetes
 Master node and work node are important components of Kubernetes
architecture.
 Replication Controllers, Replication sets, Deployments, Stateful Sets,
Daemon Sets are other important terms used in Kubernetes.
 Docker swarm does not allow auto-scaling while Kubernetes allows auto-
scaling.
 The biggest drawback of Kubenetes is that it's dashboard not very useful
and effective
Kubernetes vs. Docker Swarm

Parameters Docker Swarm Kubernetes

Scaling No Autoscaling Auto-scaling

Manually configure your load balancing


Load balancing Does auto load balancing
settings

Shares storage volumes with Shares storage volumes between


Storage volume sharing
any other container multiple containers inside the same Pod

Use of logining and Provide an in-built tool for logging and


Use 3rd party tool like ELK
monitoring tool monitoring.

Installation Easy & fast Complicated & time-consuming

GUI GUI not available GUI is available

Scaling up is slow compared to Swarm,


Scaling up is faster than K8S,
but guarantees stronger cluster state
Scalability but cluster strength not as
Load balancing requires manual service
robust
configuration

Provides a built-in load Process scheduling to maintain services


Load Balancing
balancing technique while updating

Updates & Rollbacks


Progressive updates and Only shared with containers in same
Data Volumes Logging
service health monitoring. Pod Inbuilt logging & monitoring tools.
& Monitoring

You might also like