Essay97
Essay97

Reputation: 874

Cannot reach Ingress in Kubernetes when running Minikube on Mac M1

I am trying to run a local cluster on Mac with M1 chip using Minikube (Docker driver). I enabled ingress addon in Minikube, I have a separate terminal in which I'm running minikube tunnel and I enabled Minikube dashboard, which I want to expose using Ingress. This is my configuration file:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: dashboard-ingress
  namespace: kubernetes-dashboard
spec:
  rules:
    - host: dashboard.com
      http:
        paths:
          - backend:
              service:
                name: kubernetes-dashboard
                port:
                  number: 80
            pathType: Prefix
            path: /

I also put "dashboard.com" in my /etc/hosts file and it's actually resolving to the right IP, but it's not responding when I put "http://dashboard.com" in a browser or when I try to ping it and I always receive a timeout.

NOTE: when I run minikube tunnel I get

ā—  The service/ingress dashboard-ingress requires privileged ports to be exposed: [80 443]
šŸ”‘  sudo permission will be asked for it.

I insert my sudo password and then nothing gets printed afterwards. Not sure if this is is an issue or the expected behavior.

What am I doing wrong?

Upvotes: 1

Views: 1659

Answers (2)

Matt Duguid
Matt Duguid

Reputation: 104

had a similar issue on mac m1, initialy tried addon ingress-dns but then realised while it can be enabled its not currently working or supported using the docker driver https://github.com/kubernetes/minikube/issues/7332#issuecomment-608133325

some other mac intel users have got it working using hyperkit driver but thats not available for mac m1 yet

my answer for now is to use minikube tunnel https://minikube.sigs.k8s.io/docs/handbook/accessing/ and add entry to /etc/hosts for ingress, also have to pass in the cluster name using the -p parameter eg: minikube tunnel --cleanup -p <CLUSTER_NAME>

Upvotes: 0

ray midge
ray midge

Reputation: 31

I had the same behavior, and apparently what's needed for minikube tunnel to work is to map "127.0.0.1" in /etc/hosts, instead of the output from minikube ip or the ingress description. that fixed it for me

Upvotes: 3

Related Questions