'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?
Solution 1:[1]
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
Solution 2:[2]
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.
Solution 3:[3]
Just updating Kubectl version to latest version resolve my problem.
Solution 4:[4]
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.
Solution 5:[5]
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
Solution 6:[6]
here the steps to my solution
- Install minikube:
brew install minikube
- Start minikube
minikube start
- check again and ?
kubectl version --short
Client Version: v1.16.6-beta.0
Server Version: v1.22.2
Solution 7:[7]
I'm using wsl. So it helps me to synchronize time between windows and linux console.
sudo hwclock --hctosys
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | ghitesh |
Solution 2 | Nappstir |
Solution 3 | Mudit Nagpal |
Solution 4 | Ken |
Solution 5 | Suraj Rao |
Solution 6 | Junior Vieira |
Solution 7 | Vlad Pavlovski |