<p>I'm getting below error whenever I'm trying to apply an ingress resource/rules yaml file:</p>
<p><em><strong>failed calling webhook &quot;validate.nginx.ingress.kubernetes.io&quot;: Post &quot;https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/v1/ingresses?timeout=10s&quot;: EOF</strong></em></p>
<p>It seems there are multiple errors for &quot;failed calling webhook &quot;validate.nginx.ingress.kubernetes.io&quot;: Post &quot;https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/v1/ingresses?timeout=10s&quot;: <em>Error here</em></p>
<p>Like below:</p>
<ol>
<li>context deadline exceeded</li>
<li>x509: certificate signed by unknown authority</li>
<li>Temporary Redirect</li>
<li>EOF</li>
<li>no endpoints available for service &quot;ingress-nginx-controller-admission&quot;</li>
</ol>
<p>...and many more.</p>
<p><strong>My Observations:</strong></p>
<p>As soon as the the ingress resource/rules yaml is applied, the above error is shown and the Ingress Controller gets restarted as shown below:</p>
<pre><code>NAME                                        READY   STATUS      RESTARTS          AGE
ingress-nginx-controller-5cf97b7d74-zvrr6   1/1     Running            6          30m
ingress-nginx-controller-5cf97b7d74-zvrr6   0/1     OOMKilled          6          30m

ingress-nginx-controller-5cf97b7d74-zvrr6   0/1     CrashLoopBackOff   6          30m

ingress-nginx-controller-5cf97b7d74-zvrr6   0/1     Running            7          31m

ingress-nginx-controller-5cf97b7d74-zvrr6   1/1     Running            7          32m
</code></pre>
<p>One possible solution could be (not sure though) mentioned here:
<a href="https://stackoverflow.com/a/69289313/12241977">https://stackoverflow.com/a/69289313/12241977</a></p>
<p>But not sure if it could possibly work in case of Managed Kubernetes services like AWS EKS as we don't have access to kube-api server.</p>
<p>Also the section &quot;kind: ValidatingWebhookConfiguration&quot; has below field from yaml:</p>
<pre><code>clientConfig:
  service:
    namespace: ingress-nginx
    name: ingress-nginx-controller-admission
    path: /networking/v1/ingresses
</code></pre>
<p>So what does the &quot;path: /networking/v1/ingresses&quot; do &amp; where it resides or simply where we can find this path?
I checked the validation webhook using below command but, not able to get where to find the above path</p>
<pre><code>kubectl describe validatingwebhookconfigurations ingress-nginx-admission
</code></pre>
<p><strong>Setup Details</strong></p>
<p>I installed using the <a href="https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal-clusters" rel="nofollow noreferrer">Bare-metal method</a> exposed with NodePort</p>
<p>Ingress Controller Version - <a href="https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.0/deploy/static/provider/baremetal/deploy.yaml" rel="nofollow noreferrer">v1.1.0</a></p>
<p>Kubernetes Cluster Version (AWS EKS): 1.21</p>

<p>Ok, I got this working now:
I was getting the status as &quot;OOMKilled&quot; (Out Of Memory). So what I did is I've added the &quot;limits:&quot; section under &quot;resources:&quot; section of Deployment yaml as below:</p>
<pre><code>      resources:
        requests:
          cpu: 100m
          memory: 90Mi
        limits:              
          cpu: 200m
          memory: 190Mi
</code></pre>
<p>Now, it works fine for me.</p>
