plantuml-server/examples/kubernetes-simple/README.md

1.1 KiB

PlantUML Kubernetes Deployment

In this example, PlantUML is deployed on an Kubernetes cluster using a Deployment, a Service and an Ingress.

Quick start

Install:

# Hint: Adjust the Ingress host to your URL

kubectl create ns plantuml
kubectl -n plantuml apply -f deployment.yaml

Uninstall:

kubectl -n plantuml delete -f deployment.yaml
kubectl delete ns plantuml

TLS configuration

Create a TLS Secret and extend the Ingress spec with a TLS configuration:

[...]
  tls:
  - hosts:
    - plantuml-example.localhost
    secretName: plantuml-tls

Since the Ingress Controller terminates the TLS and routes http to the application, we might need to tell the application explicitly that it got a forwarded request.

This configuration changes depending on the Ingress Controller. Here an nginx example:

annotations:
  kubernetes.io/ingress.class: nginx
  nginx.ingress.kubernetes.io/configuration-snippet: |
    more_set_headers "X-Forwarded-Proto: https";

Useful commands

# see whats going on inside your Deployment
kubectl -n plantuml logs -l "app.kubernetes.io/name=plantuml"