<p>Hi I'm new to Kubernetes and helm and have recently tried one tutorial from Pluralsight.</p>
<p>As per the tutorial, my ingress file looks like this -</p>
<pre><code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress
spec:
  rules:
{{- range .Values.ingress.hosts }}
  - host: {{ $.Release.Name }}.{{ .host.domain }}
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: {{ $.Release.Name}}-{{ .host.chart }}
            port:
              number: 80
{{- end }}
</code></pre>
<p>When I try to connect to minikube ip, it gives me this error -</p>
<pre><code>404 Not Found
----
nginx
</code></pre>
<p>I've installed the helm chart using helm install dev guestbook
These are my log of pods and ingress -
Command - <code>kubectl get ingress</code> -</p>
<pre><code>NAME                    CLASS    HOSTS                                                    ADDRESS          PORTS   AGE
dev-guestbook-ingress   &lt;none&gt;   dev.frontend.minikube.local,dev.backend.minikube.local   192.168.99.104   80      136m
</code></pre>
<p>Command - <code>kubectl describe ingress dev-guestbook-ingress</code></p>
<pre><code>Name:             dev-guestbook-ingress
Namespace:        default
Address:          192.168.99.104
Default backend:  default-http-backend:80 (&lt;error: endpoints &quot;default-http-backend&quot; not found&gt;)
Rules:
  Host                         Path  Backends
  ----                         ----  --------
  dev.frontend.minikube.local
                               /*   dev-frontend:80 (172.17.0.3:4200)
  dev.backend.minikube.local
                               /*   dev-backend:80 (172.17.0.5:3000)
Annotations:                   meta.helm.sh/release-name: dev
                               meta.helm.sh/release-namespace: default
Events:
  Type    Reason  Age                From                      Message
  ----    ------  ----               ----                      -------
  Normal  Sync    32m (x2 over 33m)  nginx-ingress-controller  Scheduled for sync
</code></pre>
<p>These are log of my ingress pod after using command -</p>
<pre><code>kubectl logs ingress-nginx-controller-69bdbc4d57-jnswj  --namespace=ingress-nginx
</code></pre>
<pre><code>-------------------------------------------------------------------------------
NGINX Ingress controller
  Release:       v1.0.0-beta.1
  Build:         a091b01f436b4ab4f3d04264df93962432a02450
  Repository:    https://github.com/kubernetes/ingress-nginx
  nginx version: nginx/1.20.1

-------------------------------------------------------------------------------

W0928 13:00:25.824832       8 client_config.go:615] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
I0928 13:00:25.825340       8 main.go:221] &quot;Creating API client&quot; host=&quot;https://10.96.0.1:443&quot;
W0928 13:00:56.974273       8 main.go:262] Initial connection to the Kubernetes API server was retried 1 times.
I0928 13:00:56.974428       8 main.go:265] &quot;Running in Kubernetes cluster&quot; major=&quot;1&quot; minor=&quot;22&quot; git=&quot;v1.22.2&quot; state=&quot;clean&quot; commit=&quot;8b5a19147530eaac9476b0ab82980b4088bbc1b2&quot; platform=&quot;linux/amd64&quot;
I0928 13:00:57.378459       8 main.go:104] &quot;SSL fake certificate created&quot; file=&quot;/etc/ingress-controller/ssl/default-fake-certificate.pem&quot;
I0928 13:00:57.401933       8 ssl.go:531] &quot;loading tls certificate&quot; path=&quot;/usr/local/certificates/cert&quot; key=&quot;/usr/local/certificates/key&quot;
I0928 13:00:57.426834       8 nginx.go:253] &quot;Starting NGINX Ingress controller&quot;
I0928 13:00:57.451326       8 event.go:282] Event(v1.ObjectReference{Kind:&quot;ConfigMap&quot;, Namespace:&quot;ingress-nginx&quot;, Name:&quot;udp-services&quot;, UID:&quot;3fd79ae9-35c2-4147-aa8c-b8bdb94a46e7&quot;, APIVersion:&quot;v1&quot;, ResourceVersion:&quot;787&quot;, FieldPath:&quot;&quot;}): type: 'Normal' reason: 'CREATE' ConfigMap ingress-nginx/udp-services
I0928 13:00:57.451353       8 event.go:282] Event(v1.ObjectReference{Kind:&quot;ConfigMap&quot;, Namespace:&quot;ingress-nginx&quot;, Name:&quot;ingress-nginx-controller&quot;, UID:&quot;dc2450e0-6542-4b42-81e3-0b68598bdb8d&quot;, APIVersion:&quot;v1&quot;, ResourceVersion:&quot;785&quot;, FieldPath:&quot;&quot;}): type: 'Normal' reason: 'CREATE' ConfigMap ingress-nginx/ingress-nginx-controller
I0928 13:00:57.453791       8 event.go:282] Event(v1.ObjectReference{Kind:&quot;ConfigMap&quot;, Namespace:&quot;ingress-nginx&quot;, Name:&quot;tcp-services&quot;, UID:&quot;c22ae05e-ac70-47da-9573-087394876f41&quot;, APIVersion:&quot;v1&quot;, ResourceVersion:&quot;786&quot;, FieldPath:&quot;&quot;}): type: 'Normal' reason: 'CREATE' ConfigMap ingress-nginx/tcp-services
I0928 13:00:58.543719       8 store.go:361] &quot;Ignoring ingress because of error while validating ingress class&quot; ingress=&quot;default/dev-guestbook-ingress&quot; error=&quot;ingress does not contain a valid IngressClass&quot;
I0928 13:00:58.640831       8 nginx.go:295] &quot;Starting NGINX process&quot;
I0928 13:00:58.640960       8 leaderelection.go:243] attempting to acquire leader lease ingress-nginx/ingress-controller-leader...
I0928 13:00:58.641293       8 nginx.go:315] &quot;Starting validation webhook&quot; address=&quot;:8443&quot; certPath=&quot;/usr/local/certificates/cert&quot; keyPath=&quot;/usr/local/certificates/key&quot;
I0928 13:00:58.641425       8 controller.go:150] &quot;Configuration changes detected, backend reload required&quot;
I0928 13:00:58.657350       8 leaderelection.go:253] successfully acquired lease ingress-nginx/ingress-controller-leader
I0928 13:00:58.657383       8 status.go:84] &quot;New leader elected&quot; identity=&quot;ingress-nginx-controller-69bdbc4d57-jnswj&quot;
I0928 13:00:58.668104       8 status.go:204] &quot;POD is not ready&quot; pod=&quot;ingress-nginx/ingress-nginx-controller-69bdbc4d57-jnswj&quot; node=&quot;minikube&quot;
I0928 13:00:59.289049       8 controller.go:167] &quot;Backend successfully reloaded&quot;
I0928 13:00:59.289288       8 controller.go:178] &quot;Initial sync, sleeping for 1 second&quot;
I0928 13:00:59.289389       8 event.go:282] Event(v1.ObjectReference{Kind:&quot;Pod&quot;, Namespace:&quot;ingress-nginx&quot;, Name:&quot;ingress-nginx-controller-69bdbc4d57-jnswj&quot;, UID:&quot;84ad1680-72e1-4733-a1e7-9c314527d810&quot;, APIVersion:&quot;v1&quot;, ResourceVersion:&quot;2634&quot;, FieldPath:&quot;&quot;}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0928 13:06:22.563182       8 main.go:101] &quot;successfully validated configuration, accepting&quot; ingress=&quot;dev-guestbook-ingress/default&quot;
I0928 13:06:22.568356       8 store.go:396] &quot;creating ingress&quot; ingress=&quot;default/dev-guestbook-ingress&quot; ingressclass=&quot;nginx&quot;
I0928 13:06:22.568860       8 controller.go:150] &quot;Configuration changes detected, backend reload required&quot;
I0928 13:06:22.569014       8 event.go:282] Event(v1.ObjectReference{Kind:&quot;Ingress&quot;, Namespace:&quot;default&quot;, Name:&quot;dev-guestbook-ingress&quot;, UID:&quot;519a99af-aec5-4316-ae38-d1bcc1127c59&quot;, APIVersion:&quot;networking.k8s.io/v1&quot;, ResourceVersion:&quot;3001&quot;, FieldPath:&quot;&quot;}): type: 'Normal' reason: 'Sync' Scheduled for sync
I0928 13:06:22.639189       8 controller.go:167] &quot;Backend successfully reloaded&quot;
I0928 13:06:22.639649       8 event.go:282] Event(v1.ObjectReference{Kind:&quot;Pod&quot;, Namespace:&quot;ingress-nginx&quot;, Name:&quot;ingress-nginx-controller-69bdbc4d57-jnswj&quot;, UID:&quot;84ad1680-72e1-4733-a1e7-9c314527d810&quot;, APIVersion:&quot;v1&quot;, ResourceVersion:&quot;2634&quot;, FieldPath:&quot;&quot;}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
I0928 13:06:58.702705       8 status.go:284] &quot;updating Ingress status&quot; namespace=&quot;default&quot; ingress=&quot;dev-guestbook-ingress&quot; currentValue=[] newValue=[{IP:192.168.99.104 Hostname: Ports:[]}]
I0928 13:06:58.708447       8 event.go:282] Event(v1.ObjectReference{Kind:&quot;Ingress&quot;, Namespace:&quot;default&quot;, Name:&quot;dev-guestbook-ingress&quot;, UID:&quot;519a99af-aec5-4316-ae38-d1bcc1127c59&quot;, APIVersion:&quot;networking.k8s.io/v1&quot;, ResourceVersion:&quot;3034&quot;, FieldPath:&quot;&quot;}): type: 'Normal' reason: 'Sync' Scheduled for sync
192.168.99.1 - - [28/Sep/2021:13:07:19 +0000] &quot;GET / HTTP/1.1&quot; 404 548 &quot;-&quot; &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36&quot; 444 0.001 [upstream-default-backend] [] 127.0.0.1:8181 548 0.000 404 0fa63d31eee2d30a43ec3e4a810692e2
192.168.99.1 - - [28/Sep/2021:13:07:19 +0000] &quot;GET /favicon.ico HTTP/1.1&quot; 404 548 &quot;http://dev.backend.minikube.local/&quot; &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36&quot; 399 0.000 [upstream-default-backend] [] 127.0.0.1:8181 548 0.000 404 7578f34eb36a0624571b59ace7874748
192.168.99.1 - - [28/Sep/2021:13:27:37 +0000] &quot;HEAD / HTTP/1.1&quot; 404 0 &quot;-&quot; &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.31&quot; 287 0.001 [upstream-default-backend] [] 127.0.0.1:8181 0 0.001 404 de62ff190e82ba05a6614dd727f1170a
192.168.99.1 - - [28/Sep/2021:13:27:40 +0000] &quot;GET / HTTP/1.1&quot; 404 548 &quot;-&quot; &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.31&quot; 458 0.001 [upstream-default-backend] [] 127.0.0.1:8181 548 0.001 404 a4ebeb4dfadea97778a6394e218e99b0
192.168.99.1 - - [28/Sep/2021:13:27:40 +0000] &quot;GET /favicon.ico HTTP/1.1&quot; 404 548 &quot;http://dev.frontend.minikube.local/&quot; &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.31&quot; 414 0.001 [upstream-default-backend] [] 127.0.0.1:8181 548 0.000 404 e39c1bbc38591ec1e33ba0ca074e8127
I0928 13:32:41.441620       8 main.go:101] &quot;successfully validated configuration, accepting&quot; ingress=&quot;dev-guestbook-ingress/default&quot;
I0928 13:32:41.445673       8 store.go:399] &quot;removing ingress because of unknown ingressclass&quot; ingress=&quot;default/dev-guestbook-ingress&quot;
I0928 13:32:41.445785       8 controller.go:150] &quot;Configuration changes detected, backend reload required&quot;
I0928 13:32:41.565590       8 controller.go:167] &quot;Backend successfully reloaded&quot;
I0928 13:32:41.566233       8 event.go:282] Event(v1.ObjectReference{Kind:&quot;Pod&quot;, Namespace:&quot;ingress-nginx&quot;, Name:&quot;ingress-nginx-controller-69bdbc4d57-jnswj&quot;, UID:&quot;84ad1680-72e1-4733-a1e7-9c314527d810&quot;, APIVersion:&quot;v1&quot;, ResourceVersion:&quot;2634&quot;, FieldPath:&quot;&quot;}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration
</code></pre>
<p>My kubernetes veriosn is -</p>
<pre><code>Client Version: version.Info{Major:&quot;1&quot;, Minor:&quot;21&quot;, GitVersion:&quot;v1.21.4&quot;, GitCommit:&quot;3cce4a82b44f032d0cd1a1790e6d2f5a55d20aae&quot;, GitTreeState:&quot;clean&quot;, BuildDate:&quot;2021-08-11T18:16:05Z&quot;, GoVersion:&quot;go1.16.7&quot;, Compiler:&quot;gc&quot;, Platform:&quot;windows/amd64&quot;}
Server Version: version.Info{Major:&quot;1&quot;, Minor:&quot;22&quot;, GitVersion:&quot;v1.22.2&quot;, GitCommit:&quot;8b5a19147530eaac9476b0ab82980b4088bbc1b2&quot;, GitTreeState:&quot;clean&quot;, BuildDate:&quot;2021-09-15T21:32:41Z&quot;, GoVersion:&quot;go1.16.8&quot;, Compiler:&quot;gc&quot;, Platform:&quot;linux/amd64&quot;}
</code></pre>
<p>and my minikube version is -</p>
<pre><code>minikube version: v1.23.0
commit: 5931455374810b1bbeb222a9713ae2c756daee10
</code></pre>
<p>I did add the minikube ip with host in etc/hosts, so that problem is not there</p>

axel
<p>Try adding below to fix that default backend error and see if that resolves the issue. Also, it would be worth checking if your Ingress IP &amp; the minikube IP are same.</p>
<pre><code>spec:
  defaultBackend:
    service:
      name: {{ $.Release.Name}}-{{ .host.chart }}
      port:
        number: 80
</code></pre>
