<p>I am using K8S version 19.</p>
<p>I tried to install second nginx-ingress controller on my server (I have already one for Linux so I tried to install for Windows as well)</p>
<pre><code>helm install nginx-ingress-win ingress-nginx/ingress-nginx 
-f internal-ingress.yaml 
--set controller.nodeSelector.&quot;beta\.kubernetes\.io/os&quot;=windows 
--set defaultBackend.nodeSelector.&quot;beta\.kubernetes\.io/os&quot;=windows 
--set controller.admissionWebhooks.patch.nodeSelector.&quot;beta\.kubernetes\.io/os&quot;=windows 
--set tcp.9000=&quot;default/frontarena-ads-win-test:9000&quot;
</code></pre>
<p>This failed with &quot;Error: failed pre-install: timed out waiting for the condition&quot;.</p>
<p>So I have run helm uninstall to remove that chart</p>
<pre><code>helm uninstall nginx-ingress-win
release &quot;nginx-ingress-win&quot; uninstalled
</code></pre>
<p>But I am getting Validation Webhook Pod created constantly</p>
<pre><code>kubectl get pods
NAME                                                      READY   STATUS              RESTARTS   AGE

nginx-ingress-win-ingress-nginx-admission-create-f2qcx    0/1     ContainerCreating   0          41m
</code></pre>
<p>I delete pod with <code>kubectl delete pod</code> but it get created again and again.</p>
<p>I tried also
<code>kubectl delete -A ValidatingWebhookConfiguration nginx-ingress-win-ingress-nginx-admission</code> but I am getting message <code>not found</code> for all combinations. How I can resolve this and how I can get rid off this?
Thank you!!!</p>

<p>If this <code>Pod</code> is managed by a <code>Deployment</code>,<code>StatefulSet</code>,<code>DaemonSet</code> etc., it will be automatically recreated every time you delete it, so trying to remove a <code>Pod</code> in most situations makes not much sense.</p>
<p>If you want to check what controlls this <code>Pod</code>, run:</p>
<pre><code>kubectl describe pod nginx-ingress-win-ingress-nginx-admission-create-f2qcx | grep Controlled
</code></pre>
<p>You would probably see some <code>ReplicaSet</code>, which is also managed by a <code>Deployment</code> or another object. Suppose I want to check what I should delete to get rid of my <code>nginx-deployment-574b87c764-kjpf6</code> <code>Pod</code>. I can do this as follows:</p>
<pre><code>$ kubectl describe pod nginx-deployment-574b87c764-kjpf6 | grep -i controlled
Controlled By:  ReplicaSet/nginx-deployment-574b87c764
</code></pre>
<p>then I need to run again <code>kubectl describe</code> on the name of the <code>ReplicaSet</code> we found:</p>
<pre><code>$ kubectl describe rs nginx-deployment-574b87c764 | grep -i controlled
Controlled By:  Deployment/nginx-deployment
</code></pre>
<p>Finally we can see that it is managed by a <code>Deployment</code> named <code>nginx-deployment</code> and this is the resource we need to delete to get rid of our <code>nginx-deployment-574b87c764-kjpf6</code> <code>Pod</code>.</p>
