SlideShare a Scribd company logo
An Introduction to
Kubernetes
Imesh Gunaratne
Product Lead, WSO2 Private PaaS
Committer & PMC Member, Apache Stratos
Agenda
ā— Linux Containers
ā— Docker
ā— Kubernetes
ā— Kubernetes Architecture
ā— Kubernetes Demo
Linux Containers
Linux Containers
Linux Container Brief for IEEE WG P2302, Boden Russell
Linux Containers
An operating system–level virtualization
method for running multiple isolated Linux
systems (containers) on a single control host.
http://en.wikipedia.org/wiki/LXC
Linux Kernel Features used by Linux
Containers
ā— Namespaces
(mnt, pid, net, ipc, uts/hostname, user ids)
ā— cgroups
(cpu, memory, disk, i/o - resource management)
ā— AppArmor, SELinux
(security/access control)
ā— seccomp
(computation isolation)
ā— chroot
(file system isolation)
http://www.slideshare.net/imesh/evoluation-of-linux-container-virtualization
LXC Engine: A Hypervisor for
Containers
Linux Container Brief for IEEE WG P2302, Boden Russell
More about Linux Containers
https://linuxcontainers.org
An Introduction to Kubernetes
Docker
ā— A platform for managing Linux Containers
ā— Began as an open-source implementation of
the deployment engine which powers
dotCloud
ā— Started in March, 2013
ā— Provided an easy to use API and powerful
container image management features
ā— Attracted the community very fast
https://github.com/docker/docker/blob/master/README.md
Docker is built on
ā— cgroup and namespacing capabilities of
the Linux kernel
ā— Go programming language
(written in Go)
ā— Docker Image Specification
(for container image management)
ā— Libcontainer Specification
(namespaces, filesystem, resources, security, etc)
https://github.com/docker/docker/blob/master/README.md
Virtual Machines Vs Docker
https://www.docker.com/whatisdocker/
Docker Architecture
Enterprise Docker, Adrien BLIND, Aurelien GABET, Arnaud MAZIN
Docker Image Structure
https://docs.docker.com/terms/image/
Docker - Hello World
# Get one base Docker image
>docker pull ubuntu
# List Docker images available
>docker images
# Run hello world
>docker run ubuntu:14.04 echo "hello world"
Docker Paris Meetup, Victor Vieux, dotCloud Inc
Detached mode
# Run hello world in detached mode (-d)
>docker run -d ubuntu sh -c "while true; do echo
hello world; sleep 1; done"
# Get container’s ID
>docker ps
# Attach to the container
>docker attach <container-id>
# Stop/start/restart the container
>docker stop <container-id>
Docker Paris Meetup, Victor Vieux, dotCloud Inc
Problems with standalone Docker
Load Balancer
Docker Containers
Docker Host
ā— Running a server cluster on a set of Docker containers,
on a single Docker host is vulnerable to single point of
failure!
Kubernetes
Kubernetes
ā— Kubernetes is a platform for hosting Docker
containers in a clustered environment with
multiple Docker hosts
ā— Provides container grouping, load
balancing, auto-healing, scaling features
ā— Project was started by Google
ā— Contributors == Google, CodeOS, Redhat,
Mesosphere, Microsoft, HP, IBM, VMWare,
Pivotal, SaltStack, etc
Key Concepts of Kubernetes
ā— Pod - A group of Containers
ā— Labels - Labels for identifying pods
ā— Kubelet - Container Agent
ā— Proxy - A load balancer for Pods
ā— etcd - A metadata service
ā— cAdvisor - Container Advisor provides resource
usage/performance statistics
ā— Replication Controller - Manages replication
of pods
ā— Scheduler - Schedules pods in worker nodes
ā— API Server - Kubernetes API server
Kubernetes Architecture
Overlay Network: 10.1.0.0/16
(Flannel, Open vSwitch, etc)
Kubernetes
Master
Kubernetes
Minion 1
Kubernetes
Minion 2
Kubernetes
Minion n
Service Network:
172.17.8.0/24
etcd
Docker
Registry
API
Replication
Controllers
Scheduler
Kubelet Proxy
cAdvisor Pods
Docker A Docker B
Kubernetes Master
Kubernetes Master
Kubelet Info Service
API Scheduler Replication Controllers
Kubernetes Minion (Worker Node)
Kubernetes Minion
Kubelet
Proxy
Pod 1 Pod 2 Pod n
cAdvisor
ContainersContainersContainers
ContainersContainersContainers
ContainersContainersContainers
Kubernetes
Services
Kubernetes
Services
Kubernetes
Services
Kubernetes Component Architecture
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/DESIGN.md
Kubernetes Demo
References
ā— http://en.wikipedia.org/wiki/Virtualization
ā— http://en.wikipedia.org/wiki/Hypervisor
ā— http://en.wikipedia.org/wiki/LXC
ā— http://www.cs.ucsb.edu/~rich/class/cs290-
cloud/papers/lxc-namespace.pdf
ā— http://en.wikipedia.org/wiki/Cgroups
ā— http://en.wikipedia.org/wiki/AppArmor
ā— http://en.wikipedia.org/wiki/Security-Enhanced_Linux
ā— http://www.lorien.ch/server/chroot.html
References
ā— SELinux for Everyday Users, PaulWay
ā— http://en.wikipedia.org/wiki/Seccomp
ā— http://en.wikipedia.org/wiki/Chroot
ā— Linux Container Brief for IEEE WG P2302, Boden
Russell
ā— http://kubernetes.io/
ā— https://www.youtube.com/watch?v=Fcb4aoSAZ98
ā— http://www.slideshare.net/enakai/architecture-
overview-kubernetes-with-red-hat-enterprise-linux-71

