SlideShare a Scribd company logo
Broughttoyou
byHenrykKonsek
Containerize!
On Docker, Kubernetes and stuff
Henryk Konsek
- engineer at Red Hat
- open source junkie
@hekonsek
● Docker
● Kubernetes overview
● Kubernetes services
● OpenShift
This talk
@hekonsek
Docker
@hekonsek
Server for running and managing Linux containers.
What is...
@hekonsek
Operating-system-level virtualization.
What are Linux containers?
@hekonsek
chroot on steroids + some kernel magic
What are Linux containers?
@hekonsek
● slooooooow
● gigantic images
● aggressive resource allocation
● bad API
Why not regular virtualization?
@hekonsek
Container is the running image.
Key concepts
● image (immutable, no state)
● container (mutable, has state)
@hekonsek
Container is a running image.
Key concepts
@hekonsek
Archived file system + metadata.
Docker image
@hekonsek
Commands.
Docker awesomeness #1
@hekonsek
Layers.
Docker awesomeness #2
WAR
Tomcat
JRE
Ubuntu base
@hekonsek
Registries.
Docker awesomeness #3
@hekonsek
Build once. Deploy everywhere!
Docker awesomeness #4
@hekonsek
Immutable deployment. Use ENV variable to configure the container.
Docker awesomeness #4
@hekonsek
“Recipes” for creating new images.
Dockerfiles
FROM ubuntu
EXPOSE 8080
RUN apt-get install java
RUN mkdir /jars
ADD target/app.jar /jars/
CMD ["java", "-jar", "/jars/app.jar"]]
@hekonsek
Create new image
$ docker build -t com.me/app:1.0 .
$ docker run -t com.me/app:1.0]
@hekonsek
Let’s create a production-grade container!
Demo!
FROM ubuntu
RUN apt-get update -qqy
RUN apt-get install -qqy cowsay
ENTRYPOINT ["/usr/games/cowsay"]
CMD ["Hello Docker!"]
@hekonsek
Docker Maven plugin
How can I put a fresh jar into an image?
@hekonsek
Provided by the database community/vendor.
How can I get database image?
docker run -d -p 27017:27017 --name mongo mongo
]
@hekonsek
Kubernetes overview
@hekonsek
A platform to scale Docker horizontally.
Kubernetes
by...
@hekonsek
You can start many containers with your Docker server.
Why scale Docker?
@hekonsek
But at some point you have to add more physical machines.
Why scale Docker?
@hekonsek
TL;DR; YES!
Is scaling Docker hard?
@hekonsek
High availability - single Docker server is SPOF.
Why scale Docker?
@hekonsek
Helps you to keep your scaled Docker stuff together.
Kubernetes
@hekonsek
Install and admin it yourself. Or...
Where can I find Kubernetes?
@hekonsek
Where can I find Kubernetes?
- Red Hat Atomic
- Red Hat Linux 7.1
- CoreOS Linux
- OpenShift 3
- GKE (Google Container Engine)
- Microsoft Azure
- All the major cloud providers (soon)
@hekonsek
- REST API
- etcd key/value store
- controller manager server
Kubernetes architecture - master node
@hekonsek
- Docker server
- kubelet
- network proxy
Kubernetes architecture - minion node
@hekonsek
Groups of containers running at the same physical machine.
Pod - unit of deployment
@hekonsek
Kubernetes guarantees all or nothing deployment and execution of
pods.
Pod - atomic unit of deployment
@hekonsek
All containers within the pod can access the same volumes.
Pod nodes == shared disk
@hekonsek
Pods uses direct connections for the intra-pod communication.
Pod - internal communication
@hekonsek
Pods use network proxy for the inter-pod communication.
Pod - external communication
@hekonsek
The network proxy
@hekonsek
Guarantees N-instances of pods running at the same time.
Replication controller
@hekonsek
Starts missing instances of the pods.
Replication controller
@hekonsek
Performs health checks. Can kill and restart failing nodes.
Replication controller
@hekonsek
In the Kubernetes world, starting the server is not human
responsibility anymore! How cool is that?
Replication controller
@hekonsek
Kubernetes services
@hekonsek
The typical micoservices developer.
Services
@hekonsek
Eureka? Etcd? Consul?
How to discover a service?
@hekonsek
Try to imagine something simpler.
Services coordinates ==
environment variables
String host = System.getenv("MONGO_SERVICE_DB_HOST");
String port = System.getenv("MONGO_SERVICE_DB_PORT");
Mongo mongo =
new Mongo(host, Integer.parseInt(port));
@hekonsek
OpenShift
@hekonsek
Kubernetes + some cool things.
OpenShift 3
@hekonsek
- Enterprise (private cloud)
- On-Line (public cloud)
- Origin (community project)
OpenShift 3 types
@hekonsek
You can install OS Origin on your local machine as a Docker container.
OpenShift 3
@hekonsek
- access external services using single URL
- HAproxy instance bound to the services
- TLS/SSL termiantion rules
OpenShift 3 - routing
@hekonsek
Local (docker-based) cloud + Docker images + Kubernetes =
smooth transition from dev to the production
OpenShift 3
@hekonsek
OpenShift provides user groups based on the Kubernetes namespaces.
Multi-tenancy
@hekonsek
OpenShift comes with the CI server that can build and deploy the
containers for you.
Build & deploy pipeline
@hekonsek
Off-the-shelf microservices.
OpenShift marketplace
@hekonsek
Thank you!
Henryk Konsek
@hekonsek
hekonsek@gmail.com
@hekonsek

