SlideShare a Scribd company logo
From chroot to Docker to Kubernetes
Alex Glikson aglikson@cs.cmu.edu
April 29th, 2019
* Trivia: in what year was chroot introduced?
CMU Cloud Workshop (Internal), April 29th, 2019 1
Outline
2
Background • Containers
• Cloud-Native Applications
K8s Overview • K8s In a Nutshell
• Architecture
Applications • Unit of Deployment: Pod
• Composite Applications
Ecosystem • K8s Open Source Community
• Commercial Ecosystem, CNCF
CMU Cloud Workshop (Internal), April 29th, 2019
Linux Containers
• Linux features providing isolation within a single OS:
o Hardware resources: cgroups
• CPU, RAM, I/O devices, etc
o OS resources: namespaces, e.g.:
• USER, PID, NET, MNT
• De-facto standard to efficiently run services/jobs at scale
o Enable workload consolidation, infrastructure elasticity
o Pioneered by Google (Linux features, massive internal use*)
• 2 billion containers per week! (>3000 per second on average)
3CMU Cloud Workshop (Internal), April 29th, 2019
Linux Containers – Implementations
• Example (open source) implementations:
o LXC, Cloud Foundry, Mesos, YARN, …
• Docker (Moby*)
o Targeting arbitrary applications, e.g. by offering:
• Flexible packaging
• Seamless inter-container network communication
• Configurable cluster-wide storage/network (SDN, NAS, etc)
o Developer-friendly
• Lightweight standalone engine
• Intuitive git-style image management
• Easy sharing and reuse of images - Docker Hub
4CMU Cloud Workshop (Internal), April 29th, 2019
Linux Containers – Popular Docker Images*
Programming LanguageData ProcessingWeb ServerOperating System
5
CMU Cloud Workshop (Internal), April 29th, 2019
Outline
6
Background  Containers
• Cloud-Native Applications
K8s Overview • K8s In a Nutshell
• Architecture
Applications • Unit of Deployment: Pod
• Composite Applications
Ecosystem • K8s Open Source Community
• Commercial Ecosystem, CNCF
CMU Cloud Workshop (Internal), April 29th, 2019
Cloud-Native Applications: Motivation
• Elasticity and ubiquity of cloud infrastructure enabled new
generation of applications, with a potential to disrupt their
markets, or to create new markets, e.g.:
o Netflix
o Airbnb
o Spotify
o Pinterest
o Snapchat
o Whatsapp
7CMU Cloud Workshop (Internal), April 29th, 2019
Cloud-Native Applications: Example, Requirements
• Example: Netflix
o Value proposition (competitive advantage):
• Low cost video streaming with superb user experience, at scale
o Application properties and unique requirements:
• >100 millions of users in 190 countries (most of them in the US)
– Vast variance in load, within minutes (evenings, campaigns, etc)
• 10s of thousands of servers
– At least one server will fail every day
• 1000s of daily application changes, across 100s of functions
– Video streaming, catalog, recommendations, subscription, etc
– ~1 update every minute
8CMU Cloud Workshop (Internal), April 29th, 2019
Cloud-Native Applications: Requirements  Design Principles
• Low Cost + Variance in Load (+User Experience)
o Can’t afford over- or under-provisioning  Auto-Scaling
• Hardware Failures + High Scale (+User Experience)
o Accommodate HW failures without downtime  Design for Failure
• Frequent Application Updates + High Scale (+User Experience)
o Can’t afford redeploying everything every time  Modularity
o Can’t afford testing everything every time  Stable Internal APIs
• Frequent Application Updates + Low Cost (+User Experience)
o Can’t afford manual QA/admin effort for each update  Automation
9CMU Cloud Workshop (Internal), April 29th, 2019
Cloud–Native Applications: Design  Common Services
Design Principle Common Service
Auto-Scaling
Horizontal Auto-Scaling
Elastic Load Balancing
Design for Failure Replication
Health Monitoring
Modularity
Decoupling into homogenous (micro)services*
Unified packaging (across dev/test/prod) with Docker
API-driven composition
Discovery
Routing
Automation
Fully programmable life cycle of components*
Observability (monitoring, tracing, etc)
10* not a serviceCMU Cloud Workshop (Internal), April 29th, 2019
Cloud–Native Applications: Platforms
• New platforms emerged, offering common services (features)
that make it easier to develop cloud-native applications
o Auto-scaling, replication, load balancing, health monitoring,
service discovery, application-level routing, programmability
o Commonly referred as ‘Platform as a Service’ (PaaS)
11
Google App Engine
Kubernetes
CMU Cloud Workshop (Internal), April 29th, 2019
12
Cloud-
Native
PaaS
+ =
Container-native
Platforms
(e.g., Kubernetes)
Docker
Pre-history
1979: chroot
Job scheduling
1999: VMware
2003: Xen
2004:
UnionFS
2006:
cgroups
2008:
LXC
2013:
Docker
2017:
moby
containerd
2004 2006 2008 2010 2012 2014 2016 2018
2006:
EC2
2012:
YARN
2011:
Mesos
200?:
Borg
2013:
Omega
2002:
ns
2011:
Cloud Foundry
AWS Beanstalk
OpenShift
2008:
GAE
2007:
Heroku 2014:
Kubernetes
2010:
Azure
CMU Cloud Workshop (Internal), April 29th, 2019
Outline
13
Background  Containers
 Cloud-Native Applications