More Related Content

What's hot (20)

PPTX
Everything You Need To Know About Persistent Storage in Kubernetes
The {code} Team
Ā 
PDF
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
Ā 
PPTX
DevOps with Kubernetes
EastBanc Tachnologies
Ā 
PDF
Kubernetes - A Comprehensive Overview
Bob Killen
Ā 
PDF
Kubernetes Architecture and Introduction
Stefan Schimanski
Ā 
PDF
Kubernetes Introduction
Peng Xiao
Ā 
PDF
Introduction to Kubernetes Workshop
Bob Killen
Ā 
PDF
Kubernetes dealing with storage and persistence
Janakiram MSV
Ā 
PDF
Kubernetes
erialc_w
Ā 
PDF
Kubernetes 101
Crevise Technologies
Ā 
PPTX
01. Kubernetes-PPT.pptx
TamalBanerjee16
Ā 
PDF
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
Ā 
PPTX
Kubernetes Introduction
Eric Gustafson
Ā 
PDF
Helm - Application deployment management for Kubernetes
Alexei Ledenev
Ā 
PDF
Kubernetes - introduction
Sparkbit
Ā 
ODP
Kubernetes Architecture
Knoldus Inc.
Ā 
PDF
What Is Helm
AMELIAOLIVIA2
Ā 
PDF
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Michael O'Sullivan
Ā 
PDF
(Draft) Kubernetes - A Comprehensive Overview
Bob Killen
Ā 
PDF
Kubernetes architecture
Janakiram MSV
Ā 
Everything You Need To Know About Persistent Storage in Kubernetes
The {code} Team
Ā 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
Ā 
DevOps with Kubernetes
EastBanc Tachnologies
Ā 
Kubernetes - A Comprehensive Overview
Bob Killen
Ā 
Kubernetes Architecture and Introduction
Stefan Schimanski
Ā 
Kubernetes Introduction
Peng Xiao
Ā 
Introduction to Kubernetes Workshop
Bob Killen
Ā 
Kubernetes dealing with storage and persistence
Janakiram MSV
Ā 
Kubernetes
erialc_w
Ā 
Kubernetes 101
Crevise Technologies
Ā 
01. Kubernetes-PPT.pptx
TamalBanerjee16
Ā 
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
Ā 
Kubernetes Introduction
Eric Gustafson
Ā 
Helm - Application deployment management for Kubernetes
Alexei Ledenev
Ā 
Kubernetes - introduction
Sparkbit
Ā 
Kubernetes Architecture
Knoldus Inc.
Ā 
What Is Helm
AMELIAOLIVIA2
Ā 
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Michael O'Sullivan
Ā 
(Draft) Kubernetes - A Comprehensive Overview
Bob Killen
Ā 
Kubernetes architecture
Janakiram MSV
Ā 

