SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Networking & Storage Deep Dive
Ken Thompson
Senior Cloud Solution Architect
Melbourne Docker Meetup - October 2015
KUBERNETES: THE HELMSMEN
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive2
Agenda
Kubernetes Deep Dive
● Kubernetes Networking
● Kubernetes Persistent Volumes
● Live Demos:
– Persistent Storage
– Something Fun!...
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive3
Container orchestration at scale
KUBERNETES
● Scale workloads across a cluster of
container hosts
● Declarative state of environment
that gets managed
● Intelligent policy-based scheduling
● Multi-host networking support (with
OpenShift-SDN/OvSwitch etc.)
● Multi-host shared storage for
containers
● Image update mechanisms (with
OpenShift Deployment Configs -
rolling update, a-b, etc.)
Melbourne Docker Meetup Oct 2015 - K
ubernetes Networking & Storage Deep
Dive
4
KUBERNETES DEEP DIVE:
NETWORKING
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive5
DOCKER IN-HOST NETWORKING
Suitable for single-host, not for multi-host
● Docker assigns an IP to each
container
● Its local and private only by default
● Complex for multi-host
● Plugins starting to become available
● Now we have a container..hold on!
– What happens If we want to
have containers sharing
filesystem
– Or IPC communications
– Or localhost communications
(mysql & phpmyadmin for eg.)
eth0
Linux bridge: docker0: 172.17.42.1/16
vethXXX
172.17.x.x/16
container
eth0
vethXXX
172.17.x.y/16
container
eth0
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive6
KUBERNETES IN-HOST NETWORKING
Kubernetes Pods
● Pods (aka gears in OSE v2)
– Pod typically runs only one
container for independent scaling,
with exceptions such as “sidecars”.
Ie. MySQL & phpMyAdmin
– Same IP / network namespace
– Same IPC
– Ability to share disk
– Scheduled on same machine
– Atomic unit
– Can listen (to other containers)on
127.0.0.1 or 0.0.0.0
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive7
INTER-HOST NETWORKING
Solutions Available
PROGRAMMABLE
INFRA
● GCE – each host gets a
subnet of 256 Ips
● AWS 40-100 Ips per
host
● Custom enterprise
networking
OVERLAY NETWORKS
● Flannel (ie. Atomic
Host) – subnet with
simple overlay.
● Others solutions
available like Weave,
etc.
Open vSwitch
● OpenStack
● Very large
deployments
● Programmable
● OpenShift-SDN uses
this
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive8
● Kubernetes assigns 10.1.x.0/24 subnet to pods in each node
● Gateway IP 10.1.x.1 is assigned to lbr0
● Out of the box with OpenShift, Open vSwitch VXLAN overlay is used to connect nodes/pods
● Flat network, allow subdivision via flows
OPENSHIFT-SDN NETWORKING
OVS: br0
vxlan0
eth0
vovsbr
Linux bridge: lbr0: 10.1.0.1/24
vlinuxbr
veth pair
vethXXX
Pod
10.1.0.2
eth0
vethXXX
Pod
10.1.0.3
eth0VXLAN
VXLAN overlay
OVS: br0
vxlan0
eth0
vovsbr
Linux bridge: lbr0: 10.1.1.1/24
vlinuxbr
veth pair
vethXXX
Pod
10.1.1.2
eth0
vethXXX
Pod
10.1.1.3
eth0
10.1.1.0/24
VXLAN
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive9
● OpenShift-SDN or similar overlays allow communications within a cluster, but how do
access from outside; ie. WWW?
● Router Pod – Runs HAproxy, proxies incoming traffic through SDN – HTTP/S Only
OPENSHIFT-SDN ROUTING
Melbourne Docker Meetup Oct 2015 - K
ubernetes Networking & Storage Deep
Dive
10
KUBERNETES DEEP DIVE:
STORAGE
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive11
DOCKER STORAGE CONSTRAINTS KUBERNETES GOALS
CONTAINER STORAGE
1) Containers are ephemeral
(stateless), once they disappear, so
does the data
2) You can mount the host filesystem,
but
1) What about loss of host?
2) How do you scale across
1000s of hosts?
3) How is this data shared?
1) Allow administrators to describe
available storage
2) Allow application developers to
discover and request persistent
storage
3) Persistent storage should be
available without being closely
bound to a particular disk, server,
network or storage device
4) Support iSCSI, NFS, EBS, Gluster,
Ceph… and many more!
Problem Statement
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive12
PERSISTENT VOLUME CLAIMS
● Admins add PVs to cluster [1]
● Like Pods, PVClaims live in a
namespace
● Pods [3] and Pvclaims [2] are
requests for resources by users
● Users request resources with
limits, like cpu usage by a
container or storage capacity of a
volume [2]
● OpenShift binds requests to
available resources
● Multiple access modes
(RWO,ROM,RWM)
Requests for storage
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: myclaim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
kind: Pod
apiVersion: v1
metadata:
name: mypod
spec:
containers:
- name: myfrontend
image: dockerfile/nginx
volumeMounts:
- mountPath: "/var/www/html"
name: mypd
volumes:
- name: mypd
persistentVolumeClaim:
claimName: myclaim
POST:
kind: PersistentVolume
apiVersion: v1
metadata:
name: pv0001
spec:
capacity:
storage: 10
nfs:
Server: srv.com
path: /data/path
1 2
3
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive13
DB
Host 1 Host 2
Storage Pool
Kubernetes Persistent Volumes
CONTAINER STORAGE
mysql-claim
pv0001
Network Storage NFSiSCSI EBS RBD
2. Dev “Claims” PV
1. Admin creates PV
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive14
DB
Host 1 Host 2
DB
What happens to a container & its storage when a node is lost?
CONTAINER STORAGE
Storage Pool
mysql-claim
pv0001
Network Storage NFSiSCSI EBS RBD
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive15
What happens to a container & its storage when a node is lost?
CONTAINER STORAGE
DB
Host 1 Host 2
DB
Storage Pool
mysql-claim
pv0001
Network Storage NFSiSCSI EBS RBD
Melbourne Docker Meetup Oct 2015 - K
ubernetes Networking & Storage Deep
Dive
16
Storage Demo
(https://github.com/openshift/origin/tree/master/examples/wordpress)
&
HexBoard Demo
(https://www.youtube.com/watch?v=wWNVpFibayA&feature=youtu.be&t=24m25s)
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive17
Free Kubernetes eBook
OpenShift Enterprise Test-Drive
(Free 8 hour Environment on AWS)
Questions?
http://red.ht/1NbW2wi http://red.ht/1MQVgqb
Plus some great ways to get started with Kubernetes...
Melbourne Docker Meetup Oct 2015 - K
ubernetes Networking & Storage Deep
Dive
18
APPENDIX
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive19
WHAT ARE LINUX CONTAINERS?
Software packaging concept that typically includes an application and all of
its runtime dependencies
● Easy to deploy and portable
across host systems
● Isolates applications on a
host operating system
● In RHEL, this is done through:
● Control Groups (cgroups)
● Kernel namespaces
● SELinux, sVirt, iptables
● Docker
HOST OS
SERVER
CONTAINER
LIBS
APP
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive20
TRADITIONAL OS VS. CONTAINERS
Traditional OS Containers
HARDWARE
HOST OS
HARDWARE
HOST OS
CONTAINER
LIBS
APP A
LIBS A LIBS B LIBS LIBS
APP A APP B
CONTAINER
LIBS
APP B
Packaged dependencies = faster boot times + greater portability
Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive21
Developers can access OpenShift via Web, CLI or IDE
OPENSHIFT 3
Turn-key solution for Developer Productivity + Container Orchestration

Más contenido relacionado

La actualidad más candente

Openshift: The power of kubernetes for engineers - Riga Dev Days 18
Openshift: The power of kubernetes for engineers - Riga Dev Days 18Openshift: The power of kubernetes for engineers - Riga Dev Days 18
Openshift: The power of kubernetes for engineers - Riga Dev Days 18Jorge Morales
 
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...OpenShift Origin
 
Build a PaaS with OpenShift Origin
Build a PaaS with OpenShift OriginBuild a PaaS with OpenShift Origin
Build a PaaS with OpenShift OriginSteven Pousty
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014Hojoong Kim
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftSerhat Dirik
 
DEVNET-1183 OpenShift + Kubernetes + Docker
DEVNET-1183	OpenShift + Kubernetes + DockerDEVNET-1183	OpenShift + Kubernetes + Docker
DEVNET-1183 OpenShift + Kubernetes + DockerCisco DevNet
 
A Dive Into Containers and Docker
A Dive Into Containers and DockerA Dive Into Containers and Docker
A Dive Into Containers and DockerMatthew Farina
 
Red Hat OpenShift Operators - Operators ABC
Red Hat OpenShift Operators - Operators ABCRed Hat OpenShift Operators - Operators ABC
Red Hat OpenShift Operators - Operators ABCRobert Bohne
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)Eric D. Schabell
 
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4Robert Bohne
 
Using Open Source and Open Standards in the Platform game
Using Open Source and Open Standards in the Platform gameUsing Open Source and Open Standards in the Platform game
Using Open Source and Open Standards in the Platform gamePatrick Chanezon
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in DockerDocker, Inc.
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 

La actualidad más candente (20)

Openshift: The power of kubernetes for engineers - Riga Dev Days 18
Openshift: The power of kubernetes for engineers - Riga Dev Days 18Openshift: The power of kubernetes for engineers - Riga Dev Days 18
Openshift: The power of kubernetes for engineers - Riga Dev Days 18
 
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
 
Build a PaaS with OpenShift Origin
Build a PaaS with OpenShift OriginBuild a PaaS with OpenShift Origin
Build a PaaS with OpenShift Origin
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
OpenShift Enterprise
OpenShift EnterpriseOpenShift Enterprise
OpenShift Enterprise
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
 
DEVNET-1183 OpenShift + Kubernetes + Docker
DEVNET-1183	OpenShift + Kubernetes + DockerDEVNET-1183	OpenShift + Kubernetes + Docker
DEVNET-1183 OpenShift + Kubernetes + Docker
 
A Dive Into Containers and Docker
A Dive Into Containers and DockerA Dive Into Containers and Docker
A Dive Into Containers and Docker
 
DevOps @ OpenShift Online
DevOps @ OpenShift OnlineDevOps @ OpenShift Online
DevOps @ OpenShift Online
 
Red Hat OpenShift Operators - Operators ABC
Red Hat OpenShift Operators - Operators ABCRed Hat OpenShift Operators - Operators ABC
Red Hat OpenShift Operators - Operators ABC
 
Openshift presentation
Openshift presentationOpenshift presentation
Openshift presentation
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
 
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
 
Using Open Source and Open Standards in the Platform game
Using Open Source and Open Standards in the Platform gameUsing Open Source and Open Standards in the Platform game
Using Open Source and Open Standards in the Platform game
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
From Code to Kubernetes
From Code to KubernetesFrom Code to Kubernetes
From Code to Kubernetes
 
Kubernetes basics and hands on exercise
Kubernetes basics and hands on exerciseKubernetes basics and hands on exercise
Kubernetes basics and hands on exercise
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 

Destacado

Scalable Python with Docker, Kubernetes, OpenShift
Scalable Python with Docker, Kubernetes, OpenShiftScalable Python with Docker, Kubernetes, OpenShift
Scalable Python with Docker, Kubernetes, OpenShiftAarno Aukia
 
fabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShiftfabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShiftroland.huss
 
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and KubernetesAchieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and KubernetesDean Delamont
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesSamuel Terburg
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Kai Wähner
 
Feature Engineering
Feature EngineeringFeature Engineering
Feature EngineeringHJ van Veen
 

Destacado (8)

Scalable Python with Docker, Kubernetes, OpenShift
Scalable Python with Docker, Kubernetes, OpenShiftScalable Python with Docker, Kubernetes, OpenShift
Scalable Python with Docker, Kubernetes, OpenShift
 
fabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShiftfabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShift
 
Cloud computing stack
Cloud computing stackCloud computing stack
Cloud computing stack
 
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and KubernetesAchieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
 
Serverless on Kubernetes
Serverless on KubernetesServerless on Kubernetes
Serverless on Kubernetes
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
 
Feature Engineering
Feature EngineeringFeature Engineering
Feature Engineering
 

Similar a Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive

Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesVishal Biyani
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Henryk Konsek
 
Introducing Kubernetes
Introducing Kubernetes Introducing Kubernetes
Introducing Kubernetes VikRam S
 
Kubernetes for Java developers
Kubernetes for Java developersKubernetes for Java developers
Kubernetes for Java developersRobert Barr
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesRonny Trommer
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationHank Preston
 
Managing Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayManaging Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayQiming Teng
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on OpenstackDocker, Inc.
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectPatrick Chanezon
 
Webinar container management in OpenStack
Webinar container management in OpenStackWebinar container management in OpenStack
Webinar container management in OpenStackCREATE-NET
 
Containers and Kubernetes -Notes Leo
Containers and Kubernetes -Notes LeoContainers and Kubernetes -Notes Leo
Containers and Kubernetes -Notes LeoLéopold Gault
 
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
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
 
Persistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFSPersistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFSHumble Chirammal
 
Open stackaustinmeetupsept21
Open stackaustinmeetupsept21Open stackaustinmeetupsept21
Open stackaustinmeetupsept21Brent Doncaster
 
Kubernetes Bangalore Meetup- July 2017
Kubernetes Bangalore Meetup- July 2017Kubernetes Bangalore Meetup- July 2017
Kubernetes Bangalore Meetup- July 2017OpenEBS
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introductionJason Hu
 
A guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on KubernetesA guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on Kubernetest8kobayashi
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopBob Killen
 

Similar a Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive (20)

Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Introducing Kubernetes
Introducing Kubernetes Introducing Kubernetes
Introducing Kubernetes
 
Kubernetes for Java developers
Kubernetes for Java developersKubernetes for Java developers
Kubernetes for Java developers
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
 
Managing Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayManaging Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native Way
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
 
Webinar container management in OpenStack
Webinar container management in OpenStackWebinar container management in OpenStack
Webinar container management in OpenStack
 
Containers and Kubernetes -Notes Leo
Containers and Kubernetes -Notes LeoContainers and Kubernetes -Notes Leo
Containers and Kubernetes -Notes Leo
 
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
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
 
Persistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFSPersistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFS
 
Open stackaustinmeetupsept21
Open stackaustinmeetupsept21Open stackaustinmeetupsept21
Open stackaustinmeetupsept21
 
Kubernetes Bangalore Meetup- July 2017
Kubernetes Bangalore Meetup- July 2017Kubernetes Bangalore Meetup- July 2017
Kubernetes Bangalore Meetup- July 2017
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
 
A guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on KubernetesA guide of PostgreSQL on Kubernetes
A guide of PostgreSQL on Kubernetes
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 

Último

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 

Último (20)

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 

Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive

  • 1. Networking & Storage Deep Dive Ken Thompson Senior Cloud Solution Architect Melbourne Docker Meetup - October 2015 KUBERNETES: THE HELMSMEN
  • 2. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive2 Agenda Kubernetes Deep Dive ● Kubernetes Networking ● Kubernetes Persistent Volumes ● Live Demos: – Persistent Storage – Something Fun!...
  • 3. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive3 Container orchestration at scale KUBERNETES ● Scale workloads across a cluster of container hosts ● Declarative state of environment that gets managed ● Intelligent policy-based scheduling ● Multi-host networking support (with OpenShift-SDN/OvSwitch etc.) ● Multi-host shared storage for containers ● Image update mechanisms (with OpenShift Deployment Configs - rolling update, a-b, etc.)
  • 4. Melbourne Docker Meetup Oct 2015 - K ubernetes Networking & Storage Deep Dive 4 KUBERNETES DEEP DIVE: NETWORKING
  • 5. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive5 DOCKER IN-HOST NETWORKING Suitable for single-host, not for multi-host ● Docker assigns an IP to each container ● Its local and private only by default ● Complex for multi-host ● Plugins starting to become available ● Now we have a container..hold on! – What happens If we want to have containers sharing filesystem – Or IPC communications – Or localhost communications (mysql & phpmyadmin for eg.) eth0 Linux bridge: docker0: 172.17.42.1/16 vethXXX 172.17.x.x/16 container eth0 vethXXX 172.17.x.y/16 container eth0
  • 6. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive6 KUBERNETES IN-HOST NETWORKING Kubernetes Pods ● Pods (aka gears in OSE v2) – Pod typically runs only one container for independent scaling, with exceptions such as “sidecars”. Ie. MySQL & phpMyAdmin – Same IP / network namespace – Same IPC – Ability to share disk – Scheduled on same machine – Atomic unit – Can listen (to other containers)on 127.0.0.1 or 0.0.0.0
  • 7. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive7 INTER-HOST NETWORKING Solutions Available PROGRAMMABLE INFRA ● GCE – each host gets a subnet of 256 Ips ● AWS 40-100 Ips per host ● Custom enterprise networking OVERLAY NETWORKS ● Flannel (ie. Atomic Host) – subnet with simple overlay. ● Others solutions available like Weave, etc. Open vSwitch ● OpenStack ● Very large deployments ● Programmable ● OpenShift-SDN uses this
  • 8. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive8 ● Kubernetes assigns 10.1.x.0/24 subnet to pods in each node ● Gateway IP 10.1.x.1 is assigned to lbr0 ● Out of the box with OpenShift, Open vSwitch VXLAN overlay is used to connect nodes/pods ● Flat network, allow subdivision via flows OPENSHIFT-SDN NETWORKING OVS: br0 vxlan0 eth0 vovsbr Linux bridge: lbr0: 10.1.0.1/24 vlinuxbr veth pair vethXXX Pod 10.1.0.2 eth0 vethXXX Pod 10.1.0.3 eth0VXLAN VXLAN overlay OVS: br0 vxlan0 eth0 vovsbr Linux bridge: lbr0: 10.1.1.1/24 vlinuxbr veth pair vethXXX Pod 10.1.1.2 eth0 vethXXX Pod 10.1.1.3 eth0 10.1.1.0/24 VXLAN
  • 9. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive9 ● OpenShift-SDN or similar overlays allow communications within a cluster, but how do access from outside; ie. WWW? ● Router Pod – Runs HAproxy, proxies incoming traffic through SDN – HTTP/S Only OPENSHIFT-SDN ROUTING
  • 10. Melbourne Docker Meetup Oct 2015 - K ubernetes Networking & Storage Deep Dive 10 KUBERNETES DEEP DIVE: STORAGE
  • 11. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive11 DOCKER STORAGE CONSTRAINTS KUBERNETES GOALS CONTAINER STORAGE 1) Containers are ephemeral (stateless), once they disappear, so does the data 2) You can mount the host filesystem, but 1) What about loss of host? 2) How do you scale across 1000s of hosts? 3) How is this data shared? 1) Allow administrators to describe available storage 2) Allow application developers to discover and request persistent storage 3) Persistent storage should be available without being closely bound to a particular disk, server, network or storage device 4) Support iSCSI, NFS, EBS, Gluster, Ceph… and many more! Problem Statement
  • 12. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive12 PERSISTENT VOLUME CLAIMS ● Admins add PVs to cluster [1] ● Like Pods, PVClaims live in a namespace ● Pods [3] and Pvclaims [2] are requests for resources by users ● Users request resources with limits, like cpu usage by a container or storage capacity of a volume [2] ● OpenShift binds requests to available resources ● Multiple access modes (RWO,ROM,RWM) Requests for storage kind: PersistentVolumeClaim apiVersion: v1 metadata: name: myclaim spec: accessModes: - ReadWriteOnce resources: requests: storage: 8Gi kind: Pod apiVersion: v1 metadata: name: mypod spec: containers: - name: myfrontend image: dockerfile/nginx volumeMounts: - mountPath: "/var/www/html" name: mypd volumes: - name: mypd persistentVolumeClaim: claimName: myclaim POST: kind: PersistentVolume apiVersion: v1 metadata: name: pv0001 spec: capacity: storage: 10 nfs: Server: srv.com path: /data/path 1 2 3
  • 13. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive13 DB Host 1 Host 2 Storage Pool Kubernetes Persistent Volumes CONTAINER STORAGE mysql-claim pv0001 Network Storage NFSiSCSI EBS RBD 2. Dev “Claims” PV 1. Admin creates PV
  • 14. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive14 DB Host 1 Host 2 DB What happens to a container & its storage when a node is lost? CONTAINER STORAGE Storage Pool mysql-claim pv0001 Network Storage NFSiSCSI EBS RBD
  • 15. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive15 What happens to a container & its storage when a node is lost? CONTAINER STORAGE DB Host 1 Host 2 DB Storage Pool mysql-claim pv0001 Network Storage NFSiSCSI EBS RBD
  • 16. Melbourne Docker Meetup Oct 2015 - K ubernetes Networking & Storage Deep Dive 16 Storage Demo (https://github.com/openshift/origin/tree/master/examples/wordpress) & HexBoard Demo (https://www.youtube.com/watch?v=wWNVpFibayA&feature=youtu.be&t=24m25s)
  • 17. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive17 Free Kubernetes eBook OpenShift Enterprise Test-Drive (Free 8 hour Environment on AWS) Questions? http://red.ht/1NbW2wi http://red.ht/1MQVgqb Plus some great ways to get started with Kubernetes...
  • 18. Melbourne Docker Meetup Oct 2015 - K ubernetes Networking & Storage Deep Dive 18 APPENDIX
  • 19. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive19 WHAT ARE LINUX CONTAINERS? Software packaging concept that typically includes an application and all of its runtime dependencies ● Easy to deploy and portable across host systems ● Isolates applications on a host operating system ● In RHEL, this is done through: ● Control Groups (cgroups) ● Kernel namespaces ● SELinux, sVirt, iptables ● Docker HOST OS SERVER CONTAINER LIBS APP
  • 20. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive20 TRADITIONAL OS VS. CONTAINERS Traditional OS Containers HARDWARE HOST OS HARDWARE HOST OS CONTAINER LIBS APP A LIBS A LIBS B LIBS LIBS APP A APP B CONTAINER LIBS APP B Packaged dependencies = faster boot times + greater portability
  • 21. Melbourne Docker Meetup Oct 2015 - Kubernetes Networking & Storage Deep Dive21 Developers can access OpenShift via Web, CLI or IDE OPENSHIFT 3 Turn-key solution for Developer Productivity + Container Orchestration