K8s Overview • K8s In a Nutshell
• Architecture
Applications • Unit of Deployment: Pod
• Composite Applications
Ecosystem • K8s Open Source Community
• Commercial Ecosystem, CNCF
CMU Cloud Workshop (Internal), April 29th, 2019
Kubernetes (k8s):
Open-Source, Cloud-Native & Container-Based Platform
Open source platform for
deployment and management of
arbitrary container-based, cloud-native
applications on clusters of servers
14
• Originally developed by Google,
based on Borg and Omega ideas
• Available to all on github.com
• As of 02’2019: ~2000 contributors
• Common Services
• Programmable
• Extensible
Physical or virtual, public or private
cloud (e.g., EC2,OpenStack)
• Specification
• Provisioning
• Monitoring
• Logging
• HA
• Scaling
• Updates
Packaging and runtime
isolation using Docker
• Auto-Scaling
• Design for Failure
• Modularity, APIs
• Automation
CMU Cloud Workshop (Internal), April 29th, 2019
Kubernetes in a Nutshell
15
https://www.youtube.com/embed/4ht22ReBjno?start=0&end=220&autoplay=1
CMU Cloud Workshop (Internal), April 29th, 2019
Kubernetes in a Nutshell
16CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Kubernetes Architecture
17
Inspired by: https://x-team.com/blog/introduction-kubernetes-architecture/
Master Node
API Server
DB Proxy
ControllersControllersControllers
DB
(etcd)
Scheduler
Worker Node
Docker
…Pod Pod Pod
kubelet
Worker Node
Docker
…Pod Pod Pod
kubelet
kubectl, dashboard, SDKs
CMU Cloud Workshop (Internal), April 29th, 2019
Outline
18
Background  Containers
 Cloud-Native Applications
K8s Overview  K8s In a Nutshell
 Architecture