Viewers also liked (15)

PPTX
OpenShift Enterprise 3.1 vs kubernetes
Samuel Terburg
Ā 
PDF
Cluster management with Kubernetes
Satnam Singh
Ā 
PPTX
Introduction to Kubernetes
rajdeep
Ā 
PPTX
Containerizing GPU Applications with Docker for Scaling to the Cloud
Subbu Rama
Ā 
PDF
Tesla Accelerated Computing Platform
inside-BigData.com
Ā 
PDF
Continuous Delivery & Integration with JBoss Fuse on Openshift
Charles Moulliard
Ā 
PDF
Package your Java EE Application using Docker and Kubernetes
Arun Gupta
Ā 
PPT
Building Clustered Applications with Kubernetes and Docker
Steve Watt
Ā 
PDF
Red Hat OpenShift Container Platform Overview
James Falkner
Ā 
PDF
Microservices with Docker, Kubernetes, and Jenkins
Red Hat Developers
Ā 
PPTX
DevNexus 2015: Kubernetes & Container Engine
Kit Merker
Ā 
PDF
Red Hat Container Strategy
Red Hat Events
Ā 
PDF
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Etsuji Nakai
Ā 
PPTX
Why Docker
dotCloud
Ā 
PDF
Resilient microservices with Kubernetes - Mete Atamel
ITCamp
Ā 
OpenShift Enterprise 3.1 vs kubernetes
Samuel Terburg
Ā 
Cluster management with Kubernetes
Satnam Singh
Ā 
Introduction to Kubernetes
rajdeep
Ā 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Subbu Rama
Ā 
Tesla Accelerated Computing Platform
inside-BigData.com
Ā 
Continuous Delivery & Integration with JBoss Fuse on Openshift
Charles Moulliard
Ā 
Package your Java EE Application using Docker and Kubernetes
Arun Gupta
Ā 
Building Clustered Applications with Kubernetes and Docker
Steve Watt
Ā 
Red Hat OpenShift Container Platform Overview
James Falkner
Ā 
Microservices with Docker, Kubernetes, and Jenkins
Red Hat Developers
Ā 
DevNexus 2015: Kubernetes & Container Engine
Kit Merker
Ā 
Red Hat Container Strategy
Red Hat Events
Ā 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Etsuji Nakai
Ā 
Why Docker
dotCloud
Ā 
Resilient microservices with Kubernetes - Mete Atamel
ITCamp
Ā 
Ad

Similar to An Introduction to Kubernetes (20)

PDF
Evolution of Linux Containerization
WSO2
Ā 
PDF
Evoluation of Linux Container Virtualization
Imesh Gunaratne
Ā 
PDF
Revolutionizing the cloud with container virtualization
WSO2
Ā 
PPTX
Docker and kubernetes_introduction
Jason Hu
Ā 
PDF
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2
Ā 
PDF
Kubernetes in Docker
docker-athens
Ā 
PDF
Kubernetes in Docker
Docker, Inc.
Ā 
PDF
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Imesh Gunaratne
Ā 
PDF
Containerize! Between Docker and Jube.
Henryk Konsek
Ā 
PPTX
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2
Ā 
PDF
Container orchestration
Timo Derstappen
Ā 
PDF
Containerized Delivery on the Microsoft Stack
Cornell Knulst
Ā 
PDF
Docker+java
DPC Consulting Ltd
Ā 
PDF
Workshop : 45 minutes pour comprendre Docker avec JƩrƓme Petazzoni
TheFamily
Ā 
PDF
Introduction to Docker, December 2014 "Tour de France" Edition
JƩrƓme Petazzoni
Ā 
PDF
Containers kuberenetes
csegayan
Ā 
PPTX
Containers and Cloud: From LXC to Docker to Kubernetes
Shreyas MM
Ā 
PPTX
Academy PRO: Docker. Part 1
Binary Studio
Ā 
PPTX
Containers kuberenetes
Gayan Gunarathne
Ā 
PPTX
Containers kuberenetes
Gayan Gunarathne
Ā 
Evolution of Linux Containerization
WSO2
Ā 
Evoluation of Linux Container Virtualization
Imesh Gunaratne
Ā 
Revolutionizing the cloud with container virtualization
WSO2
Ā 
Docker and kubernetes_introduction
Jason Hu
Ā 
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2
Ā 
Kubernetes in Docker
docker-athens
Ā 
Kubernetes in Docker
Docker, Inc.
Ā 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Imesh Gunaratne
Ā 
Containerize! Between Docker and Jube.
Henryk Konsek
Ā 
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2
Ā 
Container orchestration
Timo Derstappen
Ā 
Containerized Delivery on the Microsoft Stack
Cornell Knulst
Ā 
Docker+java
DPC Consulting Ltd
Ā 
Workshop : 45 minutes pour comprendre Docker avec JƩrƓme Petazzoni
TheFamily
Ā 
Introduction to Docker, December 2014 "Tour de France" Edition
JƩrƓme Petazzoni
Ā 
Containers kuberenetes
csegayan
Ā 
Containers and Cloud: From LXC to Docker to Kubernetes
Shreyas MM
Ā 
Academy PRO: Docker. Part 1
Binary Studio
Ā 
Containers kuberenetes
Gayan Gunarathne
Ā 
Containers kuberenetes
Gayan Gunarathne
Ā 
Ad

More from Imesh Gunaratne (20)

PDF
Planning WSO2 Deployments on Pivotal Cloud Foundry
Imesh Gunaratne
Ā 
PDF
Planning WSO2 Deployments on DC/OS
Imesh Gunaratne
Ā 
PDF
Deep Dive into Kubernetes - Part 2
Imesh Gunaratne
Ā 
PDF
Deep Dive into Kubernetes - Part 1
Imesh Gunaratne
Ā 
PDF
WSO2 Container Strategy
Imesh Gunaratne
Ā 
PDF
WSO2 API Manager Reference Architecture for DC/OS
Imesh Gunaratne
Ā 
PDF
WSO2 API Manager Reference Architecture for Pivotal Cloud Foundry
Imesh Gunaratne
Ā 
PDF
WSO2 Kubernetes Reference Architecture - Nov 2017
Imesh Gunaratne
Ā 
PDF
WSO2 Cloud and Platform as a Service Strategy
Imesh Gunaratne
Ā 
PDF
Planning Your Cloud Strategy
Imesh Gunaratne
Ā 
PDF
Deploying WSO2 Middleware on Containers
Imesh Gunaratne
Ā 
PDF
Multitenancy in WSO2 Carbon 5 (C5)
Imesh Gunaratne
Ā 
PDF
Deploying WSO2 Middleware on Mesos
Imesh Gunaratne
Ā 
PDF
Deploying WSO2 Middleware on Kubernetes
Imesh Gunaratne
Ā 
PDF
Service Oriented Architecture & Beyond
Imesh Gunaratne
Ā 
PDF
Docker for Java Developers
Imesh Gunaratne
Ā 
PDF
WSO2 Cloud Strategy Update
Imesh Gunaratne
Ā 
PDF
An Introduction to Go
Imesh Gunaratne
Ā 
PDF
Scale into Multi-Cloud with Containers
Imesh Gunaratne
Ā 
PDF
Making a Better World with Technology Innovations
Imesh Gunaratne
Ā 
Planning WSO2 Deployments on Pivotal Cloud Foundry
Imesh Gunaratne
Ā 
Planning WSO2 Deployments on DC/OS
Imesh Gunaratne
Ā 
Deep Dive into Kubernetes - Part 2
Imesh Gunaratne
Ā 
Deep Dive into Kubernetes - Part 1
Imesh Gunaratne
Ā 
WSO2 Container Strategy
Imesh Gunaratne
Ā 
WSO2 API Manager Reference Architecture for DC/OS
Imesh Gunaratne
Ā 
WSO2 API Manager Reference Architecture for Pivotal Cloud Foundry
Imesh Gunaratne
Ā 
WSO2 Kubernetes Reference Architecture - Nov 2017
Imesh Gunaratne
Ā 
WSO2 Cloud and Platform as a Service Strategy
Imesh Gunaratne
Ā 
Planning Your Cloud Strategy
Imesh Gunaratne
Ā 
Deploying WSO2 Middleware on Containers
Imesh Gunaratne
Ā 
Multitenancy in WSO2 Carbon 5 (C5)
Imesh Gunaratne
Ā 
Deploying WSO2 Middleware on Mesos
Imesh Gunaratne
Ā 
Deploying WSO2 Middleware on Kubernetes
Imesh Gunaratne
Ā 
Service Oriented Architecture & Beyond
Imesh Gunaratne
Ā 
Docker for Java Developers
Imesh Gunaratne
Ā 
WSO2 Cloud Strategy Update
Imesh Gunaratne
Ā 
An Introduction to Go
Imesh Gunaratne
Ā 
Scale into Multi-Cloud with Containers
Imesh Gunaratne
Ā 
Making a Better World with Technology Innovations
Imesh Gunaratne
Ā 

