Skip to content

NGINX Ingress Controller

The NGINX Ingress Controller is responsible for routing all incoming requests using either path or domain based routing.

There are several NGINX Ingress charts out there. The one that supports path regex is from https://kubernetes.github.io/ingress-nginx/deploy, specifically https://kubernetes.github.io/ingress-nginx` repo.

Both the Flamenco Manager and Grafana need websockets and the NGINX Proxy is configured to “upgrade” to HTTP1.1 to support them. In newer versions of NGINX Proxy this is done automatically.

The default 1MB proxy-body-size is not sufficient for Flamenco Add-on to post most Blender project files to Flamenco Manager. So it has to be increased.

It is set to 10MB in this example by updating the k8s ConfigMap for the nginx-ingress controller.

kubectl -n ingress describe configmap nginx-ingress-nginx-ingress
Name:         ingress-nginx-controller
Namespace:    ingress
Labels:       app.kubernetes.io/component=controller
              app.kubernetes.io/instance=ingress-nginx
              app.kubernetes.io/managed-by=Helm
              app.kubernetes.io/name=ingress-nginx
              app.kubernetes.io/part-of=ingress-nginx
              app.kubernetes.io/version=1.7.1
              helm.sh/chart=ingress-nginx-4.6.1
Annotations:  meta.helm.sh/release-name: ingress-nginx
              meta.helm.sh/release-namespace: ingress

Data
====
allow-snippet-annotations:
----
true
proxy-body-size:
----
2000m

BinaryData
====

Events:  <none>

Notes

This was not at all obvious how to set in the nginx-ingress chart as this property has many names. The chart-related name that should appear in the ConfigMap is proxy-body-size and not an annotation client-max-body-size.

“The entries of the ConfigMap for customizing NGINX configuration. See ConfigMap resource docs for the list of supported ConfigMap keys.”

References: