Architecture
Right-click -> “Open image in new tab” to view full-size.
The above figure shows the conceptual design of this demo app. For illustrative purposes, we show additional services and database servers in the figure (as opposed to one of each in the actual implemenation). We implement a single-node Kubernetes cluster using kind
, which runs within a Docker container on the host machine.
The Kubernetes Services of the demo app are shown in grey, with the Traefik service providing access to the internal services of the app using HTTPRoute
objects for configuration. The internal services of the app can communicate with each other directly using the kind
node’s built-in DNS service.
Exposing the app
Note that ports 8000 and 9000 are exposed to localhost
only by default. For security reasons, do not expose the Traefik dashboard (port 9000) to the internet. To expose the web app, we can use a public reverse proxy service such as ngrok
(using these instructions).