VDB16 - DIY Java & Kubernetes

download VDB16 - DIY Java & Kubernetes

If you can't read please download the document

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