SlideShare a Scribd company logo
Orchestrating
Linux Containers
Flavio Castelli
Engineering Manager
fcastelli@suse.com
New development challenges
●
Release early, release often
●
Be flexible: react to changes quickly
●
Adoption of micro services architectures
●
Different cloud providers
●
Higher complexity of cloud environments
●
Hybrid cloud deployments
●
Application super portability
2
Let’s talk about
application containers...
3
Lightweight
4
Host
Composable
5
Host
App X
App Y
App Z
Getting serious...
6
Multi-host deployment
7
host-A host-B host-C
App X
App Y
App Z
eth0 eth0 eth0
Some of the challenges
●
Decide where to run each container
●
Monitor nodes and containers
●
Recover from failures
●
Service discovery
●
Expose services to external consumers
●
Handle secrets (eg: credentials, certificates, keys,…)
●
Handle data persistence
8
Container orchestration
engines
9
How can they help us?
●
No need to find the right placement for each container
●
No manual recovery from failures
●
Just declare a “desired state”
10
Desired state reconciliation
11
State description Current state
Compute actionsExecute actions
Manage applications,
not machines
12
Which one?
13
Docker Swarm
Kubernetes
●
Created by Google, now part of CNCF
●
Solid design
●
Big and active community
●
Opinionated solution, has an answer to most questions
14
Architecture
15
Scheduler
API server
Controller mgr
MasterMaster
etcdetcd
podpod
container
container
docker
kubelet kubeproxy
WorkerWorker
A concrete example
16
A simple web application
●
Guestbook application
●
Mongodb as database
●
Both running inside of dedicated containers
17
Self-healing
18
Challenge #1: self-healing
19
host-A host-B
mongo-01
eth0 eth0
Automatic recovery from failures,
enforce desired state
host-A host-B
eth0 eth0
mongo-01
Replica Set
●
Ensure that a specific number of “replicas” are running at any one
time
●
Recovery from failures
●
Automatic scaling
20
Service discovery
21
Challenge #2: service discovery
22
host-A host-B
gbook-01 mongo-01
eth0 eth0
Where is mongo?
host-A host-B
gbook-01 mongo-01
eth0 eth0
●
“mongo” container: producer
●
“gbook” container: consumer
Use DNS
●
Not a good solution:
– Containers can die/be moved somewhere more often
– Return DNS responses with a short TTL → more load on the
server
– Some clients ignore TTL → old entries are cached
Note well:
●
Docker < 1.11: updates /etc/hosts dynamically
●
Docker >= 1.11: integrates a DNS server
23
Key-value store
●
Rely on a key-value store (etcd, consul, zookeeper)
●
Producer register itself: IP, port #
●
Orchestration engine handles this data to the consumer
●
At run time either:
– Change your application to read data straight from the k/v
– Rely on some helper that exposes the values via environment file
or configuration file
24
Handing changes &
multiple choices
25
Challenge #3: react to changes
26
host-A host-B
gbook-01 mongo-01
eth0 eth0
host-C
eth0
“gbook” is already connected to “mongo”
Challenge #3: react to changes
27
host-A host-B
gbook-01 mongo-01
eth0 eth0
host-C
mongo-01
eth0
“gbook” points to to the old location → it’s broken
“mongo” is moved to another host → different IP
Challenge #3: react to changes
28
The link has to be reestablished
host-A host-B
gbook-01
eth0 eth0
host-C
mongo-01
eth0
Containers can be moved at any time:
●
The producer can be moved to a different host
●
The consumer should keep working
Challenge #4: multiple choices
29
Multiple instances of the “mongo” image
host-A host-B
gbook-01 mongo-01
eth0 eth0
host-C
mongo-01
eth0
Which mongo?
Workloads can be scaled:
● More instances of the same producer
● How to choose between all of them?
DIY solution
●
Use a load balancer
●
Point all the consumers to a load balancer
●
Expose the producer(s) using the load balancer
●
Configure the load balancer to react to changes
→ More moving parts
30
Kubernetes services
31
host-B
mongo-01
eth0
host-C
mongo-01
eth0
host-A
gbook-01
eth0
mongo
service
VIP
● Service gets a unique and stable Virtual IP Address
● VIP always points to one of the service containers
● Consumers are pointed to the VIP
● Can run in parallel to DNS for legacy applications
Ingress traffic
32
Challenge #5: publish applications
●
Your production application is running inside of a container
cluster
●
How to route customers’ requests to these containers?
●
How to react to changes (containers moved, scaling,…)?
33
Kubernetes’ approach
Services can be of three different types:
●
ClusterIP: virtual IP reachable only by containers inside of the
cluster
●
NodePort: “ClusterIP” + the service is exposed on all the
nodes of the cluster on a specific port →
<NodeIP>:<NodePort>
●
LoadBalancer: “NodePort” + k8s allocates a load balancer
using the underlying cloud provider. Then it configures it and it
keep it up-to-date
34
Ingress traffic flow
35
Load
balancer
http://guestbook.com
host-B
gbook-01
8081
blog-01
8080
host-A
gbook-01
80818080
host-C
8081
blog-01
8080
●
Load balancer picks a container host
●
Traffic is handled by the internal service
●
Works even when the node chosen by the load balancer is not running the
container
Data persistence
36
Challenge #6: stateful containers
●
Not all applications can offload data somewhere else
●
Some data should survive container death/relocation
37
Kubernetes Volumes
●
Built into kubernetes
●
They are like resources → scheduler is aware of them
●
Support different backends via dedicated drivers:
– NFS
– Ceph
– Cinder
– ...
38
Demo
39
Questions?
40
Orchestrating Linux Containers

