An Introduction to Kubernetes

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
1 of 27

Recommended

Hands-On Introduction to Kubernetes at LISA17 by
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
1.1K views82 slides
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu... by
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Edureka!
2K views39 slides
DevOps with Kubernetes by
DevOps with KubernetesDevOps with Kubernetes
DevOps with KubernetesEastBanc Tachnologies
6.8K views45 slides
Kubernetes by
KubernetesKubernetes
Kuberneteserialc_w
3K views19 slides
Kubernetes Introduction by
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionEric Gustafson
1.9K views24 slides
Kubernetes 101 by
Kubernetes 101Kubernetes 101
Kubernetes 101Crevise Technologies
1.6K views38 slides

More Related Content

What's hot

Kubernetes Basics by
Kubernetes BasicsKubernetes Basics
Kubernetes BasicsEueung Mulyana
8K views40 slides
Kubernetes Introduction by
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionMartin Danielsson
10.6K views22 slides
Introduction to kubernetes by
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesRishabh Indoria
12.8K views146 slides
Docker and kubernetes by
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
5.6K views33 slides
Docker introduction by
Docker introductionDocker introduction
Docker introductiondotCloud
455.8K views29 slides
Kubernetes 101 for Beginners by
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for BeginnersOktay Esgul
1.1K views76 slides

What's hot(20)

Introduction to kubernetes by Rishabh Indoria
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Rishabh Indoria12.8K views
Docker and kubernetes by Dongwon Kim
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim5.6K views
Docker introduction by dotCloud
Docker introductionDocker introduction
Docker introduction
dotCloud455.8K views
Kubernetes 101 for Beginners by Oktay Esgul
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
Oktay Esgul1.1K views
Kubernetes Introduction by Peng Xiao
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao2.3K views
Evolution of containers to kubernetes by Krishna-Kumar
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
Krishna-Kumar 2.5K views
Kubernetes - introduction by Sparkbit
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
Sparkbit460 views
Introduction to Kubernetes Workshop by Bob Killen
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
Bob Killen4.7K views
A brief study on Kubernetes and its components by Ramit Surana
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its components
Ramit Surana5.8K views
Kubernetes a comprehensive overview by Gabriel Carro
Kubernetes   a comprehensive overviewKubernetes   a comprehensive overview
Kubernetes a comprehensive overview
Gabriel Carro181 views
Docker Introduction by Peng Xiao
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao1.5K views
Introduction to Kubernetes by rajdeep
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
rajdeep46.7K views
Understanding Kubernetes by Tu Pham
Understanding KubernetesUnderstanding Kubernetes
Understanding Kubernetes
Tu Pham1.9K views
Kubernetes - A Comprehensive Overview by Bob Killen
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
Bob Killen26.5K views
Kubernetes for Beginners: An Introductory Guide by Bytemark
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
Bytemark10.7K views

Viewers also liked

OpenShift Enterprise 3.1 vs kubernetes by
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesSamuel Terburg
42.1K views41 slides
Cluster management with Kubernetes by
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with KubernetesSatnam Singh
9.1K views69 slides
Containerizing GPU Applications with Docker for Scaling to the Cloud by
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudSubbu Rama
2.7K views33 slides
Tesla Accelerated Computing Platform by
Tesla Accelerated Computing PlatformTesla Accelerated Computing Platform
Tesla Accelerated Computing Platforminside-BigData.com
2.8K views41 slides
Continuous Delivery & Integration with JBoss Fuse on Openshift by
Continuous Delivery & Integration with JBoss Fuse on OpenshiftContinuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on OpenshiftCharles Moulliard
2.2K views38 slides
Package your Java EE Application using Docker and Kubernetes by
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesArun Gupta
27.1K views108 slides

Viewers also liked(15)

