helm: Error: context deadline exceeded

I tried to install latest Helm (v2.4.1) on my fresh created GKE cluster (with k8s 1.5.7). and it give out error whenever I install any chart. Attached are the logging of my previous command execution.

~ gcloud container clusters get-credentials minidock --zone xxxxxx --project xxxxxx
Fetching cluster endpoint and auth data.
kubeconfig entry generated for minidock.
~ helm init
$HELM_HOME has been configured at /home/dick/.helm.

Tiller (the helm server side component) has been installed into your Kubernetes Cluster.
Happy Helming!
~ kubectl get po --namespace kube-system
NAME                                                            READY     STATUS    RESTARTS   AGE
fluentd-cloud-logging-gke-minidock-default-pool-9b0813ac-3zdz   1/1       Running   0          21m
heapster-v1.2.0.1-1244163626-jmtpv                              2/2       Running   0          21m
kube-dns-3475745875-ngw5q                                       4/4       Running   0          22m
kube-dns-autoscaler-2835134359-1z3hg                            1/1       Running   0          22m
kube-proxy-gke-minidock-default-pool-9b0813ac-3zdz              1/1       Running   0          22m
kubernetes-dashboard-3968242289-t3gpk                           1/1       Running   0          22m
l7-default-backend-2001230086-vt3n0                             1/1       Running   0          22m
tiller-deploy-3210876050-4p7sx                                  1/1       Running   0          20m
~ kubectl --namespace kube-system logs tiller-deploy-3210876050-4p7sx 
Starting Tiller v2.4.1 (tls=false)
GRPC listening on :44134
Probes listening on :44135
Storage driver is ConfigMap
~ helm install --debug stable/wordpress 
[debug] Created tunnel using local port: '34772'

[debug] SERVER: "localhost:34772"

[debug] Fetched stable/wordpress to wordpress-0.6.0.tgz

[debug] CHART PATH: /home/dick/wordpress-0.6.0.tgz

Error: context deadline exceeded

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 9
  • Comments: 51 (18 by maintainers)

Most upvoted comments

Still an issue for me in 2.6.1 as well.

+1

https://github.com/kubernetes/helm/pull/3715 is the fix for this. Could one of you please try that branch and see if it works for you? Thanks!

This issue was fixed in https://github.com/kubernetes/helm/pull/2664 and is being shipped in v2.5.1.

I’m also having this problem. I have a bare-metal three (1 master + 2 minions) nodes Kubernetes cluster up and running on Cent OS 7.

Kubernetes Version: v1.5.2

Kubernetes Config :

# kubectl config view apiVersion: v1 clusters: [] contexts: [] current-context: “” kind: Config preferences: {} users: []

Kubernetes Cluster Info :

# kubectl cluster-info Kubernetes master is running at http://localhost:8080 KubeDNS is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns kubernetes-dashboard is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard

I’ve just followed the Helm installation steps from the documentation. After downloading the “helm” binary to the system path I did : # helm init

Creating /root/.helm Creating /root/.helm/repository Creating /root/.helm/repository/cache Creating /root/.helm/repository/local Creating /root/.helm/plugins Creating /root/.helm/starters Creating /root/.helm/cache/archive Creating /root/.helm/repository/repositories.yaml $HELM_HOME has been configured at /root/.helm. Happy Helming!

I can see Tiller pod is running : # kubectl get pods -o wide --all-namespaces

NAMESPACE     NAME                                    READY     STATUS    RESTARTS   AGE       IP            NODE
default       nginx-ingress-rc-s83kb                  1/1       Running   0          6d        172.30.71.3   minion03
kube-system   kube-dns-v20-z8lnd                      3/3       Running   0          21d       172.30.71.2   minion03
kube-system   kubernetes-dashboard-3543765157-tmmb8   1/1       Running   1          21d       172.30.89.2   minion02
kube-system   tiller-deploy-833363792-5v0gk           1/1       Running   0          10m       172.30.71.6   minion03

But, when I issue the version command : helm version --debug

Client: &version.Version{SemVer:"v2.6.1", GitCommit:"bbc1f71dc03afc5f00c6ac84b9308f8ecb4f39ac", GitTreeState:"clean"} [debug] context deadline exceeded Error: cannot connect to Tiller

^ Couldn’t connect to helm server pod.

The issues I had above were caused by not having registered the node names in local DNS. The fix was to add --kubelet-preferred-address-types=InternalIP to the apiserver manifest.

That makes sense then… As it’s been mentioned a few times in this thread now, the Helm 2.8.2 client does not have this fix. You need to use the 2.9 client if you want to use helm get manifest. The fix was purely client-side.

FYI @onlydole I made a comment above that might help give you more insight into the error.

I don’t think the difference between the CLI installed with homebrew and with the install script method will matter too much but it’s definitely an interesting data point since homebrew builds from source whereas the install script uses the pre-built binary CircleCI releases every tag.

If anyone is able to check and verify if homebrew vs. install script makes any difference, that would be helpful to know!

Just as another input to this: I was experiencing this issue intermittently when deploying. Whenever the context deadline error appeared, I could try again and usually by the second or third try it would work. We have a VPN directly into our cluster, so I tried adding the --host [tiller service].default.svc.cluster.local flag to helm upgrade and I haven’t ever gotten the error since.

I can confirm that this is a issue in helm 2.6.0 [root@k8s-master ~]# helm install -f config.yaml stable/redis --tiller-namespace default --host 192.168.8.33:44134 --debug [debug] SERVER: “192.168.8.33:44134”

[debug] Original chart version: “” [debug] Fetched stable/redis to /root/.helm/cache/archive/redis-0.9.0.tgz

[debug] CHART PATH: /root/.helm/cache/archive/redis-0.9.0.tgz

Error: context deadline exceeded

k8s version is :
Client Version: version.Info{Major:“1”, Minor:“7”, GitVersion:“v1.7.4”, GitCommit:“793658f2d7ca7f064d2bdf606519f9fe1229c381”, GitTreeState:“clean”, BuildDate:“2017-08-17T08:48:23Z”, GoVersion:“go1.8.3”, Compiler:“gc”, Platform:“linux/amd64”} Server Version: version.Info{Major:“1”, Minor:“7”, GitVersion:“v1.7.4”, GitCommit:“793658f2d7ca7f064d2bdf606519f9fe1229c381”, GitTreeState:“clean”, BuildDate:“2017-08-17T08:30:51Z”, GoVersion:“go1.8.3”, Compiler:“gc”, Platform:“linux/amd64”}