100% found this document useful (1 vote)
28 views21 pages

Docker and Kubernetes

presentation on docker and kubernetes

Uploaded by

Shubhi Agrawal
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
100% found this document useful (1 vote)
28 views21 pages

Docker and Kubernetes

presentation on docker and kubernetes

Uploaded by

Shubhi Agrawal
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 21

BANASTHALI VIDYAPITH

Seminar- Docker And Kubernetes

Submitted to: Submitted by:


Aim and Act Name- Shubhi Agrawal
Banasthali Vidyapith Id- abmca23102
Roll no- 2342998
INTRODUCTION

In today’s cloud computing world, managing and


deploying software can be complex. Traditional
methods, like using virtual machines (VMs), were
heavy on resources and didn't always scale well.
Containers, introduced to solve these issues, offer
a lightweight solution, making applications easier
to deploy and manage.
WHY WHY
DOCKER KUBERNETE
? S?
 Ensuring Consistency: Apps work  Managing Containers: Automates
the same way everywhere. deployment and scaling of
containerized apps.
 Isolation: Keeps apps and their
dependencies separate.  Scaling: Easily increases or decreases
app capacity as needed.
 Portability: Run apps anywhere
without changes.  Load Balancing: Distributes traffic to
keep apps running smoothly.
 Efficiency: Uses resources better
and starts faster.  Self-Healing: Automatically replaces
failed containers
 Easy Deployment: Simplifies
installing and updating apps.
DOCKER
Click here to add the title text content

Docker is a popular tool that helps package applications into


containers. Think of a container as a box that holds everything an
application needs to run, including code, libraries, and settings. This
makes it easy to move applications between different environments,
like from a developer's laptop to a cloud server.

KUBERNETES
Kubernetes is another tool that works with containers. It helps
manage and organize containers across many computers. If you
have a lot of containers running different parts of an application,
Kubernetes helps keep everything running smoothly by automating
tasks like scaling and recovery from failures.
Click to enter title
ARCHITECTURE
Click OFtext
here to add the title DOCKER
content

