<p>I have two nodes for my cluster: Windows and Linux. And I have one master node.
For Linux I installed NGINX controller and everything works perfectly fine!!!</p>
<pre><code>helm install nginx-ingress ingress-nginx/ingress-nginx \
    -f internal-ingress.yaml \
    --set controller.nodeSelector.&quot;beta\.kubernetes\.io/os&quot;=linux \
    --set defaultBackend.nodeSelector.&quot;beta\.kubernetes\.io/os&quot;=linux \
    --set controller.admissionWebhooks.patch.nodeSelector.&quot;beta\.kubernetes\.io/os&quot;=linux
</code></pre>
<p>So that NGINX Ingress Controller should target Linux Pod and that works!</p>
<p>Now I want to create NGINX Ingress Controller to target my second Node which is Windows.
Once I tried to create it it threw me <code>Error: timed out waiting for the condition</code>
I tried this command (very similar to working Linux command).</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
</code></pre>
<p>Is it possible to have 2 NGINX Ingress Controllers? Why did it timeout? Am I doing something wrong?
What should be the correct command to install NGINX Ingress Controller for Windows?</p>
<p>Thank you</p>

<ul>
<li><p>helm install creates kubernetes objects in the current namespace of your context.
You should use separate namespace for nginx-ingress-win release using --create-namespace --namespace namespacename flags</p>
</li>
<li><p>Please run the helm install command with --debug flag to see what is the problem</p>
</li>
</ul>
<p>Final Command :</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 
 --create-namespace --namespace namespacename --debug
</code></pre>
<ul>
<li>Please provide the reason for having separate nginx controller for linux and windows nodes in the same cluster.</li>
</ul>