OpenShift Enterprise 3.1 vs kubernetes by Samuel Terburg
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
Samuel Terburg42.1K views
Cluster management with Kubernetes by Satnam Singh
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
Satnam Singh9.1K views
Containerizing GPU Applications with Docker for Scaling to the Cloud by Subbu Rama
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the Cloud
Subbu Rama2.7K views
Continuous Delivery & Integration with JBoss Fuse on Openshift by Charles Moulliard
Continuous Delivery & Integration with JBoss Fuse on OpenshiftContinuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on Openshift
Charles Moulliard2.2K views
Package your Java EE Application using Docker and Kubernetes by Arun Gupta
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
Arun Gupta27.1K views
Building Clustered Applications with Kubernetes and Docker by Steve Watt
Building Clustered Applications with Kubernetes and DockerBuilding Clustered Applications with Kubernetes and Docker
Building Clustered Applications with Kubernetes and Docker
Steve Watt4.8K views
Red Hat OpenShift Container Platform Overview by James Falkner
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
James Falkner16.3K views
Containers Anywhere with OpenShift by Red Hat by Amazon Web Services
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
Amazon Web Services9.3K views
Microservices with Docker, Kubernetes, and Jenkins by Red Hat Developers
Microservices with Docker, Kubernetes, and JenkinsMicroservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and Jenkins
Red Hat Developers6.6K views
DevNexus 2015: Kubernetes & Container Engine by Kit Merker
DevNexus 2015: Kubernetes & Container EngineDevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container Engine
Kit Merker4.6K views
Red Hat Container Strategy by Red Hat Events
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container Strategy
Red Hat Events4.9K views
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1 by Etsuji Nakai
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Etsuji Nakai15.6K views
Why Docker by dotCloud
Why DockerWhy Docker
Why Docker
dotCloud310.6K views
Resilient microservices with Kubernetes - Mete Atamel by ITCamp
Resilient microservices with Kubernetes - Mete AtamelResilient microservices with Kubernetes - Mete Atamel
Resilient microservices with Kubernetes - Mete Atamel
ITCamp2.6K views

Similar to An Introduction to Kubernetes

Evolution of Linux Containerization by
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization WSO2
2.4K views46 slides
Evoluation of Linux Container Virtualization by
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationImesh Gunaratne
4.2K views46 slides
Revolutionizing the cloud with container virtualization by
Revolutionizing the cloud with container virtualizationRevolutionizing the cloud with container virtualization
Revolutionizing the cloud with container virtualizationWSO2
2.6K views53 slides
Docker and kubernetes_introduction by
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introductionJason Hu
280 views46 slides
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker by
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & DockerWSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & DockerWSO2
811 views39 slides
Kubernetes in Docker by
Kubernetes in DockerKubernetes in Docker
Kubernetes in Dockerdocker-athens
3.2K views27 slides

Similar to An Introduction to Kubernetes(20)

Evolution of Linux Containerization by WSO2
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
WSO22.4K views
Evoluation of Linux Container Virtualization by Imesh Gunaratne
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
Imesh Gunaratne4.2K views
Revolutionizing the cloud with container virtualization by WSO2
Revolutionizing the cloud with container virtualizationRevolutionizing the cloud with container virtualization
Revolutionizing the cloud with container virtualization
WSO22.6K views
Docker and kubernetes_introduction by Jason Hu
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
Jason Hu280 views
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker by WSO2
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & DockerWSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2811 views
Kubernetes in Docker by Docker, Inc.
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
Docker, Inc.1.9K views
Revolutionizing WSO2 PaaS with Kubernetes & App Factory by Imesh Gunaratne
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Imesh Gunaratne5.9K views
Containerize! Between Docker and Jube. by Henryk Konsek
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
Henryk Konsek1.7K views
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory by WSO2
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2889 views
Containerized Delivery on the Microsoft Stack by Cornell Knulst
Containerized Delivery on the Microsoft StackContainerized Delivery on the Microsoft Stack
Containerized Delivery on the Microsoft Stack
Cornell Knulst219 views
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni by TheFamily
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
TheFamily1.4K views
Introduction to Docker, December 2014 "Tour de France" Edition by Jérôme Petazzoni
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
Jérôme Petazzoni3.8K views
Containers kuberenetes by csegayan
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
csegayan325 views
Containers and Cloud: From LXC to Docker to Kubernetes by Shreyas MM
Containers and Cloud: From LXC to Docker to KubernetesContainers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to Kubernetes
Shreyas MM3.7K views
Academy PRO: Docker. Part 1 by Binary Studio
Academy PRO: Docker. Part 1Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1
Binary Studio284 views

More from Imesh Gunaratne

Planning WSO2 Deployments on Pivotal Cloud Foundry by
Planning WSO2 Deployments on Pivotal Cloud FoundryPlanning WSO2 Deployments on Pivotal Cloud Foundry
Planning WSO2 Deployments on Pivotal Cloud FoundryImesh Gunaratne
663 views51 slides
Planning WSO2 Deployments on DC/OS by
Planning WSO2 Deployments on DC/OSPlanning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OSImesh Gunaratne
222 views31 slides
Deep Dive into Kubernetes - Part 2 by
Deep Dive into Kubernetes - Part 2Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2Imesh Gunaratne
1.7K views48 slides
Deep Dive into Kubernetes - Part 1 by
Deep Dive into Kubernetes - Part 1Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Imesh Gunaratne
1.2K views46 slides
WSO2 Container Strategy by
WSO2 Container StrategyWSO2 Container Strategy
WSO2 Container StrategyImesh Gunaratne
781 views42 slides
WSO2 API Manager Reference Architecture for DC/OS by
WSO2 API Manager Reference Architecture for DC/OSWSO2 API Manager Reference Architecture for DC/OS
WSO2 API Manager Reference Architecture for DC/OSImesh Gunaratne
550 views23 slides

