Skip to main content

Networking
ENTERPRISE

NGINX Ingress Controller Configuration

If you use NGINX as an ingress controller and the datasource agent reports a HTTP 413 error message, it is likely that NGINX is limiting the datasource traffic. Increase the allowed maximum body size by adding nginx.org/client-max-body-size: "50m" to the Ingress.

For more information about NGINX body size limit, see github.com/nginxinc/kubernetes-ingress#21.

Configure a Second Ingress

Configure a second ingress by adding the URL of a second Kubernetes ingress controller by overriding or setting global.enable_secondary_ingress in values.yaml to true and overriding or editing the empty setting under tenants.features.SECONDARY_INGRESS_URL, or editing config.json under the features section. Details may be found in the Configure Feature Flags section of this document. Adding a second ingress will redirect status and discovery APIs for all tenants to the second ingress URL. All remaining APIs are hosted off the original default URL. Leaving this blank (default) uses the one URL for all APIs. This prevents the Styra DAS UI from becoming unavailable due to overloaded ingress activity during a decision surge.

Use a NodePort as Ingress

If you have issues in configuring a load balancer or Ingress, then you can change the gateway-public service to use a NodePort type within standard-external-http.yaml.

For example:

apiVersion: v1
kind: Service
metadata:
name: gateway-public
spec:
selector:
app: gateway
ports:
- name: http
protocol: TCP
port: 80
targetPort: 8080
nodePort: 30036
type: NodePort
important

Be sure to set the ingress_url value in settings.yaml appropriately for your NodePort service configuration, for example, ingress_url: http://<worker-node>:<node-port>.