How we can easily disable Ingress on Kubernetes? Read on the article to find out the various methods provided by our Support team.
As part of our Server Management Service, Bobcares provides answers to all of your questions.
Want to know more? Keep reading and In case you have any additional questions, get in touch with us.
Kubernetes Ingress
Ingress: An Ingress is an API object that exposes HTTP and HTTPS routes to services within the cluster from outside the cluster. Ingress also provides
- load balancing
- name-based virtual hosting
- SSL termination
Sometimes we need to disable the Kubernetes Ingress. For instance, by default the controller redirects (308) to HTTPS if TLS is enabled for that ingress. If we want to disable this behavior globally, we can use ssl-redirect: “false” in the NGINX. Let’s explore more ways in which we can disable the Kubernetes Ingress.
How To Disable The Default Ingress Controller?
By specifying none to the ingress provider directive in the cluster configuration, we can disable the default controller.
ingress:
provider: none
How To Disable NGINX Ingress Default Backend?
We can now disable the default backend service for the ingress controller as of v0.20.0. This is possible because ingress-nginx will fall back to a local 404 page if a backend service is not available. A boolean value can be set to enable or disable the service.
ingress:
default_backend: false
Let’s take another example involving the Kubernetes Ingress disabling. When the ingress just works fine but if it is pointing to the default backend with Fake Ingress Controller certificate. We require to disable this behavior of the ingress.
In this case, both ports 80 and 443 are open for the ingress controller. When we configure an ingress with only an 80 port, if we reach the 443 port, we will be redirected to the default backend, which is normal.
One solution is to add another nginx-controller that only listens on port 80. Then use kubernetes.io/ingress.class: myingress
to configure the ingresses. Change the daemonset’s command --ingress-class=myingress
when creating the new nginx-controller. It will then only handle ingress that is annotated with this class.
Now we can simply override the controller.ingressClass
value if helm deploys it.
Another solution for the issue is the removal of port 443 from the ingress controllers service definition. Then remove the https entry from the spec.ports
array.
apiVersion: v1
kind: Service
metadata:
name: mingress-nginx-ingress-controller
spec:
ports:
- name: https
nodePort: NNNNN
port: 443
protocol: TCP
targetPort: https
Although nginx will continue to listen on a TLS port, no clients outside the cluster will be able to connect to it.
[Need help with a different problem? We are happy to help.]
Conclusion
In brief, our skilled Support Team at Bobcares demonstrated how to disable Kubernetes ingress. The process involves specifying none to the ingress provider directive in the cluster configuration which disables the default ingress controller.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
0 Comments