我正在尝试通过遵循this在我的minikube环境中部署Traefik Ingress控制器:
helm install stable/traefik --name-template traefik --set dashboard.enabled=true,dashboard.domain=dashboard.traefik,rbac.enabled=true --namespace kube-system
即使半个小时后,我仍然看到外部IP处于待处理状态:
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
理想情况下,我想联系http://dashboard.traefik
,但我无法这样做。
我尝试使用kubectl patch
Api分配外部IP:
kubectl patch svc traefik -n kube-system -p '{"spec":{"externalIPs":["192.168.99.107"]}}'
其中,192.168.99.107是minikube ip。但是,这仍然不能解决我的问题。
感谢任何朝着正确方向前进的人!
答案 0 :(得分:1)
如果在群集(通常在托管群集中)中使用任何cloud provider
,则由ServiceController分配外部IP。
在minikube
群集中,LoadBalance类型的服务将永远不会具有外部IP。您可以通过minikubeip:nodeport
或运行minikube service
访问服务。对于服务traefik-dashboard
,它首先应该是NodePort类型的服务。
答案 1 :(得分:1)
您应该安装一些Kubernetes裸机负载平衡器,例如MetalLB