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-Expression
apply.sh
supports kubectl apply
to k8s clusters.
./kubernetes/bin/apply.sh
Add 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.