More from Imesh Gunaratne(20)

Planning WSO2 Deployments on Pivotal Cloud Foundry by Imesh Gunaratne
Planning WSO2 Deployments on Pivotal Cloud FoundryPlanning WSO2 Deployments on Pivotal Cloud Foundry
Planning WSO2 Deployments on Pivotal Cloud Foundry
Imesh Gunaratne663 views
Planning WSO2 Deployments on DC/OS by Imesh Gunaratne
Planning WSO2 Deployments on DC/OSPlanning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OS
Imesh Gunaratne222 views
Deep Dive into Kubernetes - Part 2 by Imesh Gunaratne
Deep Dive into Kubernetes - Part 2Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2
Imesh Gunaratne1.7K views
Deep Dive into Kubernetes - Part 1 by Imesh Gunaratne
Deep Dive into Kubernetes - Part 1Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1
Imesh Gunaratne1.2K views
WSO2 API Manager Reference Architecture for DC/OS by Imesh Gunaratne
WSO2 API Manager Reference Architecture for DC/OSWSO2 API Manager Reference Architecture for DC/OS
WSO2 API Manager Reference Architecture for DC/OS
Imesh Gunaratne550 views
WSO2 API Manager Reference Architecture for Pivotal Cloud Foundry by Imesh Gunaratne
WSO2 API Manager Reference Architecture for Pivotal Cloud FoundryWSO2 API Manager Reference Architecture for Pivotal Cloud Foundry
WSO2 API Manager Reference Architecture for Pivotal Cloud Foundry
Imesh Gunaratne383 views
WSO2 Kubernetes Reference Architecture - Nov 2017 by Imesh Gunaratne
WSO2 Kubernetes Reference Architecture - Nov 2017WSO2 Kubernetes Reference Architecture - Nov 2017
WSO2 Kubernetes Reference Architecture - Nov 2017
Imesh Gunaratne2.9K views
WSO2 Cloud and Platform as a Service Strategy by Imesh Gunaratne
WSO2 Cloud and Platform as a Service StrategyWSO2 Cloud and Platform as a Service Strategy
WSO2 Cloud and Platform as a Service Strategy
Imesh Gunaratne842 views
Deploying WSO2 Middleware on Containers by Imesh Gunaratne
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on Containers
Imesh Gunaratne1.7K views
Multitenancy in WSO2 Carbon 5 (C5) by Imesh Gunaratne
Multitenancy in WSO2 Carbon 5 (C5)Multitenancy in WSO2 Carbon 5 (C5)
Multitenancy in WSO2 Carbon 5 (C5)
Imesh Gunaratne1.1K views
Deploying WSO2 Middleware on Kubernetes by Imesh Gunaratne
Deploying WSO2 Middleware on KubernetesDeploying WSO2 Middleware on Kubernetes
Deploying WSO2 Middleware on Kubernetes
Imesh Gunaratne4.1K views
Service Oriented Architecture & Beyond by Imesh Gunaratne
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
Imesh Gunaratne5K views
Scale into Multi-Cloud with Containers by Imesh Gunaratne
Scale into Multi-Cloud with ContainersScale into Multi-Cloud with Containers
Scale into Multi-Cloud with Containers
Imesh Gunaratne1.7K views
Making a Better World with Technology Innovations by Imesh Gunaratne
Making a Better World with Technology InnovationsMaking a Better World with Technology Innovations
Making a Better World with Technology Innovations
Imesh Gunaratne1.1K views

Recently uploaded

DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDeltares
7 views23 slides
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...Marc Müller
38 views62 slides
WebAssembly by
WebAssemblyWebAssembly
WebAssemblyJens Siebert
35 views18 slides
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDeltares
8 views17 slides
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Marc Müller
37 views83 slides
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... by
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...Deltares
6 views22 slides

Recently uploaded(20)

DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller37 views
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... by Deltares
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
Deltares6 views
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares12 views
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... by Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares6 views
What Can Employee Monitoring Software Do?​ by wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere21 views
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit... by Deltares
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
Deltares13 views
El Arte de lo Possible by Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j39 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views
Roadmap y Novedades de producto by Neo4j
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de producto
Neo4j50 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views

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