You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`controller.service.nodePorts.https` | If `controller.service.type` is either `NodePort` or `LoadBalancer` and this is non-empty, it sets the nodePort that maps to the Ingress' port 443 | `""`
120
120
`controller.service.nodePorts.tcp` | Sets the nodePort for an entry referenced by its key from `tcp` | `{}`
121
121
`controller.service.nodePorts.udp` | Sets the nodePort for an entry referenced by its key from `udp` | `{}`
122
+
`controller.service.internal.enabled` | Enables an (additional) internal load balancer | false
123
+
`controller.service.internal.annotations` | Annotations for configuring the additional internal load balancer | `{}`
122
124
`controller.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | 10
123
125
`controller.livenessProbe.periodSeconds` | How often to perform the probe | 10
124
126
`controller.livenessProbe.timeoutSeconds` | When the probe times out | 5
@@ -314,6 +316,48 @@ controller:
314
316
domainName: "kubernetes-example.com"
315
317
```
316
318
319
+
## Additional internal load balancer
320
+
321
+
This setup is useful when you need both external and internal load balancers but don't want to have multiple ingress controllers and multiple ingress objects per application.
322
+
323
+
By default, the ingress object will point to the external load balancer address, but if correctly configured, you can make use of the internal one if the URL you are looking up resolves to the internal load balancer's URL.
324
+
325
+
You'll need to set both the following values:
326
+
327
+
`controller.service.internal.enabled`
328
+
`controller.service.internal.annotations`
329
+
330
+
If one of them is missing the internal load balancer will not be deployed. Example you may have `controller.service.internal.enabled=true` but no annotations set, in this case no action will be taken.
331
+
332
+
`controller.service.internal.annotations`varies with the cloud service you're using.
An use case for this scenario is having a split-view DNS setup where the public zone CNAME records point to the external balancer URL while the private zone CNAME records point to the internal balancer URL. This way, you only need one ingress kubernetes object.
359
+
360
+
317
361
## Ingress Admission Webhooks
318
362
319
363
With nginx-ingress-controller version 0.25+, the nginx ingress controller pod exposes an endpoint that will integrate with the `validatingwebhookconfiguration` Kubernetes feature to prevent bad ingress from being added to the cluster.
0 commit comments