Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes can schedule containers across a cluster of nodes, provide basic health checking and recovery of containers, and expose containers to the internet. Some key aspects include using microservices, container orchestration, continuous integration/delivery (CI/CD), and deployment automation.
2. We just need them to
Handle compute resources That were limited to every person in the worl
● Prioritization,Tracking,Limiting,and also Isolation.
● CPU,RAM,IO,Networking
4. Cloud native application are
Cloud native is a term used to generally describe container-based environments.
Cloud-native technologies are used to develop applications built with services
packaged in containers, deployed as microservices and managed on elastic
infrastructure through agile DevOps processes and continuous delivery workflows.
● A container-based infrastructure.
● An architecture built around microservices.
● Use of continuous integration and continuous delivery (CI/CD)
● Composed of Microservices
● Packaged in Containers
● Rapidly (Re)Deployable in a Continuous Delivery Model
6. Why Microservice?
● Each team is independent from the rest, decoupling
the release cycle with others.
● Clear separation of boundaries.
● Easier to identify when things go wrong.
● Choice of programming language appropriate for the
task.
● Refactoring becomes easier.
● Enabler for CI/CD pipelines.
7. Microservice to the world of the development
Software containers
● 1 image -> Many containers
○ Laptop, DC, cloud
○ Dev, QA, production, support
● Simple, efficient
● Isolation
● Constraints
8. Docker is all about these factors
●Standardized packaging for software and dependencies
●Isolate apps from each other
●Share the same OS kernel
●Works with all major Linux and Windows Server
9. Container are very light weight
SERVER
HOST OS
GUEST OS
HYPERVISOR
LIBRARIES/Bin
APP A
GUEST OS
LIBRARIES/Bin
APP B
VM
SERVER
HOST OS
APP A APP B
LIBRARIES LIBRARIES
CONTAINER
S
• Containers are isolated but share OS
• Increase the compute density and
memory utilization
DOCKER ENGINE
10. Benefits of VM
• Better resource pooling
– One physical machine divided into multiple virtual
machines
• Easier to scale
• VMs in the cloud
– Rapid elasticity
– Pay as you go model
11. Docker
• Simple to use
• 100K+ images on Docker Hub
• Build images from images
• Platforms
– Linux, OS X, Windows
– Laptop, VM, Cloud,…
– Cloud services
14. All the above thing can be handled using
Containers
The new big thing
15. From Dev To Ops
PHYSICAL VIRTUAL CLOUD
Any Application
16. Docker Platform
Docker Image
Docker Engine
Registry Service (Docker Hub or Docker Trusted Registry)
Cloud or server based storage and distribution service for images
Docker Container
18. Docker Hub: Build, Ship, Run Applications
Build Ship
Run
Dev
QA
Source
Staging
Physical
Virtual
Cloud
InfrastructureManagement
InfrastructureManagement
DockerFile
Source Code
Repository
TEST
TEST
TEST
TEST
TEST
GCE RAX Azure
Mac/Win Dev
Machine
Boot2Docker
Docker
Analytics
DB
Prod
Machine
Linux OS
Docker
Docker
++
Users Collab
Provenance Policy
Docker Hub
Registries
Public Curated Private
Docker Hub API
Third Party Tools
Prod
Machine
Linux OS
Docker
Docker
Prod
Machine
Linux OS
Docker
Docker
VM
Docker
Docker
VM
Docker
Docker
VM
Docker
Docker
QA Machine
Linux OS
Docker
Docker
Docker Hub provides a centralized resource for container image discovery,
distribution and change management, user and team collaboration, and workflow
automation
19. Docker Hub: Build, Ship, Run Applications
Build Ship
Run
Dev
QA
Source
Staging
Physical
Virtual
Cloud
InfrastructureManagement
InfrastructureManagement
DockerFile
Source Code
Repository
TEST
TEST
TEST
TEST
TEST
GCE RAX Azure
Mac/Win Dev
Machine
Boot2Docker
Docker
Analytics
DB
Prod
Machine
Linux OS
Docker
Docker
++
Users Collab
Provenance Policy
Docker Hub
Registries
Public Curated Private
Docker Hub API
Third Party Tools
Prod
Machine
Linux OS
Docker
Docker
Prod
Machine
Linux OS
Docker
Docker
VM
Docker
Docker
VM
Docker
Docker
VM
Docker
Docker
QA Machine
Linux OS
Docker
Docker
Docker Hub provides a centralized resource for container image discovery,
distribution and change management, user and team collaboration, and workflow
automation
22. They just behaved monolithic
Inefficient to manage
Change on one module -> repackage the whole thing
Slows down the development velocity -> conflicts coordination,approval
Delays in identifying the root cause of failures
Responsibility issues ,blame games on the environment.
23. Container = Docker?
Image format : Upload,Download,Share,Build.
API : Automating Creation,Deletion,Starting,Stopping.
28. Microservice that is built on containers
Many small, focused containers -> sophisticated
services
• Well defined APIs
• Independent languages & libraries
• Modular: easy maintenance + reuse
• Fault tolerant
• Scalable
• Immutable
29. Orchestration
Typically microservices are encapsulated
inside containers…
One:One relationship between a microservice
and a container Everyone’s container journey
starts with one container….
30. Kubernetes
Kubernetes is ancient Greek for "Helmsman". Root of the word "Governor",
"Cybernetics".
Kubernetes is a "Container Orchestrator" or "Cluster Manager".
● Places containers on nodes
● Recovers automatically from failure
● Basic monitoring, logging, health checking
● Enables containers to find each other.
31. Gaps today in the Dev to Production
● Multi-machine
● Discovery and Naming
● Scaling
● Multiple users
● Failure tolerance and recovery
● Monitoring
● Logging
● High availability
● Deployment lifecycle
● Load balancing
● etc, etc
32. Microservices are
● Microservice architecture – a variant of the service-oriented architecture
structural style – arranges an application as a collection of loosely-coupled
services. In a microservices architecture, services are fine-grained and the
protocols are lightweight.
● Split your application into small services that can be reused, remixed and
shared.
○ Enables smaller, nimble, decoupled teams and processes.
○ Better tooling enables and encourages microservices.
34. Development History
● Based on ideas proven at Google over 10 years
● Everything at Google runs in a container.
● Google launches 2 billion containers per week.
● Part of a larger set of tools that make up the internal Google platform.
35. Kubernetes ts open source
● https://github.com/kubernetes/kubernetes
● Very active open source project
● 23k stars, 1400+ contributors
● Apache 2 licensed
● Written in Go
● Hosted by the Cloud Native Computing Foundation (CNCF)
36. Benefits
● Extend the container goodness across nodes.
● Enable operations specialization. Cluster Ops vs. App Ops
● Reduce cost to run many things in production. Enables new ways of building applications.
37. Benefits of Kubernetes
1. Intelligent Scheduling
2. Self-healing
3. Horizontal scaling
4. Service discovery & load balancing
5. Automated rollouts and rollbacks
6. Secret and configuration management