More Related Content

PDF
Eclipse Kapua messaging refactoring proposal
PPTX
Open Source IoT Building Blocks for Startups
PDF
Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...
PDF
Service discovery with Eureka and Spring Cloud
PPTX
Interactive Analytics on Pulsar with Pulsar SQL - Pulsar Virtual Summit Europ...
PDF
Stream-Native Processing with Pulsar Functions
PPTX
Apache Pulsar: A Foundation Backbone for Clever Cloud - Pulsar Virtual Summit...
PDF
Microservices with Netflix OSS and Spring Cloud
Eclipse Kapua messaging refactoring proposal
Open Source IoT Building Blocks for Startups
Tracking Apache Pulsar Messages with Apache SkyWalking - Pulsar Virtual Summi...
Service discovery with Eureka and Spring Cloud
Interactive Analytics on Pulsar with Pulsar SQL - Pulsar Virtual Summit Europ...
Stream-Native Processing with Pulsar Functions
Apache Pulsar: A Foundation Backbone for Clever Cloud - Pulsar Virtual Summit...
Microservices with Netflix OSS and Spring Cloud

What's hot (20)

PPTX
Gatekeeper: API gateway
PDF
Synchronous Commands over Apache Kafka (Neil Buesing, Object Partners, Inc) K...
PDF
Function Mesh: Complex Streaming Jobs Made Simple - Pulsar Summit NA 2021
PPTX
Simplifying Migration from Kafka to Pulsar - Pulsar Summit NA 2021
PDF
Delivering: from Kafka to WebSockets | Adam Warski, SoftwareMill
PPTX
Spring Cloud and Netflix Components
PPTX
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
PDF
Microservices with Spring Cloud and Netflix OSS
PDF
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
PPTX
Real Time UI with Apache Kafka Streaming Analytics of Fast Data and Server Push
PDF
Kong API
PDF
API Gateway study
PDF
Manage your APIs and Microservices with an API Gateway
PPTX
Deploying and Operating KSQL
PPSX
SignalR With ASP.Net part1
PPTX
Building Microservices with Spring Cloud and Netflix OSS
PDF
Spring cloud Service-Discovery
PDF
SignalR
PDF
Service mesh with istio
PDF
Event-driven Applications with Kafka, Micronaut, and AWS Lambda | Dave Klein,...
Gatekeeper: API gateway
Synchronous Commands over Apache Kafka (Neil Buesing, Object Partners, Inc) K...
Function Mesh: Complex Streaming Jobs Made Simple - Pulsar Summit NA 2021
Simplifying Migration from Kafka to Pulsar - Pulsar Summit NA 2021
Delivering: from Kafka to WebSockets | Adam Warski, SoftwareMill
Spring Cloud and Netflix Components
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
Microservices with Spring Cloud and Netflix OSS
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
Real Time UI with Apache Kafka Streaming Analytics of Fast Data and Server Push
Kong API
API Gateway study
Manage your APIs and Microservices with an API Gateway
Deploying and Operating KSQL
SignalR With ASP.Net part1
Building Microservices with Spring Cloud and Netflix OSS
Spring cloud Service-Discovery
SignalR
Service mesh with istio
Event-driven Applications with Kafka, Micronaut, and AWS Lambda | Dave Klein,...
Ad

Viewers also liked (20)

PPT
Powerpoint lawrence m. preston
DOC
Content plan autotuning
PPTX
Power point
PPTX
Educar millor / Carles Capdevila ( Imatges Escola Vedruna Manresa )
PPS
Virtual ruffo
ODP
FOSS4G 2011 debrief
PPTX
Tokyo Presentation August 15 2011
PPTX
acerca de stumbleupon.com
PPT
Prediction of Atrial Fibrillation AMA-IEEE 2011
 
