Helm list tries to connect to localhost rather than Kubernetes

4/10/2018

I have a Kubernetes cluster running. All pods are running. This is a windows machine with minikube on it.

However helm ls --debug gives following error

helm ls --debug
[debug] Created tunnel using local port: '57209'

[debug] SERVER: "127.0.0.1:57209"

Error: Get http://localhost:8080/api/v1/namespaces/kube-system/configmaps?labelSelector=OWNER%!D(MISSING)TILLER: dial tcp 127.0.0.1:8080: connect: connection refused

Cluster information

kubectl.exe cluster-info
Kubernetes master is running at https://135.250.128.98:8443

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

kubectl service

kubectl.exe get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   3h

Dashboard is accessible at http://135.250.128.98:30000

kube configuration:

apiVersion: v1
clusters:
- cluster:
    certificate-authority: C:\Users\abc\.minikube\ca.crt
    server: https://135.250.128.98:8443
  name: minikube
contexts:
- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    as-user-extra: {}
    client-certificate: C:\Users\abc\.minikube\client.crt
    client-key: C:\Users\abc\.minikube\client.key

Is there a solution? Most online resource says cluster is misconfigured. But not sure what is misconfigured and how to solve this error?

-- Dheeraj Joshi
kubernetes
kubernetes-helm

2 Answers

4/11/2018

I've faced that problem and found an explanation on GitHub.

In this case, the preferable method to make it work is to rebuild the docker container with missing environment variable. These lines should build a new image:

cat << eof > Dockerfile 
FROM gcr.io/kubernetes-helm/tiller:v2.3.1 
ENV KUBERNETES_MASTER XX.XX.XX.XX:8080 
eof 

docker build -t tiller:latest . 

Please substitute XX.XX.XX.XX with your Kubernetes Master IP address.

-- d0bry
Source: StackOverflow

4/13/2018

What worked for me when I was facing the same issue was changing automountServiceAccountToken to true.

Use the following command to edit the tiller-deploy

kubectl --namespace=kube-system edit deployment/tiller-deploy

And change automountServiceAccountToken to true

-- Rebeca Maia
Source: StackOverflow