<p>When the Ingress Nginx controller reach its full capacity does it auto scale?
Is Kubernetes Ingress even scalable?</p>

<p>In principle, the NGINX ingress controller is indeed scalable -- it pulls its entire configuration from the Kubernetes API server and is in itself basically stateless.</p>

<p>In practice, this depends very much on how your ingress controller is set up. First of all, the ingress controller will not auto-scale by itself. If you have deployed it using a <code>Deployment</code> controller, you can use <a href="https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/" rel="noreferrer">horizontal pod autoscaling</a> as described in the documentation. If you have deployed it using a <code>DaemonSet</code>, the ingress controller will automatically scale up and down with your cluster (maybe even automatically, if you're using the <a href="https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler" rel="noreferrer">cluster autoscaler</a>).</p>

<p>In both scenarios, you're going to need a <code>Service</code> definition (possibly of type <code>NodePort</code> or <code>LoadBalancer</code>, to allow for external traffic) that matches all pods created by the deployment/daemon set to distribute traffic among them.</p>
