<p>Currently, I'm using Docker Desktop with <strong>WSL2</strong> integration. I found that <strong>Docker Desktop</strong> automatically had created a cluster for me. It means I don't have to install and use <strong>Minikube</strong> or <strong>Kind</strong> to create cluster.
The problem is that, how could I enable <strong>Ingress Controller</strong> if I use &quot;built-in&quot; cluster from Docker Desktop?
I tried to create an <strong>Ingress</strong> to check if this work or not, but as my guess, it didn't work.</p>
<p>The YAML file I created as follows:</p>
<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: webapp
spec:
  minReadySeconds: 30
  selector:
    matchLabels:
      app: webapp
  replicas: 1
  template:
    metadata:
      labels:
        app: webapp
    spec:
      containers:
      - name: webapp
        image: nodejs-helloworld:v1

--- 

apiVersion: v1
kind: Service
metadata:
  name: webapp-service

spec:
  selector: 
    app: webapp
  
  ports:
    - name: http
      port: 3000
      nodePort: 30090 # only for NotPort &gt; 30,000
    
  type: NodePort #ClusterIP inside cluster

---

apiVersion: networking.k8s.io/v1
kind: Ingress 
metadata:
  name: webapp-ingress
spec:
  defaultBackend:
    service:
      name: webapp-service
      port:
        number: 3000
  rules:
  - host: ingress.local
    http:
      paths:
      - path: / 
        pathType: Prefix
        backend:
          service:
            name:  webapp-service
            port: 
              number: 3000
    
</code></pre>
<p>I tried to access <em>ingress.local/</em> but it was not successful. (I added ingress.local to point to 127.0.0.1 in host file. And the <strong>webapp</strong> worked fine at <em>kubernetes.docker.internal:30090</em> )</p>
<p>Could you please help me to know the root cause?
Thank you.</p>

<p>Finally I found the way to fix. I have to deploy ingress Nginx by command:</p>
<pre><code>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.41.2/deploy/static/provider/cloud/deploy.yaml
</code></pre>
<p>(Follows the instruction at <a href="https://kubernetes.github.io/ingress-nginx/deploy/#docker-for-mac" rel="noreferrer">https://kubernetes.github.io/ingress-nginx/deploy/#docker-for-mac</a>. It works just fine for Docker for Windows)</p>
<p>Now I can access <a href="http://ingress.local" rel="noreferrer">http://ingress.local</a> successfully.</p>
