Docker and k8s
Spring boot and mysql database running on docker
Clone from repository
git clone https://github.com/anup1384/java-k8s.git
Build application
mvn clean install
Create a Dockerfile:
FROM openjdk:11.0.3-jdk-slim
COPY target/*.jar /var/www/app.jar
EXPOSE 8080
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -jar /var/www/app.jar" ]
We have an application and image running in docker Now, we deploy application in a kunernetes cluster running in our machine
Prepare
minikube start
kubectl apply -f k8s/mysql/
create mysql deployment and service
kubectl get pods
kubectl port-forward <pod_name> 3306:3306
kubectl apply -f k8s/app
create app deployment and service
kubectl get pods
Delete pod
kubectl delete pod -n myapp-f7974h497-82k4r
Replicas
kubectl get rs
Scale
kubectl scale deployment/myapp --replicas=2
View replicas
while true do curl "http://minikubeip/hello" echo sleep 2 done
minikube service myapp --url
Change your IP and PORT as you need it
curl -X GET http://192.168.99.132:31838/persons
Add new Person
curl -X POST http://192.168.99.100:31838/persons -H "Content-Type: application/json" -d '{"name": "New Person", "birthDate": "2000-10-01"}'