Demo for school usage: Quarkus Application Server Backend, Single Source Of Truth Web-Application, Kubernetes Cloud Computing
This project consists of 3 parts:
- the quarkus microprofile backend service
- the Frontend Web Application in the www folder
- the kubernetes deployment in the k8s folder
The backend server must be compiled and deployed to your github container registry.
Before building you must follow the steps in readme.md in the k8s folder to change the deployment target to your ghcr.io repository on github.
Then run
./build-and-deploy.sh
You can run the application on any kubernetes Platform. Examples are:
- minikube
- Docker - Desktop
- LeoCloud (https://cloud.htl-leonding.ac.at/)
- any other cloud ...
- jdk
- maven
- nodejs
- npm
- VS-Code or Intellij
- docker
- minikube
- kubectl
Should work out-of-the box
First install docker. Then add your user to the docker group:
sudo usermod -aG docker $USER
Then logout and login again.
Now you can start docker with:
sudo service docker start
There is a script ./k8s/install-kube.sh to install minikube and kubectl on Ubuntu.
After that start minikube and check that minikube is ready:
minikube start
minikube addons enable dashboard
minikube addons enable metrics-server
minikube dashboard
kubectl get nodes
Windows users should install Ubuntu on wsl2. And then continue using the instructions for linux.
Docker-Desktop can be used instead of minikube and portman. In that case kubernetes must be enabled in Docker-Desktop and then the standard storage class must be installed with docker-standard-storage-class.yaml:
kubectl apply -f k8s/docker-desktop/docker-standard-storage-class.yaml
sudo apt install -y openjdk-17-jdk maven nodejs npm podman