My current portfolio project is a Minimal Kubernetes Cluster on AWS with Terraform, K3S, Istio Gateway, Spring Boot Microservices, Keycloak OAuth2 Authorization Server, Swagger UI and Jaeger Distributed Tracing.
This cluster hosts fully functional production-ready Swagger UI REST Client and Keycloak Authorization Server, which are ready to authenticate users, serve requests 24/7 and save data to MongoDB and MySQL database.
As a fully-working example, I exposed:
- Books Online Microservices Demo, with Swagger UI REST client and Keycloak Authorization Server on my registered domain: https://istio.skycomposer.net/product-composite/swagger-ui/index.html
username: test password: test
- Keycloak Authorization Server Admin Console for admin users: https://istio.skycomposer.net
admin login: admin@keycloak admin password: my-keycloak-password
The estimated cost of such production 24/7 environment on AWS is about 60 Euros per month:
This environment setup includes:
- Registered skycomposer.net domain
- Registered certificate for this domain to enable secure HTTPS connection
- K3S Kubernetes Cluster
- Virtual Private Cloud with public subnets
- AWS HTTPS Application Load Balancer and Traefik Ingress Controller exposing secured HTTPS REST API
- External DNS with registered DNS record for HTTPS certificate
- Books Online Microservices Demo, with Swagger UI REST client (see https://istio.skycomposer.net/product-composite/swagger-ui/index.html)
- Keycloak Authorization Server Admin Console for creation of new users and managing their OAuth2 JWT tokens (see https://istio.skycomposer.net)
- All Microservices are exposed with Istio Gateway and secured with HTTPS and Keycloak Authorization Server.
Swagger UI: https://istio.skycomposer.net/product-composite/swagger-ui/index.html
Keycloak Admin Console: https://istio.skycomposer.net
Jaeger Distributed Tracing: https://istio.skycomposer.net/jaeger
Kiali Management Console: https://istio.skycomposer.net/kiali
See more details in these step-by-step instructions: https://github.com/skyglass/books-online-microservices-demo
See some more details in these articles: https://www.linkedin.com/posts/michaelsklyar_jaeger-keycloak-swagger-activity-6822750568948232192-XY5w
https://www.linkedin.com/posts/michaelsklyar_keycloak-oauth2-aws-activity-6807089625245483008-zVqp
https://www.linkedin.com/posts/michaelsklyar_istio-aws-kubernetes-activity-6814366718954090496-0Lh_