Kubernetes for Java Developers
@sandrogiacom
Kubernetes for Java Developers
The ​​technology area is cyclical, from time to time the
same technologies come back, with different names.
(Heidemann, Vanei)
Series available at https://dev.to/sandrogiacom/kubernetes-for-java-
developers-setup-41nk
I’m here
I'm working with Java micro-services that integrate and
depend on many other services.
The microservices are packaged in docker containers and
run in a kubernetes cluster.
Kubernetes?
Kubernetes is a portable, extensible open-source
platform for managing containerized workloads and
services, that facilitates both declarative configuration
and automation. It has a large, rapidly growing
ecosystem. Kubernetes services, support, and tools are
widely available.
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
Setup
● Docker
● Minikube
● Kubectl
● VirtualBox
● GNU make (recommended)
https://github.com/sandrogiacom/k8s
Before run
Clone demo app
https://github.com/sandrogiacom/java-kubernetes
Step one - Standalone App
Step two - Docker App
Step three - App on Kubernetes
Local Running
Minikube
Docker
Kubectl
Start Minikube
minikube -p dev.to start --cpus 2 --memory=4098
And?
K8s (K - ubernete - s)
Deployment
● Pods
● Replica Sets
Services
Ingress
Deploy Database and Application
Ingress
Application with friendly access
Deploy Database
kubectl apply -f kubernetes/mysql/
Build docker image local
eval $(minikube -p dev.to docker-env)
docker build --force-rm -t java-k8s .
Deploy App
kubectl apply -f kubernetes/app/
Debug
Prepare docker and kubernetes to allow
debugging
Good practices
● Use JRE images, not JDK
● Automate everything possible
● Use Environment variables
● Health Check
● Application info
● Monitoring / Logs
https://developers.redhat.com/books/microservices-java-developers-hands-introduction-frameworks-and-containers/old/
https://www.nginx.com/resources/library/docker-for-java-developers/
https://www.nginx.com/resources/library/kubernetes-for-java-developers/
http://www.javamagazine.mozaicreader.com/MayJune2019#&pageSet=0&page=0

Kubernetes for java developers

Editor's Notes

  • #13 minikube -p dev.to dashboard