<p>When doing a <code>helm reset</code> I get:</p>

<pre><code>helm reset
Error: Get https://10.96.0.1:443/api/v1/namespaces/kube-system/configmaps?labelSelector=OWNER%!D(MISSING)TILLER: dial tcp 10.96.0.1:443: i/o timeout
</code></pre>

<p>Any suggestions?</p>

<p>The <a href="https://github.com/helm/helm/issues/2464" rel="nofollow noreferrer">issue</a> on GitHub looks pretty close to your case.</p>

<p>The solution provided by <a href="https://github.com/fossxplorer" rel="nofollow noreferrer">fossxplorer </a> and improved by <a href="https://github.com/johnhamelink" rel="nofollow noreferrer">johnhamelink </a> is to set <code>automountServiceAccountToken</code> parameter to  "<code>true</code>" in the <code>tiller</code> deployment:</p>

<pre><code>$ kubectl -n kube-system patch deployment tiller-deploy -p '{"spec": {"template": {"spec": {"automountServiceAccountToken": true}}}}'
</code></pre>

<p>If after that you have the following error:</p>

<blockquote>
  <p>Error: configmaps is forbidden: User
  "system:serviceaccount:kube-system:default" cannot list configmaps in
  the namespace "kube-system"</p>
</blockquote>

<p>you should create <code>ClusterRoleBinding</code> for service account <code>kube-system:default</code></p>

<pre><code>$ kubectl --namespace=kube-system create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default
</code></pre>

<p>I recommend to create separate service account and select it during <code>Helm</code> initialization:</p>

<pre><code>$ kubectl create serviceaccount --namespace kube-system tiller
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
$ helm init --service-account tiller
</code></pre>

<p>If you want secure <code>Helm</code> installation please follow <a href="https://docs.helm.sh/using_helm/#best-practices-for-securing-helm-and-tiller" rel="nofollow noreferrer">the manual</a>.</p>
