Minikube does not start, kubectl connection to server was refused

5/3/2018

Scouring stack overflow solutions for similar problems did not resolve my issue, so hoping to share what I'm currently experiencing to get help debugging this.

So a small preface; I initially installed minikube/kubectl a couple days back. I went ahead and tried following the minikube tutorial today and am now experiencing issues. I'm following the minikube getting started guide.

I am on MacOS. My versions:

$ kubectl version

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:22:21Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Unable to connect to the server: net/http: TLS handshake timeout

$ minikube version

minikube version: v0.26.1

$ vboxmanage --version

5.1.20r114629

The following are a string of commands I've tried to check responses..


$ minikube start

Starting VM...
Getting VM IP address...
Moving files into cluster...
E0503 11:08:18.654428   20197 start.go:234] Error updating cluster:  downloading binaries: transferring kubeadm file: &{BaseAsset:{data:[] reader:0xc4200861a8 Length:0 AssetName:/Users/philipyoo/.minikube/cache/v1.10.0/kubeadm TargetDir:/usr/bin TargetName:kubeadm Permissions:0641}}: Error running scp command: sudo scp -t /usr/bin output: : wait: remote command exited without exit status or exit signal

$ minikube status

cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.103

Edit:

I don't know what happened, but checking the status again returned "Misconfigured". I ran the recommended command $ minikube update-context and now the $ minikube ip points to "172.17.0.1". Pinging this IP returns request timeouts, 100% packet loss. Double-checked context and I'm still using "minikube" both for context and cluster:

$ kubectl config get-cluster

$ kubectl config get-context


$ kubectl get pods

The connection to the server 192.168.99.103:8443 was refused - did you specify the right host or port?

Reading github issues, I ran into this one: kubernetes#44665. So...

$ ls /etc/kubernetes

ls: /etc/kubernetes: No such file or directory

Only the last few entries

$ minikube logs

May 03 18:10:48 minikube kubelet[3405]: E0503 18:10:47.933251    3405 event.go:209] Unable to write event: 'Patch https://192.168.99.103:8443/api/v1/namespaces/default/events/minikube.152b315ce3475a80: dial tcp 192.168.99.103:8443: getsockopt: connection refused' (may retry after sleeping)
May 03 18:10:49 minikube kubelet[3405]: E0503 18:10:49.160920    3405 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:465: Failed to list *v1.Service: Get https://192.168.99.103:8443/api/v1/services?limit=500&resourceVersion=0: dial tcp 192.168.99.103:8443: getsockopt: connection refused
May 03 18:10:51 minikube kubelet[3405]: E0503 18:10:51.670344    3405 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://192.168.99.103:8443/api/v1/pods?fieldSelector=spec.nodeName%3Dminikube&limit=500&resourceVersion=0: dial tcp 192.168.99.103:8443: getsockopt: connection refused
May 03 18:10:53 minikube kubelet[3405]: W0503 18:10:53.017289    3405 status_manager.go:459] Failed to get status for pod "kube-controller-manager-minikube_kube-system(c801aa20d5b60df68810fccc384efdd5)": Get https://192.168.99.103:8443/api/v1/namespaces/kube-system/pods/kube-controller-manager-minikube: dial tcp 192.168.99.103:8443: getsockopt: connection refused
May 03 18:10:53 minikube kubelet[3405]: E0503 18:10:52.595134    3405 rkt.go:65] detectRktContainers: listRunningPods failed: rpc error: code = Unavailable desc = grpc: the connection is unavailable

I'm not exactly sure how to ping an https url, but if I ping the ip

$ kube ping 192.168.99.103

PING 192.168.99.103 (192.168.99.103): 56 data bytes
64 bytes from 192.168.99.103: icmp_seq=0 ttl=64 time=4.632 ms
64 bytes from 192.168.99.103: icmp_seq=1 ttl=64 time=0.363 ms
64 bytes from 192.168.99.103: icmp_seq=2 ttl=64 time=0.826 ms
^C
--- 192.168.99.103 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.363/1.940/4.632/1.913 ms

Looking at kube config file... $ cat ~/.kube/config

apiVersion: v1
clusters:
- cluster:
    insecure-skip-tls-verify: true
    server: https://localhost:6443
  name: docker-for-desktop-cluster
- cluster:
    certificate-authority: /Users/philipyoo/.minikube/ca.crt
    server: https://192.168.99.103:8443
  name: minikube
contexts:
- context:
    cluster: docker-for-desktop-cluster
    user: docker-for-desktop
  name: docker-for-desktop
- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: docker-for-desktop
  user:
    client-certificate-data: <removed>
    client-key-data: <removed>
- name: minikube
  user:
    client-certificate: /Users/philipyoo/.minikube/client.crt
    client-key: /Users/philipyoo/.minikube/client.key

And to make sure my key/crts are there:

$ ls ~/.minikube

addons/              ca.pem*              client.key           machines/            proxy-client.key
apiserver.crt        cache/               config/              profiles/
apiserver.key        cert.pem*            files/               proxy-client-ca.crt
ca.crt               certs/               key.pem*             proxy-client-ca.key
ca.key               client.crt           logs/                proxy-client.crt

Any help in debugging is super appreciated!

-- philip yoo
kubernetes
minikube

2 Answers

5/3/2018

For posterity, the solution to this problem was to delete the

.minikube

directory in the user's home directory, and then try again. Often fixes strange minikube problems.

-- Jonah Benton
Source: StackOverflow

3/28/2019

I had the same issue when I started minikube.

OS

MacOs HighSierra

Minikube

minikube version: v0.33.1

kubectl version

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:38:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab41ff0bb44d8584413b598ad8360ec1def", GitTreeState:"clean", BuildDate:"2019-01-10T23:28:14Z", GoVersion:"go1.11.4", Compiler:"gc", Platform:"linux/amd64"}

Solution 1

I just change the permission of the kubeadm file and start the minikube as below. Then it works fine.

sudo chmod 777 /Users/buddhi/.minikube/cache/v1.13.2/kubeadm

In general, you have to do

sudo chmod 777 <PATH_TO_THE_KUBEADM_FILE>

Solution 2

If you no longer need the existing minikube cluster you can try out this.

minikube stop
minikube delete
minikube start

Here you stop and delete existing minikube cluster and create another one.

Hope this might help someone.

-- Buddhi
Source: StackOverflow