<p>I am following <a href="https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/" rel="nofollow noreferrer">this official k8 ingress tutorial</a>. However I am not able to <code>curl</code> the minikube IP address and access the &quot;web&quot; application.</p>
<pre><code>minikube addons enable ingress
kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0
kubectl expose deployment web --type=NodePort --port=8080
kubectl apply -f https://k8s.io/examples/service/networking/example-ingress.yaml
</code></pre>
<p>I'm able to curl the result of <code>minikube service web --url</code></p>
<pre><code>    curl http://127.0.0.1:64671 
    Hello, world!
    Version: 1.0.0
    Hostname: web-79d88c97d6-8z8tc 
</code></pre>
<p>But not though ingress, with <code>kubectl apply -f https://k8s.io/examples/service/networking/example-ingress.yaml</code></p>
<p>(I don't have an external IP - just &quot;localhost&quot;. )</p>
<pre><code>NGG282 kubernetes-ingress % kubectl get ingress
NAME              CLASS   HOSTS   ADDRESS     PORTS   AGE
example-ingress   nginx   *       localhost   80      66m
</code></pre>
<p>This seems to be normal with minikube. Trying to curl the minikube IP:</p>
<pre><code>curl $(minikube ip)
curl: (7) Failed to connect to 192.168.49.2 port 80: Operation timed out
</code></pre>
<p>Any help?</p>
<p>----------EDIT :</p>
<pre><code>kubectl get deploy -n ingress-nginx -o yaml

          ports:
          - containerPort: 80
            hostPort: 80
            name: http
            protocol: TCP
          - containerPort: 443
            hostPort: 443
            name: https
            protocol: TCP
          - containerPort: 8443
            name: webhook
            protocol: TCP

kubectl get svc -n ingress-nginx -o yaml
apiVersion: v1
items:
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {&quot;apiVersion&quot;:&quot;v1&quot;,&quot;kind&quot;:&quot;Service&quot;,&quot;metadata&quot;:{&quot;annotations&quot;:{},&quot;labels&quot;:{&quot;app.kubernetes.io/component&quot;:&quot;controller&quot;,&quot;app.kubernetes.io/instance&quot;:&quot;ingress-nginx&quot;,&quot;app.kubernetes.io/name&quot;:&quot;ingress-nginx&quot;},&quot;name&quot;:&quot;ingress-nginx-controller&quot;,&quot;namespace&quot;:&quot;ingress-nginx&quot;},&quot;spec&quot;:{&quot;ipFamilies&quot;:[&quot;IPv4&quot;],&quot;ipFamilyPolicy&quot;:&quot;SingleStack&quot;,&quot;ports&quot;:[{&quot;appProtocol&quot;:&quot;http&quot;,&quot;name&quot;:&quot;http&quot;,&quot;port&quot;:80,&quot;protocol&quot;:&quot;TCP&quot;,&quot;targetPort&quot;:&quot;http&quot;},{&quot;appProtocol&quot;:&quot;https&quot;,&quot;name&quot;:&quot;https&quot;,&quot;port&quot;:443,&quot;protocol&quot;:&quot;TCP&quot;,&quot;targetPort&quot;:&quot;https&quot;}],&quot;selector&quot;:{&quot;app.kubernetes.io/component&quot;:&quot;controller&quot;,&quot;app.kubernetes.io/instance&quot;:&quot;ingress-nginx&quot;,&quot;app.kubernetes.io/name&quot;:&quot;ingress-nginx&quot;},&quot;type&quot;:&quot;NodePort&quot;}}
    creationTimestamp: &quot;2021-12-16T11:41:35Z&quot;
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/name: ingress-nginx
    name: ingress-nginx-controller
    namespace: ingress-nginx
    resourceVersion: &quot;489&quot;
    uid: 63826bc2-5d90-42f1-861f-f7f082ccf0fb
  spec:
    clusterIP: 10.104.208.171
    clusterIPs:
    - 10.104.208.171
    externalTrafficPolicy: Cluster
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - appProtocol: http
      name: http
      nodePort: 30783
      port: 80
      protocol: TCP
      targetPort: http
    - appProtocol: https
      name: https
      nodePort: 30860
      port: 443
      protocol: TCP
      targetPort: https
    selector:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/name: ingress-nginx
    sessionAffinity: None
    type: NodePort
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {&quot;apiVersion&quot;:&quot;v1&quot;,&quot;kind&quot;:&quot;Service&quot;,&quot;metadata&quot;:{&quot;annotations&quot;:{},&quot;labels&quot;:{&quot;app.kubernetes.io/component&quot;:&quot;controller&quot;,&quot;app.kubernetes.io/instance&quot;:&quot;ingress-nginx&quot;,&quot;app.kubernetes.io/name&quot;:&quot;ingress-nginx&quot;},&quot;name&quot;:&quot;ingress-nginx-controller-admission&quot;,&quot;namespace&quot;:&quot;ingress-nginx&quot;},&quot;spec&quot;:{&quot;ports&quot;:[{&quot;appProtocol&quot;:&quot;https&quot;,&quot;name&quot;:&quot;https-webhook&quot;,&quot;port&quot;:443,&quot;targetPort&quot;:&quot;webhook&quot;}],&quot;selector&quot;:{&quot;app.kubernetes.io/component&quot;:&quot;controller&quot;,&quot;app.kubernetes.io/instance&quot;:&quot;ingress-nginx&quot;,&quot;app.kubernetes.io/name&quot;:&quot;ingress-nginx&quot;},&quot;type&quot;:&quot;ClusterIP&quot;}}
    creationTimestamp: &quot;2021-12-16T11:41:35Z&quot;
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/name: ingress-nginx
    name: ingress-nginx-controller-admission
    namespace: ingress-nginx
    resourceVersion: &quot;483&quot;
    uid: fe797532-27c9-4dd1-a1bc-0662a3d2a4da
  spec:
    clusterIP: 10.106.175.35
    clusterIPs:
    - 10.106.175.35
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - appProtocol: https
      name: https-webhook
      port: 443
      protocol: TCP
      targetPort: webhook
    selector:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/name: ingress-nginx
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
kind: List
metadata:
  resourceVersion: &quot;&quot;
  selfLink: &quot;&quot;
</code></pre>

<p>OK so apparently this is a <a href="https://minikube.sigs.k8s.io/docs/drivers/docker/#known-issues" rel="nofollow noreferrer">known issue with minikube</a>, Ingress works properly on linux only.</p>
<blockquote>
<p>The ingress, and ingress-dns addons are currently only supported on
Linux. See #7332</p>
</blockquote>
<p>you need to <code>minikube tunnel</code> on windows/macOS before being able to <code>curl</code>, but still there are differences:</p>
<p>On <strong>Windows</strong>, both <code>127.0.0.1</code> and <code>localhost</code> redirect to the application.
On <strong>macOS</strong>, <code>127.0.0.1</code> and <code>localhost</code> show an &quot;nginX not found&quot; message, but <code>curl hello-world.info</code> works only after changing <code>etc/hosts</code>.</p>
