Traefik ingress controller on minikube: External IP pending

4/3/2020

I am trying to deploy a Traefik Ingress controller in my minikube environment by following this:

helm install stable/traefik --name-template traefik --set dashboard.enabled=true,dashboard.domain=dashboard.traefik,rbac.enabled=true --namespace kube-system

Even after half an hour I still see that External IP is pending:

pascals@pascals:~$ kubectl get svc -l app=traefik -n kube-system 
NAME                TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
traefik             LoadBalancer   10.96.172.128   <pending>     443:30812/TCP,80:31078/TCP   20m
traefik-dashboard   ClusterIP      10.96.56.105    <none>        80/TCP                       20m

Ideally I would like to reach http://dashboard.traefik but I am not able to do so.

I tried to assign an External Ip using the kubectl patch Api:

kubectl patch svc traefik -n kube-system -p '{"spec":{"externalIPs":["192.168.99.107"]}}'

where, 192.168.99.107 is the minikube ip. This however still did not solve my problem.

Appreciate any nudge in the right direction!

-- irrelevantUser
kubernetes
minikube
traefik
traefik-ingress

2 Answers

4/5/2020

You should install some Kubernetes bare-metal load balancer, like MetalLB

-- Alex Vorona
Source: StackOverflow

4/4/2020

The external IP is assigned by the ServiceController if any cloud provider used in the cluster, usually in managed clusters.

In a minikube cluster, LoadBalance-typed Service will never have an external IP. You can access Services through minikubeip:nodeport, or running minikube service. For the Service traefik-dashboard, it should be a NodePort-typed Service first.

-- kitt
Source: StackOverflow