Docker’s architecture revolves around the concept of containers and includes several key components that work
together to facilitate containerization. Below is a breakdown of its components and how they interact:
1. Infrastructure (Hardware: Docker runs on physical or virtual machines, providing the computing resources needed for containers.
Physical machines are real servers, while virtual machines run on these servers to host Docker.
2. Host Operating System: Docker operates on the host operating system, which can be Linux, Windows, or macOS. Docker was
originally designed for Linux but can also work on Windows and macOS via a lightweight VM that emulates Linux.
3. Docker Engine: The Docker Engine enables containerization:
•Docker Daemon: Manages containers and listens for commands.
•Docker CLI: The command-line tool used to interact with Docker (e.g., docker run).
•Docker API: Allows programs to control Docker.
4. Containers with Application Dependencies: Containers are self-contained units that include everything needed to run an application:
•Docker Images: Templates used to create containers. Built from Dockerfiles with installation and setup instructions.
•Containers: Run the application and its dependencies in an isolated environment.

•Application Dependencies: Included in images to ensure consistent application behavior across different environments.
Example Workflow:
1.Build an Image: Create an image from a Dockerfile.
2.Run a Container: Start a container from the image.
ARCHITECTURE
Click OFtext
here to add the title KUBERNETES
content

Kubernetes architecture is designed to manage containerized applications across a cluster of machines. It includes
several core components:
It works on master , worker Architecture
1. Master Node: Controls the Kubernetes cluster:
•API Server: It is an interface which manages all worker nodes.
•Controller Manager: Manages tasks like scaling and health checks.
•Scheduler: Assigns tasks to nodes based on needs.
•etcd: Stores all cluster data and settings.
2. Worker Node: Runs applications:
•Kubelet: Tool which ensures containers are running as expected.
•Kube-Proxy: Manages network traffic and load balancing.
•Container Runtime: Runs and manages containers (e.g., Docker).
3. Pods: The smallest unit in Kubernetes; a Pod holds one or more containers that work together.
4. Services: Provide a stable way to access Pods and handle load balancing.
5. Helm: A tool to simplify deploying and managing apps with packages called charts.
6. ConfigMaps and Secrets: Manage app settings (ConfigMaps) and sensitive data (Secrets).
USING MINIKUBE
Minikube’s is designed to make it easy to set up and use Kubernetes locally.
1. Installation:
 Install Minikube CLI: Minikube can be installed using package managers like Homebrew (for macOS), Chocolatey (for
Windows), or directly from Minikube’s website.
 Install VM Driver or Docker: Depending on the chosen driver, install the required software (e.g., VirtualBox, Docker).

2. Starting Minikube:
 Command: Run minikube start to initialize and start the Minikube cluster. Minikube will download the necessary Kubernetes
components, create the VM or container, and set up the cluster.
3. Stopping and Deleting Minikube:
 Stop: Use minikube stop to stop the Minikube cluster without deleting it. This is useful for pausing development work.
 Delete: Use minikube delete to remove the Minikube cluster and free up system resources.

Advantages and Limitations


Advantages:

1. Ease of Use: Minikube simplifies the process of setting up a local Kubernetes environment, making it accessible to developers.

2. Local Development: Provides a convenient environment for testing and development before deploying to a production Kubernetes cluster.

3. Flexible Drivers: Supports multiple drivers, allowing users to choose the best option based on their operating system and hardware.

Limitations:

4. Single-Node Cluster: Minikube’s single-node architecture may not fully replicate the complexities of a multi-node production
environment.

5. Resource Usage: Running Minikube, especially with a VM, can be resource-intensive, which may impact the performance of other
applications on your machine.
ARCHITECTURE
Click OFtext
here to add the title MINIKUBES
content

1.Minikube CLI:
•Purpose: Main tool for managing Minikube.
•Functions: Use commands like minikube start, minikube stop, and minikube dashboard to control the local Kubernetes setup.
2. Virtual Machine or Container:
•VM: Runs Kubernetes in an isolated virtual machine (e.g., VirtualBox, VMware).
•Docker Container: Runs Kubernetes inside a Docker container, useful when a VM isn’t ideal.
3.Kubernetes Components:
•Kubelet: Manages nodes, ensuring pods and containers are running as expected.
•Kube-Proxy: Handles network traffic and load balancing within the cluster.
•API Server: Manages the Kubernetes API and cluster state.
•Controller Manager & Scheduler: Oversee application deployment, scaling, and pod scheduling.
DOCKER FEATURES
• Docker creates containers that bundle an app with everything it needs, ensuring it
Containerization: runs the same way everywhere and avoiding environment-related issues.

• Docker containers are portable, allowing you to move them easily from a developer’s
computer to a cloud server without any changes. This makes Docker versatile across
Portability different environments.

• Docker Compose uses a YAML file to set up and manage multi-container applications,

Docker Compose making complex setups easier.

• Docker Hub is a cloud service for storing and sharing Docker images, making it
easy to upload, download, and collaborate.
Docker Hub
KUBERNETES FEATURES
Automated
Container • Kubernetes automates container deployment and balances them across servers.
Deployment

• Kubernetes has self-healing capabilities. If a container fails, Kubernetes automatically


restarts it, replaces it, or fixes issues to keep the application running smoothly.
Self-Healing

• Kubernetes can automatically adjust the number of container replicas based on


demand. This means if your application needs more resources, Kubernetes will scale
Horizontal Scaling up the number of containers to handle the load.

• Kubernetes balances traffic across containers and provides service discovery with
Load Balancing and stable IPs and DNS names.
Service Discovery
Click here to add the title text content
DOCKER

ADVANTAGE DISADVANTAGES
S

Rapid Resource
Storage
Deployment Efficiency
Platform Complexity
and Independence Networking
Security
Development Limitations
Risks
Managing
Docker
persistent
Docker speeds up containers use Docker containers run
Containers share the host OS, storage in Docker’s networking
deployment by fewer resources anywhere Docker is
so security measures are containers is is simpler than
keeping apps than VMs by installed, ensuring
needed to protect against complex and Kubernetes and may
consistent and sharing the host’s consistent behavior
kernel vulnerabilities. needs extra need extra tools for
quick to launch. OS. across environments. setup. complexity.
Click here to add the title text content

KUBERNETES

ADVANTAGE DISADVANTAGES
S

High Scalability
Availability Ecosystem
Integration Resource
and Resilience Complexity Overhead
Kubernetes scales
large applications . has many
Kubernetes keeps Kubernetes Kubernetes needs lots of
automatically, Kubernetes is complex and
apps running by tools and extensions, resources and a control
making it great needs expertise, which can
spreading like Helm , to boost plane, which can be
for dynamic be tough for smaller teams.
containers and functionality and costly for small setups.
environments.
handling failures. integration.
DOCKER APPLICATIONS
Click here to add the title text content

Continuous Hybrid Cloud


Integration/Continuous Deployments
Delivery (CI/CD)

What It Is:
What It Is: •Using a mix of cloud and on-
•A method to ensure your premises servers to run your
code is always ready for apps.
deployment with minimal How Docker Helps:
effort. •Move Anywhere: Docker
How Docker Helps: containers run on any cloud
•Same Setup Everywhere: or server.
Docker ensures consistent •Same Behavior: Ensures
code execution from Microservices Architectures consistent performance
testing to live. regardless of where it’s
•Automatic: Automates deployed.
What It Is: Why It’s Good:
testing and deployment
• A big app split into smaller, separate pieces. •Flexibility: Choose the best
processes.
How Docker Helps: option for each app part.
Why It’s Good:
• Separate Boxes: Each piece runs in its own container. •Cost Savings: Optimize
•Faster Updates: Quickly
• Easy to Grow: Add more containers as needed. resources and reduce costs.
deploy new features and
Why It’s Good:
fixes.
• Fix One Thing: Change one piece without affecting others.
•Fewer Problems:
• Mix and Match: Use different tools for different pieces.
Consistent environments
reduce bugs.
KUBERNETES APPLICATIONS
Click here to add the title text content

DevOps
Cloud-Native
Automation
Applications

What It Is:
What It Is: •DevOps focuses on
•Apps designed to run automating and streamlining
smoothly in the cloud. software development and
How Kubernetes Helps: operations.
•Smart Management: How Kubernetes Helps:
Organizes and runs apps •Automates Tasks: Integrates
across multiple servers with DevOps tools to
automatically. automate updates,
•Scales Up Easily: Quickly Big Data Workflows monitoring, and more.
adds servers or resources •Efficient Management:
as needed. What It Is: Simplifies and speeds up
Why It’s Good: • Processing and analyzing large amounts of data. software and infrastructure
•Automatic Handling: How Kubernetes Helps: management.
Manages everything • Organizes Tasks: Manages and runs data tasks across many Why It’s Good:
without manual effort. machines. •Saves Time: Automates
•Works Well in the Cloud: • Efficient Use: Ensures effective use of resources and task repetitive tasks.
Ideal for cloud-based completion. •Better Control: Ensures
apps. Why It’s Good: smooth operations with less
• Handles Complexity: Simplifies complex data tasks. manual work.
• Efficient: Uses resources wisely for faster results.
FUTURE PROSPECTS
DOCKER KUBERNETES

Integration with Serverless AI and ML Orchestration


Architectures
Kubernetes is expected to play a
Docker is likely to integrate with significant role in managing AI and
serverless computing models. This would machine learning workflows. Its ability to
combine the benefits of containerization orchestrate complex deployments and
with the scalability of serverless scale resources will be valuable for
platforms, allowing for more flexible and training and deploying machine learning
scalable deployments. models.

Enhanced Security Models Edge Computing

Future developments in Docker will focus Kubernetes is likely to become more prevalent
on improving security. Enhanced isolation in edge computing environments. As more
techniques and better protections at the devices and sensors connect to the cloud,
kernel level are expected to address Kubernetes will help manage applications and
security concerns and protect services closer to the data source, improving
containerized applications. performance and reducing latency.
CONCLUSION
In summary, Docker and Kubernetes represent two foundational
technologies that are reshaping the landscape of software development
and deployment. Docker, with its containerization technology, has
revolutionized the way applications are built, shipped, and Kubernetes,
on the other hand, complements Docker by offering a robust
orchestration framework .

Their adoption can lead to significant improvements in deployment


speed, scalability, and operational efficiency, ultimately enabling
organizations to deliver high-quality software more effectively and
competitively.
REFERENCE
1. Hykes, Solomon. "The History of Docker: How It All Began." Docker Official Blog, 2013.

2. Burns, Brendan, et al. "Kubernetes: Up & Running." O'Reilly Media, 2019.

3. Google Cloud Team. "Kubernetes Documentation." Google Cloud, 2020.

4. Turnbull, James. "The Docker Book." 2nd Edition, 2018.

5. "Docker vs Kubernetes: A Comprehensive Comparison." DevOps Magazine, 2021.

6. Kelsey Hightower. The Kubernetes Book. Independently Published, 2020.

7. Michael Hausenblas. Docker: A Project of the Open Container Initiative. O'Reilly Media,
2022.

You might also like