SlideShare a Scribd company logo
Next-gen engineering with
Docker and Kubernetes
:~ whoami:
Antons Kranga
Cloud architect and full-stack developer
with ~15 years in Java technology
Docker and Java
Motivation
dev
Chuck Norris
app ops
deploy
Docker
Guest OS
VM
Guest OS
Container
engine
Container
engine
Hypervisor
VM
Applications isolated inside containers
Rapid deployment
Focuses on
service is inside
container
dev ops
Focuses on env
outside container
Dockerfile
is a contract
Dockerfile
Dockerfile
FROM java:jdk
COPY chnorr.jar /app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]
Workflow
Dockerfile
FROM java:jdk
COPY chnorr.jar /app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]
dev
Java code &
Dockerfile
Compile &
Unit test
chnorr.jar build registry
(private or
public)
push ops
pull
Container engine
docker run
Things to remember
Containers have ephemeral. Persistent
volumes should be managed separately
App logs > /dev/stdout. Logs will be
streamed to log collector service
Use environment variables to inject
configuration parameters inside container
Do not use ENV vars for secrets
Use private registry to distribute
containers
Containers != VM (!!!)
Rugged Docker
Kubernetes
Cluster manager for your containers
Docker needs Platform
Guest OS
VM
Guest OS
Container
engine
Container
engine
Hypervisor
VM
Docker is just a container engine many
things are not there
• Networking
• Storage
• Service discovery
• Container scheduling
• Placement and load balancing
• Routing
• Self healing
...
Kubernetes Architecutre
Logical view
Service
ports
80,443
10.0.1.10
container container
10.0.1.11
container container
load balancer services pods rc
Chuck Norris pod example
Service
apiVersion: v1
kind: Service
metadata:
name: chuck-norris
labels:
name: chuck-norris-serv
selector:
chuck: norris
spec:
type: LoadBalancer
clusterIP: 10.0.1.10
ports:
- name: http
port: 80
Replication Controller
apiVersion: v1
kind: ReplicationController
metadata:
name: chuck-norris
labels:
chuck: norris
spec:
replicas: 3
selector:
name: chuck-norris
template:
metadata:
labels:
name: chuck-norris
spec:
containers:
- name: chuck
image: akranga/chnorr:1.0.0
ports:
- name: http
containerPort: 8080
port exposed in
Dockerfile
Things to remember
DIND makes you naked
needs privileged mode
Do not abuse etcd of kubernetes
you can brake the platform
Jenkins
Better continuous delivery model
CI with Kubernetes
dev
push
push
ops
pullgit
master
Compile &
Unit test app.jar build
private
registry Create pod
Chuck Norris
app
pull
Putting all together
jenkins
ports
80 jenkins_master
load balancer services pods storage
jenkins_java_slave
jenkins_kube_slave
jenkins_docker_slave
jenkins
ports
80 private_registry
chnorr
green
ports
80 chucknorris:b24
chucknorris:b25
chnorr
latest
ports
80
cloud
storage
cloud
storage
Things to remember
Workflows can be part of app-baseline
Share workspace between slaves
Don’t forget private docker registry
DIND is evil but unavoidable
Grab hands-on practice labs here:
https://github.com/akranga/kube-workshop
Questions?

More Related Content

What's hot (20)

PDF
Red hat ansible automation technical deck
Juraj Hantak
 
PDF
Building kubectl plugins with Quarkus | DevNation Tech Talk
Red Hat Developers
 
PPTX
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Docker, Inc.
 
PDF
Drone CI - Container native continuous Integration / Delivery
Patrick Jahns
 
PPTX
TIAD 2016 : Migrating 100% of your production services to containers
The Incredible Automation Day
 
PDF
Improve your Java Environment with Docker
HanoiJUG
 
PPTX
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
PDF
Docker Basics & Alfresco Content Services
Sujay Pillai
 
PDF
Deep dive in container service discovery
Docker, Inc.
 
PPTX
Docker Security workshop slides
Docker, Inc.
 
PPTX
Baking docker using chef
Mukta Aphale
 
PDF
Seven perilous pitfalls to avoid with Java | DevNation Tech Talk
Red Hat Developers
 
PDF
Containerizing Hardware Accelerated Applications
Docker, Inc.
 
PDF
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Marcel Birkner
 
PDF
Docker for developers on mac and windows
Docker, Inc.
 
PDF
Zero downtime deployment of micro-services with Kubernetes
Wojciech Barczyński
 
PDF
Continuous Deployment with Jenkins on Kubernetes
Matt Baldwin
 
PDF
Troubleshooting tips from docker support engineers
Docker, Inc.
 
PPTX
Next-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
JavaDayUA
 
PDF
4K–Kubernetes with Knative, Kafka and Kamel
Red Hat Developers
 
Red hat ansible automation technical deck
Juraj Hantak
 
Building kubectl plugins with Quarkus | DevNation Tech Talk
Red Hat Developers
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Docker, Inc.
 
Drone CI - Container native continuous Integration / Delivery
Patrick Jahns
 
TIAD 2016 : Migrating 100% of your production services to containers
The Incredible Automation Day
 
Improve your Java Environment with Docker
HanoiJUG
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
Docker Basics & Alfresco Content Services
Sujay Pillai
 
Deep dive in container service discovery
Docker, Inc.
 
Docker Security workshop slides
Docker, Inc.
 
Baking docker using chef
Mukta Aphale
 
Seven perilous pitfalls to avoid with Java | DevNation Tech Talk
Red Hat Developers
 
Containerizing Hardware Accelerated Applications
Docker, Inc.
 
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Marcel Birkner
 
Docker for developers on mac and windows
Docker, Inc.
 
Zero downtime deployment of micro-services with Kubernetes
Wojciech Barczyński
 
