VDB16 - DIY Java & Kubernetes
-
Upload
pance-cavkovski -
Category
Technology
-
view
57 -
download
1
Transcript of VDB16 - DIY Java & Kubernetes
PowerPoint Presentation
DIY Java & Kubernetes
Pance Cavkovski, Netcetera / JUG MK, #VDB16
whoami
senior software engineer @ Netcetera
jug.mk Leader
codefu.mk admin
hardware & IoT enthusiast
TTN Skopje initiator
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
Container orchestrator
Open-source system for automating deployment, scaling, and management of containerized applications.
Based on Google Borg
Cloud Native Computing Foundation
Kubernetes, usage
Commodity hardware, docker clusters, GCP (GKE)
Demos:
- 4 node GCP / GKE cluster
- gcloud sdk
- private GKE hub
Operations
kubectlPlugins / Web UIGoogle Cloud Console
Kubernetes, basics
Immutable infrastructure
Key concepts
- Pods
- Labels
- Deployments(Replication Controllers)
- Services
- Persistent disk
Kubernetes, 1.1 1.4
1.2: Deployments, new GUI, scale improvements
1.3: Automated scaling (GKE), cluster federation, jobs, minikube, kube (dashboard) UI
1.4: kubeadm init/join, improvements everywhere
Demo!
Image build / push
Visualization proxy (gcp-live-k8s-visualizer)
Controller, pods
Service
Scaling
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
Kube UI
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/hsilomedushttps://github.com/hsilomedus
Click to edit the title text formatClick to edit Master title style
9/29/16
Click to edit the title text formatClick to edit Master title style
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelEdit Master text styles
9/29/16
Click to edit the title text formatClick to edit Master title style
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelEdit Master text styles
Second level
Third level
Fourth level
Fifth level
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelEdit Master text styles
9/29/16
Click to edit the title text formatClick to edit Master title style
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelEdit Master text styles
Second level
Third level
Fourth level
Fifth level
9/29/16
Click to edit the title text formatClick to edit Master title style
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelClick icon to add picture
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline LevelEdit Master text styles
9/29/16