Applications • Unit of Deployment: Pod
• Composite Applications
Ecosystem • K8s Open Source Community
• Commercial Ecosystem, CNCF
CMU Cloud Workshop (Internal), April 29th, 2019
Pod: One or More Containers + Resources + Labels
Why Multi-Container Pods?
• Scaling/replication unit: runtime
components that must run together
• Sidecar pattern: “secondary” functions
deployed in separate containers
– e.g., web content synchronization
• Ambassador/Proxy pattern: simplify
access to an external system
– e.g., key-value store
• Adapter pattern: simplify access from
an external system
– e.g., monitoring
• Source: https://www.usenix.org/node/196347
19
Source: https://www.slideshare.net/ssuser6bb12d/kubernetes-
introduction-71846110
Containers in a Pod often share (some) namespaces
Labels
app: myApp
Horse +
saddle
CMU Cloud Workshop (Internal), April 29th, 2019
Event-Driven Architecture in k8s: Pod Creation
20
Source: https://blog.heptio.com/core-kubernetes-jazz-improv-over-orchestration-a7903ea92ca
From Pods to Applications: Deployment, Replica Set
• Goal: Maintain a given number of replica’s of a given Pod
o HA, load balancing
• Example: NGiNX web server
21
Pod
template
Containers specification
Resource type
Desired # of replicas
Reference by labels
nginx.yml
Polo
team
Replica Set
properties
CMU Cloud Workshop (Internal), April 29th, 2019
Surfacing Applications to Users: Service
• Goal: Maintain a given number of replica’s of a given Pod
o HA, load balancing
• Example: NGiNX web server
22
Pod
template
Resource type
Port mapping
Reference by labels
“Deployment”
resource
“Service”
resource
Polo
team
CMU Cloud Workshop (Internal), April 29th, 2019
Another Example of Composite Application Type: Job
• Goal: enforce policies for execution and completion of groups
of tasks (batch jobs, scheduled jobs)
23
Relay
race
CMU Cloud Workshop (Internal), April 29th, 2019
Composite Application Types in Kubernetes
• Deployment (Replica Set)
o Maintains a given number of replica’s of a given Pod
• High availability, load balancing
• Daemon Set
o Runs exactly one instance of a given Pod on every node
• Access to unique host resources, load balancing
• Stateful Set
o Maintains a scalable collection of Pods with unique roles
• Persistent resource and identities
• Job
o Enforces policies for execution and completion of groups of tasks (e.g., MPI)
• Controlled parallelism, work queues, schedule-based execution, etc
• Custom
• Your own
24
Polo
team
Life
guard
Goal
keeper
Relay team
CMU Cloud Workshop (Internal), April 29th, 2019
Outline
25
Background  Containers
 Cloud-Native Applications
K8s Overview  K8s In a Nutshell
 Architecture
Applications  Unit of Deployment: Pod
 Composite Applications
