To demonstrate some cluster functionality, I set up a demo application with 4 microservices, a web server & a database/cache (Redis).
The application can be accessed using the appdomain on https://aquarium.app.konst.fish/. (Ingress Source) The source code & Kubernetes manifests are in this git repo.
The app also features complete observability, part of the platforms offered functionality, which can be viewed here https://showcase-grafana.app.konst.fish/ (This is behind Zero Trust, all members of the GitHub Org are authorized)
Architecture Graph
flowchart LR User ==> ing subgraph Monitoring Namespace lk(Loki) prom(Prometheus) tempo(Tempo) end subgraph sn [Showcase Namespace] ing{{Ingress}} ==> tank ing ==> tetra ing ==> butter ing ==> puffer tank(Tank) --> sprite(Sprite Service) sprite --> redis puffer(Puffer) --> tetra puffer --> butter tetra(Tetra) --> redis butter(Butterfly) --> redis redis(Redis) --> star star(Starfish) otel(OTel Collector) tetra -.-> otel puffer -.-> otel star -.-> otel butter -.-> otel sm{{Service Monitor}} -.-> tetra sm -.-> puffer sm -.-> butter sm -.-> star end lk --> sn prom --> sm otel --> tempo