Skip to content

dimMaryanto93/springboot-k8s-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Springboot as service in kubernate (k8s)

Untuk menjalankan springboot di container / pod kubernate kita memerlukan build image docker yang di push ke docker-registry

Build image menggunakan maven plugin dockerfile

Berikut adalah command untuk melakukan build dan publish image ke docker.io

mvn clean package dockerfile:build dockerfile:push

Setelah di push make sure, image telah ter-created di hub.docker.io. contohnya pada repository berikut dimmaryanto93/springboot-k8s-example

configure kubernate

System required:

Setelah semuanya terinstall, kita jalankan service minikube dengan perintah seperti berikut:

minikube start

Berikut outputnya:

😄  minikube v1.0.0 on darwin (amd64)
🤹  Downloading Kubernetes v1.14.0 images in the background ...
🔥  Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ...
📶  "minikube" IP address is 192.168.99.109
🐳  Configuring Docker as the container runtime ...
🐳  Version of container runtime is 18.06.2-ce
⌛  Waiting for image downloads to complete ...
✨  Preparing Kubernetes environment ...
🚜  Pulling images required by Kubernetes v1.14.0 ...
🚀  Launching Kubernetes v1.14.0 using kubeadm ... 
⌛  Waiting for pods: apiserver proxy etcd scheduler controller dns
🔑  Configuring cluster permissions ...
🤔  Verifying component health .....
💗  kubectl is now configured to use "minikube"
🏄  Done! Thank you for using minikube!

run service springboot into k8s

berikut perintahnya untuk merunning application springboot di kubernates:

kubectl run springboot-k8s-example --image=dimmaryanto93/springboot-k8s-example:0.0.1-SNAPSHOT --port=8080

Selanjutnya kita bisa check lewat kubernate-api, dengan perintah berikut:

kubectl get deployments

berikut outputnya:

NAME                     READY   UP-TO-DATE   AVAILABLE   AGE
springboot-k8s-example   0/1     1            0           41s

Sekarang kita tinggal tunggu sampe statusnya READY, dan pastikan juga tidak ada error. selain itu juga kita bisa menggunakan ui (dashboard) dengan menggunakan command berikut:

minikube dashboard

Maka tapilanya akan seperti berikut:

minikube dashboard

Expose port

Untuk mengakses service springboot kita perlu expose service-nya dengan perintah berikut:

kubectl expose deployment springboot-k8s-example \
--type=LoadBalancer \
--name=springboot-k8s-service-example \
--port=80 \
--target-port=8080

Setelah membuat service di kubernate, sekarang kita bisa view hasilnya dengan menggunakan perintahya seperti berikut:

minikube service springboot-k8s-service-example

berikut hasilnya:

hasilnya

About

deploy springboot service to kubernates + hub.docker.io

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published