More Related Content

What's hot (20)

PDF
Meetup 22 - 04 - Logging and Monitoring at scale on Kubernetes
Vietnam Open Infrastructure User Group
 
PDF
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker, Inc.
 
PDF
Introduction to Containers
Dharmit Shah
 
PDF
11th Docker Switzerland User Group Meetup
Philipp Grossenbacher
 
PDF
Getting Started with Containers
Scott Lowe
 
PDF
Virtualization Management The oVirt Way (August Penguin 2015)
Allon Mureinik
 
PPT
IstioD - From Microservices to Monolithic
All Things Open
 
PPTX
State of Builder and Buildkit by Tonis Tiigi (Docker)
Docker, Inc.
 
PPTX
Cloud Computing Security
Anshul Patel
 
PDF
Living with microservices at Pipedrive
Renno Reinurm
 
PDF
DockerCon EU 2015: What is it we want in containers anyway?
Docker, Inc.
 
PDF
Infrastructure-as-Code and CI Infrastructure at OpenStack
Andreas Jaeger
 
PDF
oVirt 4.3 highlights
Douglas Landgraf
 
PDF
OSDC 2018 | Self Hosted bare Metal Kubernetes for SMEs by Thomas Hoppe
NETWAYS
 
PDF
OpenNebulaConf 2016 - OpenNebula 5.0 Highlights and Beyond by Ruben S. Monter...
OpenNebula Project
 
PPTX
Containerd - core container runtime component
Docker, Inc.
 
PDF
OpenStack Boston Summit: Kuryr project updates
Antoni Segura Puimedon
 
PDF
Ansible 2.0 - How to use Ansible to automate your applications in AWS.
Idan Tohami
 
PDF
Back to the Future: Containerize Legacy Applications
Docker, Inc.
 
PPTX
OpenStack Contribution Workflow
Sean McGinnis
 
Meetup 22 - 04 - Logging and Monitoring at scale on Kubernetes
Vietnam Open Infrastructure User Group
 
Docker Enterprise Edition: Building a Secure Supply Chain for the Enterprise ...
Docker, Inc.
 
Introduction to Containers
Dharmit Shah
 
11th Docker Switzerland User Group Meetup
Philipp Grossenbacher
 
Getting Started with Containers
Scott Lowe
 
Virtualization Management The oVirt Way (August Penguin 2015)
Allon Mureinik
 
IstioD - From Microservices to Monolithic
All Things Open
 
State of Builder and Buildkit by Tonis Tiigi (Docker)
Docker, Inc.
 
Cloud Computing Security
Anshul Patel
 
Living with microservices at Pipedrive
Renno Reinurm
 
DockerCon EU 2015: What is it we want in containers anyway?
Docker, Inc.
 
Infrastructure-as-Code and CI Infrastructure at OpenStack
Andreas Jaeger
 
oVirt 4.3 highlights
Douglas Landgraf
 
OSDC 2018 | Self Hosted bare Metal Kubernetes for SMEs by Thomas Hoppe
NETWAYS
 
OpenNebulaConf 2016 - OpenNebula 5.0 Highlights and Beyond by Ruben S. Monter...
OpenNebula Project
 
Containerd - core container runtime component
Docker, Inc.
 
OpenStack Boston Summit: Kuryr project updates
Antoni Segura Puimedon
 
Ansible 2.0 - How to use Ansible to automate your applications in AWS.
Idan Tohami
 
Back to the Future: Containerize Legacy Applications
Docker, Inc.
 
OpenStack Contribution Workflow
Sean McGinnis
 

Viewers also liked (20)

PDF
Il progetto OpenOSB
Bergamo Linux Users Group
 
PDF
Progetto Linux va a scuola - Descrizione tecnica
Bergamo Linux Users Group
 
PDF
L'orologio Nixie
Bergamo Linux Users Group
 
PDF
Progetto Linux va a scuola
Bergamo Linux Users Group
 
PDF
Copyrights = diritto alla copia?
Bergamo Linux Users Group
 
PDF
OpenWRT - Router wifi open
Bergamo Linux Users Group
 
PDF
Security Capture the Flag
Bergamo Linux Users Group
 
PDF
I linguaggi di programmazione e il mondo open-source
Bergamo Linux Users Group
 
PDF
Liberta digitali: Introduzione al software libero, LibreOffice e Libreitalia
Bergamo Linux Users Group
 
PDF
Giochiamo ... in codice
Bergamo Linux Users Group
 
PDF
Anatomia di un progetto open-source
Bergamo Linux Users Group
 
PDF
Elaborazione dati dalla riga di comando Linux
Bergamo Linux Users Group
 
PPTX
Deploying apps with Docker and Kubernetes
Daniel Fenton
 
PDF
Containerizing your Security Operations Center
Jimmy Mesta
 
PDF
Scale out, with Kubernetes (k8s)
Arkadiusz Borek
 
PPTX
Kubernetes Community Growth and Use Case
Chris Gaun
 
ODP
KubeCon EU 2016: Integrated trusted computing in Kubernetes
KubeAcademy
 
PDF
Kubernetes and CoreOS @ Athens Docker meetup
Mist.io
 
PDF
Single tenant software to multi-tenant SaaS using K8S
CloudLinux
 
PDF
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Odinot Stanislas
 
Il progetto OpenOSB
Bergamo Linux Users Group
 
Progetto Linux va a scuola - Descrizione tecnica
Bergamo Linux Users Group
 
L'orologio Nixie
Bergamo Linux Users Group
 
Progetto Linux va a scuola
Bergamo Linux Users Group
 
Copyrights = diritto alla copia?
Bergamo Linux Users Group
 
OpenWRT - Router wifi open
Bergamo Linux Users Group
 
Security Capture the Flag
Bergamo Linux Users Group
 
I linguaggi di programmazione e il mondo open-source
Bergamo Linux Users Group
 
Liberta digitali: Introduzione al software libero, LibreOffice e Libreitalia
Bergamo Linux Users Group
 
Giochiamo ... in codice
Bergamo Linux Users Group
 
Anatomia di un progetto open-source
Bergamo Linux Users Group
 
Elaborazione dati dalla riga di comando Linux
Bergamo Linux Users Group
 
Deploying apps with Docker and Kubernetes
Daniel Fenton
 
Containerizing your Security Operations Center
Jimmy Mesta
 
Scale out, with Kubernetes (k8s)
Arkadiusz Borek
 
Kubernetes Community Growth and Use Case
Chris Gaun
 
KubeCon EU 2016: Integrated trusted computing in Kubernetes
KubeAcademy
 
Kubernetes and CoreOS @ Athens Docker meetup
Mist.io
 
Single tenant software to multi-tenant SaaS using K8S
CloudLinux
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Odinot Stanislas
 
Ad

Similar to Orchestrating Linux Containers (20)

PDF
Docker orchestration voxxed days berlin 2016
Grzegorz Duda
 
PDF
99cloud Docker Training module 2
Liang Bo
 
PPTX
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDB
MongoDB
 
PDF
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Ambassador Labs
 
PDF
Containerizing MongoDB with kubernetes
Brian McNamara
 
PDF
DEVOPS UNIT 4 docker and services commands
billuandtanya
 
PDF
From CoreOS to Kubernetes and Concourse CI
Denis Izmaylov
 
PDF
Kubernetes: My BFF
Jonathan Yu
 
PDF
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
Ambassador Labs
 
PPTX
Docker and kubernetes
Dongwon Kim
 
PDF
Shipping Applications to Production in Containers with Docker
Jérôme Petazzoni
 
PPTX
A docker love story
Brian de Heus
 
PDF
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
RightScale
 
PPTX
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
Uri Cohen
 
PDF
Docker Online Meetup #3: Docker in Production
Docker, Inc.
 
PPTX
Setup docker on existing application
Luc Juggery
 
PPTX
The Rise of Microservices - Containers and Orchestration
MongoDB
 
PPTX
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Nati Shalom
 
PPTX
Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...
Cloud Native Day Tel Aviv
 
PDF
Containerize! Between Docker and Jube.
Henryk Konsek
 
Docker orchestration voxxed days berlin 2016
Grzegorz Duda
 
99cloud Docker Training module 2
Liang Bo
 
Webinar: Enabling Microservices with Containers, Orchestration, and MongoDB
MongoDB
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Ambassador Labs
 
Containerizing MongoDB with kubernetes
Brian McNamara
 
DEVOPS UNIT 4 docker and services commands
billuandtanya
 
From CoreOS to Kubernetes and Concourse CI
Denis Izmaylov
 
Kubernetes: My BFF
Jonathan Yu
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
Ambassador Labs
 
Docker and kubernetes
Dongwon Kim
 
Shipping Applications to Production in Containers with Docker
Jérôme Petazzoni
 
A docker love story
Brian de Heus
 
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
RightScale
 
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
Uri Cohen
 
Docker Online Meetup #3: Docker in Production
Docker, Inc.
 
Setup docker on existing application
Luc Juggery
 
The Rise of Microservices - Containers and Orchestration
MongoDB
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Nati Shalom
 
Uri Cohen & Dan Kilman, GigaSpaces - Orchestration Tool Roundup - OpenStack l...
Cloud Native Day Tel Aviv
 
Containerize! Between Docker and Jube.
Henryk Konsek
 
Ad

Recently uploaded (20)

PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PPTX
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PPTX
iaas vs paas vs saas :choosing your cloud strategy
CloudlayaTechnology
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
iaas vs paas vs saas :choosing your cloud strategy
CloudlayaTechnology
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 

Orchestrating Linux Containers