Add simple Kubernetes example
This commit is contained in:
51
examples/kubernetes-simple/README.md
Normal file
51
examples/kubernetes-simple/README.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# PlantUML Kubernetes Deployment
|
||||
|
||||
In this example, PlantUML is deployed on an Kubernetes cluster using a `Deployment`, a `Service` and an `Ingress`.
|
||||
|
||||
## Quick start
|
||||
|
||||
Install:
|
||||
|
||||
```bash
|
||||
# Hint: Adjust the Ingress host to your URL
|
||||
|
||||
kubectl create ns plantuml
|
||||
kubectl -n plantuml apply -f deployment.yaml
|
||||
```
|
||||
|
||||
Uninstall:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
[...]
|
||||
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
|
||||
|
||||
```bash
|
||||
# see whats going on inside your Deployment
|
||||
kubectl -n plantuml logs -l "app.kubernetes.io/name=plantuml"
|
||||
```
|
||||
Reference in New Issue
Block a user