hashicorp / waypoint-helm

Helm chart to install Waypoint and other associated components.
Mozilla Public License 2.0
29 stars 14 forks source link

Bootstrap issue with minikube #39

Open cicoyle opened 2 years ago

cicoyle commented 2 years ago

Problem

The install doesn't seem to work properly with minikube.

$waypoint login -from-kubernetes
Waiting for the Waypoint service to become ready...
! timed out waiting for the condition

The issue is that the waypoint-runner-0 pod stays in an initialization state. The logs are: Waiting for runner token secret '/secret/token' to be populated from secret...

Another symptom is that the job: waypoint-bootstrap doesn't complete either: Checking for service readiness every 5 seconds...

The root cause of all of this looks to be that the waypoint ui service seems stuck pending.

$kubectl get svc 
NAME              TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                                                    AGE
hello-minikube    NodePort       10.103.25.65   <none>        8080:30132/TCP                                             157m
kubernetes        ClusterIP      10.96.0.1      <none>        443/TCP                                                    168m
waypoint-server   ClusterIP      None           <none>        9702/TCP,9701/TCP                                          17m
waypoint-ui       LoadBalancer   10.100.1.152   <pending>     80:30285/TCP,443:32066/TCP,9701:30730/TCP,9702:32482/TCP   17m

It might be that minikube can't facilitate the LoadBalancer type service.

Potential Solutions

We should at least mention in the documentation to note that the helm install is not supported on minikube.

It would be nice to know that the service was the issue to begin with rather than looking thru all the logs and resources.

It might make sense to use a different type of service given that the LoadBalancer type seems to be of issue with minikube.

evanphx commented 2 years ago

Hi @cicoyle!

It's extra sad that minikube doesn't provide a LoadBalancer provider, which is what causes this. The helm chart isn't very forgiving about telling the user about this situation and the job that creates the token secret fails when it can't connect to the server, due to the load balancer issue.

A potential fix here is to change the helm chart to use the ClusterIP for the bootstrap phase rather than use the load balancer.

thePaulRichard commented 1 year ago

Hello!

I was having the same problem installing waypoint using minikube. I ran: minikube tunnel in a new terminal while installing waypoint solved the problem.