Recently uploaded (20)

PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
Ā 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
Ā 
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
Ā 
PPTX
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
Ā 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
Ā 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
Ā 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
Ā 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
Ā 
PDF
ģœ ė‹ˆķ‹°ģ—ģ„œ Burst Compiler+ThreadedJobs+SIMD ģ ģš©ģ‚¬ė”€
Seongdae Kim
Ā 
PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
Ā 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
Ā 
PPTX
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
Ā 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
Ā 
PPTX
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
Ā 
PPTX
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
Ā 
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
Ā 
PPT
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
Ā 
PPTX
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
Ā 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
Ā 
PPTX
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
Ā 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
Ā 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
Ā 
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
Ā 
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
Ā 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
Ā 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
Ā 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
Ā 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
Ā 
ģœ ė‹ˆķ‹°ģ—ģ„œ Burst Compiler+ThreadedJobs+SIMD ģ ģš©ģ‚¬ė”€
Seongdae Kim
Ā 
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
Ā 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
Ā 
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
Ā 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
Ā 
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
Ā 
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
Ā 
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
Ā 
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
Ā 
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
Ā 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
Ā 
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
Ā 

An Introduction to Kubernetes

  • 1. An Introduction to Kubernetes Imesh Gunaratne Product Lead, WSO2 Private PaaS Committer & PMC Member, Apache Stratos
  • 2. Agenda ā— Linux Containers ā— Docker ā— Kubernetes ā— Kubernetes Architecture ā— Kubernetes Demo
  • 4. Linux Containers Linux Container Brief for IEEE WG P2302, Boden Russell
  • 5. Linux Containers An operating system–level virtualization method for running multiple isolated Linux systems (containers) on a single control host. http://en.wikipedia.org/wiki/LXC
  • 6. Linux Kernel Features used by Linux Containers ā— Namespaces (mnt, pid, net, ipc, uts/hostname, user ids) ā— cgroups (cpu, memory, disk, i/o - resource management) ā— AppArmor, SELinux (security/access control) ā— seccomp (computation isolation) ā— chroot (file system isolation) http://www.slideshare.net/imesh/evoluation-of-linux-container-virtualization
  • 7. LXC Engine: A Hypervisor for Containers Linux Container Brief for IEEE WG P2302, Boden Russell
  • 8. More about Linux Containers https://linuxcontainers.org
  • 10. Docker ā— A platform for managing Linux Containers ā— Began as an open-source implementation of the deployment engine which powers dotCloud ā— Started in March, 2013 ā— Provided an easy to use API and powerful container image management features ā— Attracted the community very fast https://github.com/docker/docker/blob/master/README.md
  • 11. Docker is built on ā— cgroup and namespacing capabilities of the Linux kernel ā— Go programming language (written in Go) ā— Docker Image Specification (for container image management) ā— Libcontainer Specification (namespaces, filesystem, resources, security, etc) https://github.com/docker/docker/blob/master/README.md
  • 12. Virtual Machines Vs Docker https://www.docker.com/whatisdocker/
  • 13. Docker Architecture Enterprise Docker, Adrien BLIND, Aurelien GABET, Arnaud MAZIN
  • 15. Docker - Hello World # Get one base Docker image >docker pull ubuntu # List Docker images available >docker images # Run hello world >docker run ubuntu:14.04 echo "hello world" Docker Paris Meetup, Victor Vieux, dotCloud Inc
  • 16. Detached mode # Run hello world in detached mode (-d) >docker run -d ubuntu sh -c "while true; do echo hello world; sleep 1; done" # Get container’s ID >docker ps # Attach to the container >docker attach <container-id> # Stop/start/restart the container >docker stop <container-id> Docker Paris Meetup, Victor Vieux, dotCloud Inc
  • 17. Problems with standalone Docker Load Balancer Docker Containers Docker Host ā— Running a server cluster on a set of Docker containers, on a single Docker host is vulnerable to single point of failure!
  • 19. Kubernetes ā— Kubernetes is a platform for hosting Docker containers in a clustered environment with multiple Docker hosts ā— Provides container grouping, load balancing, auto-healing, scaling features ā— Project was started by Google ā— Contributors == Google, CodeOS, Redhat, Mesosphere, Microsoft, HP, IBM, VMWare, Pivotal, SaltStack, etc
  • 20. Key Concepts of Kubernetes ā— Pod - A group of Containers ā— Labels - Labels for identifying pods ā— Kubelet - Container Agent ā— Proxy - A load balancer for Pods ā— etcd - A metadata service ā— cAdvisor - Container Advisor provides resource usage/performance statistics ā— Replication Controller - Manages replication of pods ā— Scheduler - Schedules pods in worker nodes ā— API Server - Kubernetes API server
  • 21. Kubernetes Architecture Overlay Network: 10.1.0.0/16 (Flannel, Open vSwitch, etc) Kubernetes Master Kubernetes Minion 1 Kubernetes Minion 2 Kubernetes Minion n Service Network: 172.17.8.0/24 etcd Docker Registry API Replication Controllers Scheduler Kubelet Proxy cAdvisor Pods Docker A Docker B
  • 22. Kubernetes Master Kubernetes Master Kubelet Info Service API Scheduler Replication Controllers
  • 23. Kubernetes Minion (Worker Node) Kubernetes Minion Kubelet Proxy Pod 1 Pod 2 Pod n cAdvisor ContainersContainersContainers ContainersContainersContainers ContainersContainersContainers Kubernetes Services Kubernetes Services Kubernetes Services
  • 26. References ā— http://en.wikipedia.org/wiki/Virtualization ā— http://en.wikipedia.org/wiki/Hypervisor ā— http://en.wikipedia.org/wiki/LXC ā— http://www.cs.ucsb.edu/~rich/class/cs290- cloud/papers/lxc-namespace.pdf ā— http://en.wikipedia.org/wiki/Cgroups ā— http://en.wikipedia.org/wiki/AppArmor ā— http://en.wikipedia.org/wiki/Security-Enhanced_Linux ā— http://www.lorien.ch/server/chroot.html
  • 27. References ā— SELinux for Everyday Users, PaulWay ā— http://en.wikipedia.org/wiki/Seccomp ā— http://en.wikipedia.org/wiki/Chroot ā— Linux Container Brief for IEEE WG P2302, Boden Russell ā— http://kubernetes.io/ ā— https://www.youtube.com/watch?v=Fcb4aoSAZ98 ā— http://www.slideshare.net/enakai/architecture- overview-kubernetes-with-red-hat-enterprise-linux-71