Nginx
Ingress resource(s) in Kubernetes helps provide Service(s) externally-reachable URLs, load balance traffic, terminate SSL / TLS, and offer name-based virtual hosting. NGINX integration is an Ingress controller responsible for fulfilling the Ingress, usually with a load balancer, though it may also configure your edge router or additional frontends to help handle the traffic.
Versions Supported
- 1.4.x
- 1.3.x
- 1.2.x
- 1.0.x
- 0.26.x
- 0.43.x
- 1.4.0
- 1.3.0
-
1.2.5
1.2.4
1.2.3
1.2.1 (deprecated)
1.2.0 (deprecated)
- 1.0.4
- 0.26.1
- 0.43.0
Components
Integration creates the following components:
- Ingress Controller.
- Default Backend.
Default SSL Certificate
NGINX Ingress controller provides an option to set a default SSL certificate to be used for requests that do not match any of the configured server names. The default certificate will also be used for ingress tls: sections that do not have a secretName option. Below steps will come in handy to set the default certificate.
- Create a secret with key and certificate
kubectl -n kube-system create secret tls ingress-tls --cert server.crt --key server.key
- Edit Nginx ingress pack values to include extraArgs.default-ssl-certificate section which will reference the secret
created above
charts:
nginx-ingress:
fullnameOverride: "nginx-ingress"
controller:
...
...
extraArgs:
default-ssl-certificate: "kube-system/ingress-tls"
Troubleshooting
For basic troubleshooting, refer the below troubleshooting guide: https://github.com/kubernetes/ingress-nginx/blob/master/docs/troubleshooting.md