<p>I'm new to EKS, Helm, and tiller. I am looking into why our build is breaking for our cluster deployment. I'm getting the error <code> Error: could not find a ready tiller pod</code> when running helm upgrade. I see a lot of threads with this problem, but I want to have a better understanding of what's happening before I put in a PR.</p>
<p>There was a thread to add <code>--upgrade</code> and <code>--wait</code> flags to the helm init command. That didn't seem to do the trick. It looks like we also are using the <code>--client-only</code> flag which is making me think it is the culprit. However, that flag was added 2 years ago so I don't understand why it would be breaking now.</p>
<pre><code>helm init --upgrade --wait --stable-repo-url=https://charts.helm.sh/stable --client-only --kubeconfig ./cluster_config

echo &quot;Helm repo update&quot;
helm repo update --kubeconfig ./cluster_config

echo &quot;helm upgrade&quot;
helm upgrade --install aws-efs-csi-driver https://github.com/kubernetes-sigs/aws-efs-csi-driver/releases/download/v0.3.0/helm-chart.tgz --force --kubeconfig ./cluster_config
</code></pre>
<p>Update: added <code>helm version --tls</code></p>
<pre><code>13:27:00  [docker] [deploy-terraform] [terraform apply] null_resource.setup_cluster (local-exec): Helm Version
apply] null_resource.setup_cluster (local-exec): Client: &amp;version.Version{SemVer:&quot;v2.16.9&quot;, GitCommit:&quot;8ad7037828e5a0fca1009dabe290130da6368e39&quot;, GitTreeState:&quot;clean&quot;}
13:27:05  [docker] [deploy-terraform] [terraform apply] null_resource.setup_cluster (local-exec): Error: Get &quot;http://localhost:8080/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller&quot;: dial tcp 127.0.0.1:8080: connect: connection refused
</code></pre>
<p><strong><strong>Solution</strong></strong>
Upgrade to Helm v3 :-/</p>

cWerning
<p>If you specify the <code>--client-only</code> flag, the <code>tiller</code> server is never started in the cluster. Hence your problem. You can remove the flag and it should work.</p>
<p>See <a href="https://v2.helm.sh/docs/helm/#options-16" rel="nofollow noreferrer">the docs</a> for more details.</p>
<p>Update: Based on the output of <code>helm version --tls</code> and the discussion in comments, we can see that the tiller service is not working and pods are stuck in <code>IMAGE_PULL_BACKOFF</code>. Fixing that will fix this issue.</p>
<p>The tiller pods can no longer pull images since the upstream registry has been decommissioned. The image name can be changed to <code>omio/gcr.io.kubernetes-helm.tiller:v2.16.1</code>. This is a working registry for <code>helm v2</code>.</p>