Ecosystem • K8s Open Source Community
• Commercial Ecosystem, CNCF
CMU Cloud Workshop (Internal), April 29th, 2019
• One of the most vibrant projects on Github
o 48K stars, 16K forks, 44K PRs, 75K commits, 2000 contributors
https://github.com/kubernetes/kubernetes/pulse/monthly
Kubernetes: Open Source Project and Community
26
9 lines of code
per minute
CMU Cloud Workshop (Internal), April 29th, 2019
Kubernetes: Commercial Ecosystem
• Governed by Cloud Native Computing Foundation (CNCF)
o Industry-wide consensus among leading (and competing) companies
•
• Multiple commercial Kubernetes products and hosted offerings
o On prem (Red Hat, IBM, CoreOS, etc), Public (Google GKE, Amazon EKS,
Azure AKS, etc), Multi-Cloud (Google Anthos, Spotinst Ocean)
27CMU Cloud Workshop (Internal), April 29th, 2019
CNCF Project (https://www.cncf.io/)
28CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Graduated
CNCF Project (https://www.cncf.io/)
29CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
Incubating
Sandbox
QUESTIONS?
30CMU Cloud Workshop (Internal), April 29th, 2019

More Related Content

PDF
Cloud-Native Application and Kubernetes
PDF
Scaling notebooks for Deep Learning workloads
PPTX
Cloud computing: highlights
PPTX
S104 twist and cloud
PPTX
Moby KubeCon 2017
PDF
Leveraging Multiple Cloud Orchestration
PDF
Leveraging Multiple Cloud Orchestration
PDF
Ai pipelines powered by jupyter notebooks
Cloud-Native Application and Kubernetes
Scaling notebooks for Deep Learning workloads
Cloud computing: highlights
S104 twist and cloud
Moby KubeCon 2017
Leveraging Multiple Cloud Orchestration
Leveraging Multiple Cloud Orchestration
Ai pipelines powered by jupyter notebooks

Similar to From chroot to Docker to Kubernetes (20)

PPTX
CNCF Introduction - Feb 2018
PDF
Modern big data and machine learning in the era of cloud, docker and kubernetes
PDF
An overview of the Kubernetes architecture
PPTX
Why is Kubernetes considered the next generation application platform
PDF
Container-Based Platforms and Kubernetes
PDF
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
PDF
KubeCon CloudNativeCon 2016 Seattle - a report
PPTX
Building Cloud-Native Applications in MiCADO - MiCADO webinar No.2/4 - 09/2019
PDF
Journey to Containerized Application / Google Container Engine
PDF
Kubernetes design principles, patterns and ecosystem
PDF
Kubecon seattle 2018 recap - Application Deployment aspects
PDF
Flying in the cloud
PDF
OpenShift 4, the smarter Kubernetes platform
PDF
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
PPTX
Kubernetes - 7 lessons learned from 7 data centers in 7 months
PDF
How to Contribute to Cloud Native Computing Foundation
PDF
How to contribute to cloud native computing foundation (CNCF)
PDF
Presentation introduction to cloud computing and technical issues
PDF
Running containers in production, the ING story
PDF
Containers, OCI, CNCF, Magnum, Kuryr, and You!
CNCF Introduction - Feb 2018
Modern big data and machine learning in the era of cloud, docker and kubernetes
An overview of the Kubernetes architecture
Why is Kubernetes considered the next generation application platform
Container-Based Platforms and Kubernetes
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
KubeCon CloudNativeCon 2016 Seattle - a report
Building Cloud-Native Applications in MiCADO - MiCADO webinar No.2/4 - 09/2019
Journey to Containerized Application / Google Container Engine
Kubernetes design principles, patterns and ecosystem
Kubecon seattle 2018 recap - Application Deployment aspects
Flying in the cloud
OpenShift 4, the smarter Kubernetes platform
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Kubernetes - 7 lessons learned from 7 data centers in 7 months
How to Contribute to Cloud Native Computing Foundation
How to contribute to cloud native computing foundation (CNCF)
Presentation introduction to cloud computing and technical issues
Running containers in production, the ING story
Containers, OCI, CNCF, Magnum, Kuryr, and You!
Ad

More from Alex Glikson (7)

PDF
DevOpsDaysTLV24 - Spot Workload Optimization ML.pdf
PPTX
AWS Re:Invented
PPTX
Serverless Compute Platforms on Kubernetes
PDF
Mixing bare-metal and virtualized workloads on OpenStack - 2014
PPTX
Serverless, IoT and OpenWhisk
PDF
Going Serverless with OpenWhisk
PDF
The Serverless Paradigm, OpenWhisk and FIWARE
DevOpsDaysTLV24 - Spot Workload Optimization ML.pdf
AWS Re:Invented
Serverless Compute Platforms on Kubernetes
Mixing bare-metal and virtualized workloads on OpenStack - 2014
Serverless, IoT and OpenWhisk
Going Serverless with OpenWhisk
The Serverless Paradigm, OpenWhisk and FIWARE
Ad

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Approach and Philosophy of On baking technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
sap open course for s4hana steps from ECC to s4
PPT
Teaching material agriculture food technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Cloud computing and distributed systems.
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Building Integrated photovoltaic BIPV_UPV.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Big Data Technologies - Introduction.pptx
Approach and Philosophy of On baking technology
MIND Revenue Release Quarter 2 2025 Press Release
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Machine learning based COVID-19 study performance prediction
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Network Security Unit 5.pdf for BCA BBA.
A comparative analysis of optical character recognition models for extracting...
Spectral efficient network and resource selection model in 5G networks
sap open course for s4hana steps from ECC to s4
Teaching material agriculture food technology
Per capita expenditure prediction using model stacking based on satellite ima...
Cloud computing and distributed systems.
Reach Out and Touch Someone: Haptics and Empathic Computing
Diabetes mellitus diagnosis method based random forest with bat algorithm

From chroot to Docker to Kubernetes

  • 1. From chroot to Docker to Kubernetes Alex Glikson aglikson@cs.cmu.edu April 29th, 2019 * Trivia: in what year was chroot introduced? CMU Cloud Workshop (Internal), April 29th, 2019 1
  • 2. Outline 2 Background • Containers • Cloud-Native Applications K8s Overview • K8s In a Nutshell • Architecture Applications • Unit of Deployment: Pod • Composite Applications Ecosystem • K8s Open Source Community • Commercial Ecosystem, CNCF CMU Cloud Workshop (Internal), April 29th, 2019
  • 3. Linux Containers • Linux features providing isolation within a single OS: o Hardware resources: cgroups • CPU, RAM, I/O devices, etc o OS resources: namespaces, e.g.: • USER, PID, NET, MNT • De-facto standard to efficiently run services/jobs at scale o Enable workload consolidation, infrastructure elasticity o Pioneered by Google (Linux features, massive internal use*) • 2 billion containers per week! (>3000 per second on average) 3CMU Cloud Workshop (Internal), April 29th, 2019
  • 4. Linux Containers – Implementations • Example (open source) implementations: o LXC, Cloud Foundry, Mesos, YARN, … • Docker (Moby*) o Targeting arbitrary applications, e.g. by offering: • Flexible packaging • Seamless inter-container network communication • Configurable cluster-wide storage/network (SDN, NAS, etc) o Developer-friendly • Lightweight standalone engine • Intuitive git-style image management • Easy sharing and reuse of images - Docker Hub 4CMU Cloud Workshop (Internal), April 29th, 2019
  • 5. Linux Containers – Popular Docker Images* Programming LanguageData ProcessingWeb ServerOperating System 5 CMU Cloud Workshop (Internal), April 29th, 2019
  • 6. Outline 6 Background  Containers • Cloud-Native Applications K8s Overview • K8s In a Nutshell • Architecture Applications • Unit of Deployment: Pod • Composite Applications Ecosystem • K8s Open Source Community • Commercial Ecosystem, CNCF CMU Cloud Workshop (Internal), April 29th, 2019
  • 7. Cloud-Native Applications: Motivation • Elasticity and ubiquity of cloud infrastructure enabled new generation of applications, with a potential to disrupt their markets, or to create new markets, e.g.: o Netflix o Airbnb o Spotify o Pinterest o Snapchat o Whatsapp 7CMU Cloud Workshop (Internal), April 29th, 2019
  • 8. Cloud-Native Applications: Example, Requirements • Example: Netflix o Value proposition (competitive advantage): • Low cost video streaming with superb user experience, at scale o Application properties and unique requirements: • >100 millions of users in 190 countries (most of them in the US) – Vast variance in load, within minutes (evenings, campaigns, etc) • 10s of thousands of servers – At least one server will fail every day • 1000s of daily application changes, across 100s of functions – Video streaming, catalog, recommendations, subscription, etc – ~1 update every minute 8CMU Cloud Workshop (Internal), April 29th, 2019
  • 9. Cloud-Native Applications: Requirements  Design Principles • Low Cost + Variance in Load (+User Experience) o Can’t afford over- or under-provisioning  Auto-Scaling • Hardware Failures + High Scale (+User Experience) o Accommodate HW failures without downtime  Design for Failure • Frequent Application Updates + High Scale (+User Experience) o Can’t afford redeploying everything every time  Modularity o Can’t afford testing everything every time  Stable Internal APIs • Frequent Application Updates + Low Cost (+User Experience) o Can’t afford manual QA/admin effort for each update  Automation 9CMU Cloud Workshop (Internal), April 29th, 2019
  • 10. Cloud–Native Applications: Design  Common Services Design Principle Common Service Auto-Scaling Horizontal Auto-Scaling Elastic Load Balancing Design for Failure Replication Health Monitoring Modularity Decoupling into homogenous (micro)services* Unified packaging (across dev/test/prod) with Docker API-driven composition Discovery Routing Automation Fully programmable life cycle of components* Observability (monitoring, tracing, etc) 10* not a serviceCMU Cloud Workshop (Internal), April 29th, 2019
  • 11. Cloud–Native Applications: Platforms • New platforms emerged, offering common services (features) that make it easier to develop cloud-native applications o Auto-scaling, replication, load balancing, health monitoring, service discovery, application-level routing, programmability o Commonly referred as ‘Platform as a Service’ (PaaS) 11 Google App Engine Kubernetes CMU Cloud Workshop (Internal), April 29th, 2019
  • 12. 12 Cloud- Native PaaS + = Container-native Platforms (e.g., Kubernetes) Docker Pre-history 1979: chroot Job scheduling 1999: VMware 2003: Xen 2004: UnionFS 2006: cgroups 2008: LXC 2013: Docker 2017: moby containerd 2004 2006 2008 2010 2012 2014 2016 2018 2006: EC2 2012: YARN 2011: Mesos 200?: Borg 2013: Omega 2002: ns 2011: Cloud Foundry AWS Beanstalk OpenShift 2008: GAE 2007: Heroku 2014: Kubernetes 2010: Azure CMU Cloud Workshop (Internal), April 29th, 2019
  • 13. Outline 13 Background  Containers  Cloud-Native Applications K8s Overview • K8s In a Nutshell • Architecture Applications • Unit of Deployment: Pod • Composite Applications Ecosystem • K8s Open Source Community • Commercial Ecosystem, CNCF CMU Cloud Workshop (Internal), April 29th, 2019
  • 14. Kubernetes (k8s): Open-Source, Cloud-Native & Container-Based Platform Open source platform for deployment and management of arbitrary container-based, cloud-native applications on clusters of servers 14 • Originally developed by Google, based on Borg and Omega ideas • Available to all on github.com • As of 02’2019: ~2000 contributors • Common Services • Programmable • Extensible Physical or virtual, public or private cloud (e.g., EC2,OpenStack) • Specification • Provisioning • Monitoring • Logging • HA • Scaling • Updates Packaging and runtime isolation using Docker • Auto-Scaling • Design for Failure • Modularity, APIs • Automation CMU Cloud Workshop (Internal), April 29th, 2019
  • 15. Kubernetes in a Nutshell 15 https://www.youtube.com/embed/4ht22ReBjno?start=0&end=220&autoplay=1 CMU Cloud Workshop (Internal), April 29th, 2019
  • 16. Kubernetes in a Nutshell 16CMU CS 15719 Advanced Cloud Computing S19February 25, 2019
  • 17. Kubernetes Architecture 17 Inspired by: https://x-team.com/blog/introduction-kubernetes-architecture/ Master Node API Server DB Proxy ControllersControllersControllers DB (etcd) Scheduler Worker Node Docker …Pod Pod Pod kubelet Worker Node Docker …Pod Pod Pod kubelet kubectl, dashboard, SDKs CMU Cloud Workshop (Internal), April 29th, 2019
  • 18. Outline 18 Background  Containers  Cloud-Native Applications K8s Overview  K8s In a Nutshell  Architecture Applications • Unit of Deployment: Pod • Composite Applications Ecosystem • K8s Open Source Community • Commercial Ecosystem, CNCF CMU Cloud Workshop (Internal), April 29th, 2019
  • 19. Pod: One or More Containers + Resources + Labels Why Multi-Container Pods? • Scaling/replication unit: runtime components that must run together • Sidecar pattern: “secondary” functions deployed in separate containers – e.g., web content synchronization • Ambassador/Proxy pattern: simplify access to an external system – e.g., key-value store • Adapter pattern: simplify access from an external system – e.g., monitoring • Source: https://www.usenix.org/node/196347 19 Source: https://www.slideshare.net/ssuser6bb12d/kubernetes- introduction-71846110 Containers in a Pod often share (some) namespaces Labels app: myApp Horse + saddle CMU Cloud Workshop (Internal), April 29th, 2019
  • 20. Event-Driven Architecture in k8s: Pod Creation 20 Source: https://blog.heptio.com/core-kubernetes-jazz-improv-over-orchestration-a7903ea92ca
  • 21. From Pods to Applications: Deployment, Replica Set • Goal: Maintain a given number of replica’s of a given Pod o HA, load balancing • Example: NGiNX web server 21 Pod template Containers specification Resource type Desired # of replicas Reference by labels nginx.yml Polo team Replica Set properties CMU Cloud Workshop (Internal), April 29th, 2019
  • 22. Surfacing Applications to Users: Service • Goal: Maintain a given number of replica’s of a given Pod o HA, load balancing • Example: NGiNX web server 22 Pod template Resource type Port mapping Reference by labels “Deployment” resource “Service” resource Polo team CMU Cloud Workshop (Internal), April 29th, 2019
  • 23. Another Example of Composite Application Type: Job • Goal: enforce policies for execution and completion of groups of tasks (batch jobs, scheduled jobs) 23 Relay race CMU Cloud Workshop (Internal), April 29th, 2019
  • 24. Composite Application Types in Kubernetes • Deployment (Replica Set) o Maintains a given number of replica’s of a given Pod • High availability, load balancing • Daemon Set o Runs exactly one instance of a given Pod on every node • Access to unique host resources, load balancing • Stateful Set o Maintains a scalable collection of Pods with unique roles • Persistent resource and identities • Job o Enforces policies for execution and completion of groups of tasks (e.g., MPI) • Controlled parallelism, work queues, schedule-based execution, etc • Custom • Your own 24 Polo team Life guard Goal keeper Relay team CMU Cloud Workshop (Internal), April 29th, 2019
  • 25. Outline 25 Background  Containers  Cloud-Native Applications K8s Overview  K8s In a Nutshell  Architecture Applications  Unit of Deployment: Pod  Composite Applications Ecosystem • K8s Open Source Community • Commercial Ecosystem, CNCF CMU Cloud Workshop (Internal), April 29th, 2019
  • 26. • One of the most vibrant projects on Github o 48K stars, 16K forks, 44K PRs, 75K commits, 2000 contributors https://github.com/kubernetes/kubernetes/pulse/monthly Kubernetes: Open Source Project and Community 26 9 lines of code per minute CMU Cloud Workshop (Internal), April 29th, 2019
  • 27. Kubernetes: Commercial Ecosystem • Governed by Cloud Native Computing Foundation (CNCF) o Industry-wide consensus among leading (and competing) companies • • Multiple commercial Kubernetes products and hosted offerings o On prem (Red Hat, IBM, CoreOS, etc), Public (Google GKE, Amazon EKS, Azure AKS, etc), Multi-Cloud (Google Anthos, Spotinst Ocean) 27CMU Cloud Workshop (Internal), April 29th, 2019
  • 28. CNCF Project (https://www.cncf.io/) 28CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 Graduated
  • 29. CNCF Project (https://www.cncf.io/) 29CMU CS 15719 Advanced Cloud Computing S19February 25, 2019 Incubating Sandbox
  • 30. QUESTIONS? 30CMU Cloud Workshop (Internal), April 29th, 2019

Editor's Notes

  • #6: Alpine Linux, Apache, Redis, Busybox, Ubuntu, Mongo, Golang, Elasticsearch, Wordpress, Python, Logstash
  • #17: Fibi
  • #20: Horse with saddle
  • #22: Polo team
  • #24: Relay race
  • #25: Polo team, Logstash, Life guards, goal keeper, relay race team