cloud_cloud
cloud_cloud

Reputation: 2189

Jenkins service always pending on minikube

I installed minikube on local.

Dashboard is 192.168.99.100:30000

I installed Jenkins by helm:

$ helm install stable/jenkins

Then the service always pending:

$ kubectl get services --namespace=default -w wandering-buffoon-jenkins
NAME                        CLUSTER-IP   EXTERNAL-IP   PORT(S)                          AGE
wandering-buffoon-jenkins   10.0.0.153   <pending>     8080:31326/TCP,50000:31090/TCP   26m

Why? So can't use external-ip to access it.

Upvotes: 8

Views: 2355

Answers (2)

Jay Rajput
Jay Rajput

Reputation: 1888

Here is a single command for lazy people who do not want to create the separate config.yaml file

helm install --name jenkins --set Master.ServiceType=NodePort stable/jenkins

In case there are more than one option which you want to set, provide them as comma-separated

helm install --name jenkins --set Master.ServiceType=NodePort,Persistence.Enabled=false stable/jenkins

Also see the option available which you can set here. This is same as helm inspect command but more readable since available as a web page

Upvotes: 4

coreypobrien
coreypobrien

Reputation: 2041

I'm guessing that you didn't update the parameters to use NodePort instead of the default LoadBalancer. The minikube cluster doesn't support the LoadBalancer type so Kubernetes is looping trying to create a load balancer to get an external IP.

Use helm to see the options for the stable/jenkins chart:

$ helm inspect values stable/jenkins
# Default values for jenkins.
...
# For minikube, set this to NodePort, elsewhere use LoadBalancer
# Use ClusterIP if your setup includes ingress controller
  ServiceType: LoadBalancer
...

You can set this by doing something like this:

$ echo $'Master:\n  ServiceType: NodePort' > config.yaml
$ helm install -f config.yaml stable/jenkins

Upvotes: 10

Related Questions