DIY Java &
Kubernetes
Pance Cavkovski, Netcetera / JUG MK, jPrime
2016
whoamisenior software engineer @ Netcetera
jug.mk Leader
codefu.mk admin
hardware & IoT enthusiast
http://pance.mk/ and @hsilomedus
Disclaimer
Not affiliated with Google, Pivotal or Docker
Not an expert talk, my findings and experiments
Many thanks to:
– Ray Tsang (@saturnism)
– Arjen Wassink (@ArjenWassink)
Spring Boot
Spring boot
Simplifies start and configuration of Spring apps
Pre-configured deps., embedded app-server, jar
packing
“Cloud native” Java
Check out: http://start.spring.io/
Docker
+ Spring Boot
Docker + Spring Boot
1. Have Spring Boot app and Docker installed
2. (reuse) Dockerfile
3. Spotify docker maven plugin (mvn docker:build)
4. Run/Push
Demo!
Spring Boot, Dockerfile, spotify maven plugin,
run/push
Kubernetes
Kubernetes
Greek: helmsman, pilot
Open source container cluster manager
(orhcestrator)
Based on Google's Borg
Cloud Native Computing Foundation
Kubernetes, usage
Commodity hardware, docker clusters, GCP
Demos:
- 4 node GCP / GCE cluster
- gcloud sdk
- private GCE hub
Operations
kubectl
Plugins / Web UI
Google Cloud
Console
Kubernetes, basics
Immutable infrastructure
Key concepts
- Pods
- Labels
- (Replication) Controllers
- Services
Demo!
Image build / push
Visualization proxy (gcp-live-k8s-visualizer)
Controller, pods
Scaling
Service
Rolling update
Cleanup
Microservices
Microservices
Image credit to @alvaro_sachez
Demo!
Split app (ui, service, DB)
Session replication
Services and discovery (mysql, redis, service, ui)
.yaml descriptors
Pod operations and failures
Cleanup
Homemade cluster
5xRasPi2 + HypriotOS
Containerized Kubernetes
3D printed stack
(available at thingiverse)
Cheap, but slower and ARM
Q / A ?
http://pance.mk/
https://twitter.com/hsilomedus
https://github.com/hsilomedus

DIY Java & Kubernetes

Editor's Notes

  • #2 <number>
  • #3 <number>