PPT
23號 吳翊婷
PPT
二幼三A 林文琦 300060056 (小書)[1]
PDF
16號 施玉祺
PPTX
Andrea mallar's presentation on infection prevention
PDF
Were Ancient Americans Familiar with Real Horses? - JOURNAL OF BOOK OF MORMON...
DOCX
Updated Resume_Jaskirat
PPTX
การจัดวางระบบการควบคุมภายในและการประเมินผล2
PPT
楊璧慈2[1]
PPT
18號 吳雪娥
PPT
安平與五條港文化
PPT
Lina ibague
Powerpoint lawrence m. preston
Content plan autotuning
Power point
Educar millor / Carles Capdevila ( Imatges Escola Vedruna Manresa )
Virtual ruffo
FOSS4G 2011 debrief
Tokyo Presentation August 15 2011
acerca de stumbleupon.com
Prediction of Atrial Fibrillation AMA-IEEE 2011
 
23號 吳翊婷
二幼三A 林文琦 300060056 (小書)[1]
16號 施玉祺
Andrea mallar's presentation on infection prevention
Were Ancient Americans Familiar with Real Horses? - JOURNAL OF BOOK OF MORMON...
Updated Resume_Jaskirat
การจัดวางระบบการควบคุมภายในและการประเมินผล2
楊璧慈2[1]
18號 吳雪娥
安平與五條港文化
Lina ibague
Ad

Similar to Containerize! (20)

PDF
Containerize! Between Docker and Jube.
PDF
Telepresence - Fast Development Workflows for Kubernetes
PDF
Docker Oxford launch - Introduction to Docker
PPTX
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
PDF
UniK - a unikernel compiler and runtime
PDF
Container orchestration on_aws
PPTX
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
PPTX
Containerization and Docker
PPTX
Scaling Jenkins with Docker and Kubernetes
PPTX
Kubernetes Immersion
PPTX
Docker and kubernetes
PDF
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
PDF
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
PDF
Containers in depth – Understanding how containers work to better work with c...
ODP
Docker - The Linux Container
PPSX
Docker Kubernetes Istio
PDF
Scaling Docker with Kubernetes
PPTX
Docker, Atomic Host and Kubernetes.
PDF
Linux Container Technology inside Docker with RHEL7
PPSX
Containers Docker Kind Kubernetes Istio
Containerize! Between Docker and Jube.
Telepresence - Fast Development Workflows for Kubernetes
Docker Oxford launch - Introduction to Docker
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
UniK - a unikernel compiler and runtime
Container orchestration on_aws
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Containerization and Docker
Scaling Jenkins with Docker and Kubernetes
Kubernetes Immersion
Docker and kubernetes
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
Containers in depth – Understanding how containers work to better work with c...
Docker - The Linux Container
Docker Kubernetes Istio
Scaling Docker with Kubernetes
Docker, Atomic Host and Kubernetes.
Linux Container Technology inside Docker with RHEL7
Containers Docker Kind Kubernetes Istio

More from Henryk Konsek (16)

PDF
How to cloud #1: Create Kafka cluster with Confluent Cloud
PDF
Open source IoT gateway
PDF
Open source IoT gateway: Tale of Eclipse Kura, Apache Camel and Rhiot
PDF
Iot gateway dream team - Eclipse Kura and Apache Camel
PDF
Internet Of Things for mere mortals
PDF
(Ultra quick) Rhiot overview
PDF
Internet Of Things for mere mortals
PDF
Docker for mere mortals
PDF
Iot and the back-end developers
PDF
IoT gateway dream team - Eclipse Kura and Apache Camel
PDF
Apache Camel in the belly of the Docker whale
PDF
Fabric8 - Being devOps doesn't suck anymore
PDF
Messaging with the Docker
PDF
Crash course to the Apache Camel
PDF
Spring scala - Sneaking Scala into your corporation
PDF
Testing Fuse Fabric with Pax Exam
How to cloud #1: Create Kafka cluster with Confluent Cloud
Open source IoT gateway
Open source IoT gateway: Tale of Eclipse Kura, Apache Camel and Rhiot
Iot gateway dream team - Eclipse Kura and Apache Camel
Internet Of Things for mere mortals
(Ultra quick) Rhiot overview
Internet Of Things for mere mortals
Docker for mere mortals
Iot and the back-end developers
IoT gateway dream team - Eclipse Kura and Apache Camel
Apache Camel in the belly of the Docker whale
Fabric8 - Being devOps doesn't suck anymore
Messaging with the Docker
Crash course to the Apache Camel
Spring scala - Sneaking Scala into your corporation
Testing Fuse Fabric with Pax Exam

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Machine learning based COVID-19 study performance prediction
PDF
Modernizing your data center with Dell and AMD
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
KodekX | Application Modernization Development
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Approach and Philosophy of On baking technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Machine learning based COVID-19 study performance prediction
Modernizing your data center with Dell and AMD
MYSQL Presentation for SQL database connectivity
Building Integrated photovoltaic BIPV_UPV.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Per capita expenditure prediction using model stacking based on satellite ima...
Understanding_Digital_Forensics_Presentation.pptx
KodekX | Application Modernization Development
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
NewMind AI Monthly Chronicles - July 2025
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...

Containerize!