Continuous Deployment with Jenkins on Kubernetes
Matt Baldwin
 
Troubleshooting tips from docker support engineers
Docker, Inc.
 
Next-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
JavaDayUA
 
4K–Kubernetes with Knative, Kafka and Kamel
Red Hat Developers
 

Viewers also liked (9)

PDF
JavaDay Lviv: Serverless Archtiectures
Antons Kranga
 
PDF
Antons Kranga Building Agile Infrastructures
Antons Kranga
 
PDF
DevTernity - DevOps with smell
Antons Kranga
 
PPTX
DevOps Hackathon - Session 1: Vagrant
Antons Kranga
 
PPTX
Riga dev day: Lambda architecture at AWS
Antons Kranga
 
PDF
OpenSlava Infrastructure Automation Patterns
Antons Kranga
 
PPTX
DevOps Hackathon: Session 3 - Test Driven Infrastructure
Antons Kranga
 
PPTX
OpenSlava 2014 - CloudFoundry inside-out
Antons Kranga
 
PDF
DevOps Days Tel Aviv - Serverless Architecture
Antons Kranga
 
JavaDay Lviv: Serverless Archtiectures
Antons Kranga
 
Antons Kranga Building Agile Infrastructures
Antons Kranga
 
DevTernity - DevOps with smell
Antons Kranga
 
DevOps Hackathon - Session 1: Vagrant
Antons Kranga
 
Riga dev day: Lambda architecture at AWS
Antons Kranga
 
OpenSlava Infrastructure Automation Patterns
Antons Kranga
 
DevOps Hackathon: Session 3 - Test Driven Infrastructure
Antons Kranga
 
OpenSlava 2014 - CloudFoundry inside-out
Antons Kranga
 
DevOps Days Tel Aviv - Serverless Architecture
Antons Kranga
 
Ad

Similar to Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes (20)

PDF
Docker+java
DPC Consulting Ltd
 
PPTX
Kubernetes Introduction
Eric Gustafson
 
PPTX
Docker and kubernetes
Dongwon Kim
 
PDF
Containerize! Between Docker and Jube.
Henryk Konsek
 
PDF
Containerize!
Henryk Konsek
 
PDF
Package your Java EE Application using Docker and Kubernetes
Arun Gupta
 
PDF
Kubernetes for the PHP developer
Paul Czarkowski
 
PDF
Cloud-native applications with Java and Kubernetes - Yehor Volkov
Kuberton
 
PDF
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
DataArt
 
PDF
Best Practices for Developing & Deploying Java Applications with Docker
Eric Smalling
 
PDF
oci-container-engine-oke-100.pdf
NandiniSinghal16
 
PDF
A DevOps guide to Kubernetes
Paul Czarkowski
 
PPTX
HA Kubernetes on Mesos / Marathon
Cobus Bernard
 
PPTX
Beginners Guide to Kontena
Lauri Nevala
 
PPTX
Beginners Guide To Kontena
Kontena, Inc.
 
PDF
Kubernetes in Google Cloud
Abilash Rajasekaran
 
PDF
DCSF 19 Docker Enterprise Platform and Architecture
Docker, Inc.
 
PDF
Get you Java application ready for Kubernetes !
Anthony Dahanne
 
PPTX
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
PPTX
Galera on kubernetes_no_video
Patrick Galbraith
 
Docker+java
DPC Consulting Ltd
 
Kubernetes Introduction
Eric Gustafson
 
Docker and kubernetes
Dongwon Kim
 
Containerize! Between Docker and Jube.
Henryk Konsek
 
Containerize!
Henryk Konsek
 
Package your Java EE Application using Docker and Kubernetes
Arun Gupta
 
Kubernetes for the PHP developer
Paul Czarkowski
 
Cloud-native applications with Java and Kubernetes - Yehor Volkov
Kuberton
 
Разработка cloud-native Java-приложений для Kubernetes, Егор Волков,Senior Ja...
DataArt
 
Best Practices for Developing & Deploying Java Applications with Docker
Eric Smalling
 
oci-container-engine-oke-100.pdf
NandiniSinghal16
 
A DevOps guide to Kubernetes
Paul Czarkowski
 
HA Kubernetes on Mesos / Marathon
Cobus Bernard
 
Beginners Guide to Kontena
Lauri Nevala
 
Beginners Guide To Kontena
Kontena, Inc.
 
Kubernetes in Google Cloud
Abilash Rajasekaran
 
DCSF 19 Docker Enterprise Platform and Architecture
Docker, Inc.
 
Get you Java application ready for Kubernetes !
Anthony Dahanne
 
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
Galera on kubernetes_no_video
Patrick Galbraith
 
Ad

More from Antons Kranga (6)

PPTX
Model Context Protocol - path to LLM standartization
Antons Kranga
 
PDF
DevOps.2D: two dimensions
of engineering
Antons Kranga
 
PDF
Top conf serverlezz
Antons Kranga
 
PDF
Riga DevDays 2017 - Efficient AWS Lambda
Antons Kranga
 
PPTX
OpenSlava 2015 When DevOps Hurts
Antons Kranga
 
PPTX
DevOps hackathon Session 2: Basics of Chef
Antons Kranga
 
Model Context Protocol - path to LLM standartization
Antons Kranga
 
DevOps.2D: two dimensions
of engineering
Antons Kranga
 
Top conf serverlezz
Antons Kranga
 
Riga DevDays 2017 - Efficient AWS Lambda
Antons Kranga
 
OpenSlava 2015 When DevOps Hurts
Antons Kranga
 
DevOps hackathon Session 2: Basics of Chef
Antons Kranga
 

Recently uploaded (20)

PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
July Patch Tuesday
Ivanti
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
July Patch Tuesday
Ivanti
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 

Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes