Carlos Andres
Carlos Andres

Reputation: 15737

How to fix issue of 'Unable to connect to the server: EOF' Kubernetes - Kubectl

When I try any kubectl command, it always returns:

Unable to connect to the server: EOF

I followed these tutorials:

https://kubernetes.io/docs/tasks/tools/install-kubectl/

https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

But they have not helped me. According to the first link, by default, kubectl configuration is located at

~/.kube/config

But in that path I don't have anything. I don't know if this is causing the issue.

Other thing is when I try to check the kubectl configuration:

M:.kube candres$ kubectl cluster-info
Kubernetes master is running at http://localhost:8080

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Unable to connect to the server: EOF
M:.kube candres$ kubectl cluster-info dump
Unable to connect to the server: EOF

The versions I have installed are:

Kubernetes - kubectl

M:.kube candres$ kubectl version
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"X", GitTreeState:"clean", BuildDate:"2018-02-09T21:51:06Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"darwin/amd64"}
Unable to connect to the server: EOF

Minikube

M:.kube candres$ minikube version
minikube version: v0.25.0

Docker:

M:.kube candres$ docker version
Client:
 Version:   17.12.0-ce
 API version:   1.35
 Go version:    go1.9.2
 Git commit:    X
 Built: Wed Dec 27 20:03:51 2017
 OS/Arch:   darwin/amd64

Server:
 Engine:
  Version:  17.12.0-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.2
  Git commit:   X
  Built:    Wed Dec 27 20:12:29 2017
  OS/Arch:  linux/amd64
  Experimental: true

Does anyone know how to resolve this?

Upvotes: 46

Views: 138763

Answers (10)

Ajit Surendran
Ajit Surendran

Reputation: 777

VPN should solve it, if not, then also try unsetting local env proxy settings.

Upvotes: 1

Mohit Jariwal
Mohit Jariwal

Reputation: 71

Check your VPN security as well as your anti virus internet security. in case it is ON then we have to make it off. and it worked for me after that.

Try it out this also.

Upvotes: 0

Akintunde
Akintunde

Reputation: 3745

Here is all I had to run:

  • minikube delete
  • minikube start

Upvotes: 5

Vlad Pavlovski
Vlad Pavlovski

Reputation: 2000

I'm using wsl. So it helps me to synchronize time between windows and linux console.

sudo hwclock --hctosys 

Upvotes: 0

José Júnior
José Júnior

Reputation: 591

here the steps to my solution

  1. Install minikube:

brew install minikube

  1. Start minikube

minikube start

  1. check again and ✅

kubectl version --short

Client Version: v1.16.6-beta.0

Server Version: v1.22.2

Upvotes: 2

Fox
Fox

Reputation: 11

reset kubeadm via force

reset kubeadm -f

and then copy config file again

cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

at last

kubectl init

Upvotes: 1

Ken
Ken

Reputation: 11

If you get a message like this:

You appear to be using a proxy, but your NO_PROXY environment does not include the minikube IP (www.xxx.yyy.zzz).

Then set your environment variable NO_PROXY to the address given before running kubectl. This is probably configurable somewhere, but that's a short quick solution.

Upvotes: 1

Suresh Vishnoi
Suresh Vishnoi

Reputation: 18353

After Minikube is started, kubectl is configured automatically.

minikube start
Starting local Kubernetes cluster...
Kubernetes is available at https://192.168.99.100:8443.
Kubectl is now configured to use the cluster.

You can verify and validate the cluster and context with following commands.

kubectl config view

Upvotes: 25

Mudit Nagpal
Mudit Nagpal

Reputation: 9

Just updating Kubectl version to latest version resolve my problem.

Upvotes: 0

Nappstir
Nappstir

Reputation: 995

I also had this issue. Be sure to check your config file that is generated by minikube. This file can most likely be found ~/.kube/config. Make sure that you are referencing the right cluster name in the current context you are using. You can see what context you are currently using by: kubectl get current-context. The important thing is that you understand why you are getting this error and as @Suresh Vishnoi stated, kubectl doesn't know about k8s api-server.

Upvotes: 5

Related Questions