This is a sample web application based on k8s with a focuse on connecting components, setting up k8s resources, and deploying microservices. This is for PoC only and not for use in a production environment.
Tier | Name | Description |
---|---|---|
1 | Frontend | Web page, Application logic, Static file |
2 | Backend | Database, Cache, Messaging |
3 | Management | Monitoring, CI/CD, Tracing |
- k8s resources defined with yaml manifests
- Test automation utilizing Github Actions
- Automated unit, end-to-end, performance, recovery, & security tests
- Provide monitoring services for observability
- Improve application quality using public CI services
- All docker components run on k8s
- Utilizes Quarkus, a full-stack, Kubernetes-native, Java App Framework tailored for OpenJDK & GraalVM to ensure a small memory footprint and reduced boot time.
- k8s resources defined in yaml manifests
- Utilizes only public, non commercial software
- Utilizes 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 openliberty.minikube spring.minikube 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/ |
Open Liberty | http://openliberty.minikube |
Spring Boot | http://spring.minikube |
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