SlideShare a Scribd company logo
1
@burrsutter
burr@redhat.com
http://developers.redhat.com
http://bit.ly/kube4docker
Kubernetes for Docker Developers
Change History
1.0 - Great Indian Developer Summit
@burrsutter developers.redhat.com
Kubernetes
for Docker Developers
Our IT World Morphs
@burrsutter developers.redhat.com
Your Journey to Microservices :-)
Self-Service
On-Demand
Elastic
Infrastructure
(Cloud)
Re-Org to
DevOps
Automation
Puppet, Chef,
Ansible
CI & CD
Deployment
Pipeline
&
Containers
One
Microservice
Silicon
Valley
DotCom
Startup
@burrsutter developers.redhat.com
Containers bring Big Wins for developers
● Highly Portable Packaging solution - for microservices, web apps
● Lightweight, Encapsulated OS abstraction - carry your OS with you
● Getting Started (docker run -it centos/wildfly) Instantly
● Dev Environments that more closely match Prod Environments
● Dev Environments that match OTHER Dev Environments
(no more...but it works on my machine)
● No more waiting 3+ weeks for a VM to be provisioned by Ops just so you can
run a series of tests
@burrsutter developers.redhat.com
@burrsutter developers.redhat.com
Docker High-Level architecture
https://docs.docker.com/v1.9/engine/introduction/understanding-docker/
@burrsutter developers.redhat.com
Computer - Processor, RAM, Disk
Operating System
JVM, CRuby, V8, CLR
Your Code
.java/.class
.py
.js
.rb
.cs
@burrsutter developers.redhat.com
Computer - Processor, RAM, Disk
Host Operating System
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
Virtual Machine - Guest OS Virtual Machine - Guest OS
@burrsutter developers.redhat.com
Computer - Processor, RAM, Disk
Host Operating System
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
Virtual Machine - Guest OS
Container
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
Container
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
Container
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
Container
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
Virtual Machine - Guest OS
Container
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
Container
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
Container
JVM, CRuby, V8, CLR
Your Code
.java
.py
.js
.rb
.cs
Container
@burrsutter developers.redhat.com
For a Java Developer
Have you ever had “/” vs “” break your app? (Unix to Windows)
Or perhaps your app needed a unique version of a JDBC driver?
Or had a datasource with a slightly misspelled JNDI name?
Or received a patch for the JVM or app server that broke your code?
@burrsutter developers.redhat.com
Your Stack Matters
Server Hardware
Operating System
Application Server
your.war
Java Virtual Machine
Custom Configuration
Linux Kernel Version & Distribution
Java 1.6.6_45 or Java 1.7.0_67
Weblogic 10.x.y, Tomcat 6.x.y, JBoss EAP 6.x.y
JDBC driver, datasource, JMS queue, users
@burrsutter developers.redhat.com
Email Requirements
MyApp.war has been tested with the following
On my Windows 7 desktop
JDK 1.8.43
Tomcat 7.10
Configuration:
Datasource: MySQLDS
Tested with: mysql-connector-java-5.1.31-bin.jar
@burrsutter developers.redhat.com
Email Requirements
MyApp.war has been tested with the following
On my Windows 7 desktop
JDK 1.8.43
Tomcat 7.10
Configuration:
Datasource: MySQLDS
Tested with: mysql-connector-java-5.1.31-bin.jar
Production Environment
Red Hat Enterprise Linux 6.2
JRE 1.7.3
WebSphere 8.5.5
Oracle 9
@burrsutter developers.redhat.com
Container Guest OS
Java App Server
custom configuration
FROM centos/wildfly
COPY standalone.xml /opt/wildfly/standalone/configuration/
COPY mysql-connector-java-5.1.31-bin.jar /opt/wildfly/standalone/deployments/
COPY mysql-sample-ds.xml /opt/wildfly/standalone/deployments/
COPY myapp/target/your.war /opt/wildfly/standalone/deployments/
your.war
dependencies
@burrsutter developers.redhat.com
Docker Magic
docker run is like magic
docker run -it centos /bin/bash
Or Via the CDK (http://developers.redhat.com/products/cdk/overview/)
docker run -it rhel7 /bin/bash
@burrsutter developers.redhat.com
docker pull mysql
@burrsutter developers.redhat.com
Docker Demo
@burrsutter developers.redhat.com
● High Availability
● Load-balancing
● Scaling
● Staying Up
● Persistent Storage
Making Docker Ready
@burrsutter developers.redhat.com
@burrsutter developers.redhat.com
@burrsutter developers.redhat.com
Master
Node Node
Logger
Node
Node Node Node
Dev
Ops
api
etcd
scheduler
controllers
Kubernetes Cluster
@burrsutter developers.redhat.com
Kubernetes Concepts
Pod Replication
Controller
Service Label
One or More Containers
Shared IP
Shared Storage Volume
Shared Resources
Shared Lifecycle
Ensures that a specified
number of pod replicas are
running at any one time
Grouping of pods, act as
one, has stable virtual IP
and DNS name
Key/Value pairs associated
with Kubernetes objects
(e.g. env=production)
@burrsutter developers.redhat.com
Pods
A group of whales is commonly referred to as a pod and a pod
usually consists a group of whales that have bonded together
either because of biological reasons (i.e. a mother baring
offspring and raising her child) or through friendships
developed between two or more whales.
In many cases a typical whale pod consists of anywhere from 2
to 30 whales or more.
http://www.whalefacts.org/what-is-a-group-of-whales-called/
@burrsutter developers.redhat.com
Key Kubernetes Capabilities
● Self-healing
● Horizontal Manual & Auto Scaling
● Automatic Restarting
● Scheduled across hosts
● Built-in load-balancer
● Rolling upgrades
Master
API Server
Service Layer
VirtualPhysical Private Public
Persistent
Storage
Node Node
Logger
Node
Node Node Node
Dev
Ops
SCM
(Git/Svn)
CI/CD
Automation
Routing Layer
Registry
SDN Overlay Network
Controllers
- Scheduler
- Replication
- Services
- Builds
- Routes
- Deployment
Kubernetes
OpenShift
- Deployments
- Builds
- ImageStreams
SCM
(Git/Svn)
Master
API Server
Service Layer
VirtualPhysical Private Public
Persistent
Storage
Node Node
Logger
Node
Node Node Node
Dev
Ops
CI/CD
Automation
Routing Layer
Registry
SDN Overlay Network
Controllers
- Scheduler
- Replication
- Services
- Builds
- Routes
- Deployment
Kubernetes
OpenShift
- Deployments
- Builds
- ImageStreams
SCM
(Git/Svn)
Master
API Server
Service Layer
VirtualPhysical Private Public
Persistent
Storage
Node Node
Logger
Node
Node Node Node
Dev
Ops
CI/CD
Automation
Routing Layer
Registry
SDN Overlay Network
Controllers
- Scheduler
- Replication
- Services
- Builds
- Routes
- Deployment
Kubernetes
OpenShift
- Deployments
- Builds
- ImageStreams
SCM
(Git/Svn)
Master
API Server
Service Layer
VirtualPhysical Private Public
Persistent
Storage
Node Node
Logger
Node
Node Node Node
Dev
Ops
CI/CD
Automation
Routing Layer
Registry
SDN Overlay Network
Controllers
- Scheduler
- Replication
- Services
- Builds
- Routes
- Deployment
Kubernetes
OpenShift
- Deployments
- Builds
- ImageStreams
kubectl get nodes
kubectl get pods
kubectl run mynode --image=burr/mynode:v1 --port=8000
kubectl logs mynode-kk605
kubectl expose rc mynode --type="LoadBalancer"
kubectl scale rc mynode --replicas=3
kubectl rolling-update mynode --image=mynode --update-period=2s
Kubernetes Commands
@burrsutter developers.redhat.com
K8S or Kube
Demo
https://github.com/burrsutter/kube4docker
https://docs.google.com/document/d/1AMRL2OWmxC2j8vja3xe2VTUvcRtK6UQ01QGOE3t34O8/edit?usp=sharing
@burrsutter developers.redhat.com
More Information
http://bit.ly/kube4docker
https://github.com/burrsutter/kube4docker
http://kubernetes.io/docs/user-guide/
http://developers.redhat.com/products/cdk/overview/
http://kubernetes.io/docs/user-guide/docker-cli-to-kubectl/
@burrsutter developers.redhat.com

More Related Content

PDF
Develop & Deploy cloud-native apps as resilient Microservices Architectures
PDF
DCEU 18: How To Build Your Containerization Strategy
PDF
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
PDF
Red hat enterprise_linux-8-configuring_basic_system_settings-en-us
PPTX
Dockercon Europe 2014 - Continuous Delivery leveraging on Docker CaaS
PPTX
Tech huddle paas_session
PPTX
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
PDF
introduction to micro services
Develop & Deploy cloud-native apps as resilient Microservices Architectures
DCEU 18: How To Build Your Containerization Strategy
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
Red hat enterprise_linux-8-configuring_basic_system_settings-en-us
Dockercon Europe 2014 - Continuous Delivery leveraging on Docker CaaS
Tech huddle paas_session
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
introduction to micro services

What's hot (20)

PDF
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
PPTX
DockerCon 16 General Session Day 2
PPTX
Upgrading to Alfresco 6
PDF
Cloud Foundry BOSH CPI for OpenStack
PDF
Platform for a Connected World
PPTX
Cross-platform Mobile Development on Open Source
PDF
Istio Triangle Kubernetes Meetup Aug 2019
PDF
DCEU 18: State of the Docker Engine
PDF
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
PPTX
DevOps Best Practices with Openshift - DevOpsFusion 2020
PPTX
Kubernetes day 2 Operations
PPTX
Open Source, infrastructure as Code, Cloud Native Apps 2015
PDF
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
PDF
DCEU 18: Developing with Docker Containers
PDF
Swift Summit: Pushing the boundaries of Swift to the Server
PDF
DCSF 19 Microservices API: Routing Across Any Infrastructure
PDF
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
PDF
Driving Digital Transformation With Containers And Kubernetes Complete Deck
PDF
DockerCon SF 2015: How to Build a Secure DevOps Environment for the Government
PDF
Building Your Docker Swarm Tech Stack
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
DockerCon 16 General Session Day 2
Upgrading to Alfresco 6
Cloud Foundry BOSH CPI for OpenStack
Platform for a Connected World
Cross-platform Mobile Development on Open Source
Istio Triangle Kubernetes Meetup Aug 2019
DCEU 18: State of the Docker Engine
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
DevOps Best Practices with Openshift - DevOpsFusion 2020
Kubernetes day 2 Operations
Open Source, infrastructure as Code, Cloud Native Apps 2015
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Developing with Docker Containers
Swift Summit: Pushing the boundaries of Swift to the Server
DCSF 19 Microservices API: Routing Across Any Infrastructure
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
Driving Digital Transformation With Containers And Kubernetes Complete Deck
DockerCon SF 2015: How to Build a Secure DevOps Environment for the Government
Building Your Docker Swarm Tech Stack
Ad

Similar to Kubernetes for Docker Developers (20)

PPTX
Docker-N-Beyond
PDF
Rancher Rodéo France
PDF
Containers - Portable, repeatable user-oriented application delivery. Build, ...
PDF
Docker for Java Developers
PDF
Java one kubernetes, jenkins and microservices
PPTX
Why you’re going to fail running java on docker!
PDF
Rancher Rodeo
PDF
Microservices with Kubernetes, Docker, and Jenkins
PDF
Microservices with Docker, Kubernetes, and Jenkins
PDF
Javaone kubernetesjenkins
PDF
Case Study _Cloud Native Transformation Deploying Integration workloads to AK...
PDF
Kubernetes for Java developers
PDF
From Engines to Orchestrators
PDF
9 steps to awesome with kubernetes
PPTX
Kubernetes 101
PDF
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
PDF
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
PPTX
Introduction to Kubernetes
PDF
Package your Java EE Application using Docker and Kubernetes
PDF
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Docker-N-Beyond
Rancher Rodéo France
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Docker for Java Developers
Java one kubernetes, jenkins and microservices
Why you’re going to fail running java on docker!
Rancher Rodeo
Microservices with Kubernetes, Docker, and Jenkins
Microservices with Docker, Kubernetes, and Jenkins
Javaone kubernetesjenkins
Case Study _Cloud Native Transformation Deploying Integration workloads to AK...
Kubernetes for Java developers
From Engines to Orchestrators
9 steps to awesome with kubernetes
Kubernetes 101
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Introduction to Kubernetes
Package your Java EE Application using Docker and Kubernetes
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Ad

More from Red Hat Developers (20)

PDF
DevNation Tech Talk: Getting GitOps
PDF
Exploring the power of OpenTelemetry on Kubernetes
PDF
GitHub Makeover | DevNation Tech Talk
PDF
Quinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
PDF
Extra micrometer practices with Quarkus | DevNation Tech Talk
PDF
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...
PDF
Integrating Loom in Quarkus | DevNation Tech Talk
PDF
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...
PDF
Containers without docker | DevNation Tech Talk
PDF
Distributed deployment of microservices across multiple OpenShift clusters | ...
PDF
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...
PDF
Dear security, compliance, and auditing: We’re sorry. Love, DevOps | DevNatio...
PDF
11 CLI tools every developer should know | DevNation Tech Talk
PDF
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
PDF
GitHub Actions and OpenShift: ​​Supercharging your software development loops...
PDF
To the moon and beyond with Java 17 APIs! | DevNation Tech Talk
PDF
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...
PDF
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
PDF
Kubernetes configuration and security policies with KubeLinter | DevNation Te...
PDF
Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
DevNation Tech Talk: Getting GitOps
Exploring the power of OpenTelemetry on Kubernetes
GitHub Makeover | DevNation Tech Talk
Quinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
Extra micrometer practices with Quarkus | DevNation Tech Talk
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...
Integrating Loom in Quarkus | DevNation Tech Talk
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...
Containers without docker | DevNation Tech Talk
Distributed deployment of microservices across multiple OpenShift clusters | ...
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...
Dear security, compliance, and auditing: We’re sorry. Love, DevOps | DevNatio...
11 CLI tools every developer should know | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
GitHub Actions and OpenShift: ​​Supercharging your software development loops...
To the moon and beyond with Java 17 APIs! | DevNation Tech Talk
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
Kubernetes configuration and security policies with KubeLinter | DevNation Te...
Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Encapsulation theory and applications.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
A Presentation on Artificial Intelligence
PDF
Encapsulation_ Review paper, used for researhc scholars
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Programs and apps: productivity, graphics, security and other tools
Encapsulation theory and applications.pdf
Empathic Computing: Creating Shared Understanding
A comparative analysis of optical character recognition models for extracting...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
NewMind AI Weekly Chronicles - August'25-Week II
A Presentation on Artificial Intelligence
Encapsulation_ Review paper, used for researhc scholars
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx

Kubernetes for Docker Developers