Sample web application based on k8s. Focus on connecting components, setting k8s resources, and aiming to microservices. The k8s-3tier-webapp service is for PoC, not production ready.
More details at sonarcloud
| Tier | Name | Description |
|---|---|---|
| 1 | Frontend | Web page, Application logic, Static file |
| 2 | Backend | Database, Cache, Messaging |
| 3 | Management | Monitoring, CI/CD, Tracing |
- Choice better architecture what you expect based on k8s
- Help understanding k8s resources based on yaml
- Test automation on Github Actions for free
- Expand test automation - unit, end-to-end, performance, recovery, security
- Keep observability for monitoring services
- Improve application quality using public CI services that following Github
- All docker components run on k8s
- All application written by Java mostly Quarkus
- k8s resources written by yaml, try not to use helm, operator
- Use only public software, not commercial
- Use Github Actions for build, test, release
Installed CLI commands.
- 💻 docker
- 💻 kubectl
- 💻 minikube
minikube config set memory 121288
minikube config set cpus 6
minikube config set disk-size 80g
minikube start
minikube addons enable ingress
kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission
eval $(minikube docker-env)minikube config set memory 121288
minikube config set cpus 6
minikube config set disk-size 80g
minikube start
minikube addons enable ingress
kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission
minikube docker-env --shell powershell | Invoke-Expressionapply.sh supports kubectl apply to k8s clusters.
./kubernetes/bin/apply.shAdd IP, domain in /etc/hosts
echo `minikube ip` k8s.3tier.webapp api.server.minikube \
rabbitmq.management.minikube jenkins.minikube alertmanager.minikube prometheus.minikube \
grafana.minikube jupyter.minikube hazelcast.manager.minikube activemq.management.minikube \
jaeger.minikube argo.minikube >> /etc/hosts| Service | URL |
|---|---|
| Top Page | http://k8s.3tier.webapp/ |
| Rabbitmq Management Console | http://rabbitmq.management.minikube |
| Activemq Management Console | http://activemq.management.minikube |
Java based web application for application
Yaml based kubernetes manifests for kubernetes
Set up monitoring for Tier 3
k8s-3tier-webapp is licensed under the MIT License. See LICENSE for the full license text.

