Kubernetes - 与服务器 localhost:8080 的连接被拒绝 - 您是否指定了正确的主机或端口?

Kubernetes - The connection to the server localhost:8080 was refused - did you specify the right host or port?

我刚刚通过 Ubuntu 64 (Linux) 安装完 kubectl。 我遵循了在线 Kubernetes 指南,但主机出现错误。在第一步(安装 kubectl)之后,当我检查 kubectl 版本时,是这样的消息(我还没有安装和部署 minikube,因为我没有根据这个问题连接):

root@ubuntu:~# kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"eec55b9ba98609a46fee712359c7b5b365bdd920", GitTreeState:"clean", BuildDate:"2018-12-13T10:39:04Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?

有人遇到同样的问题吗?我该如何解决?

背后的原因是 kubectl version 打印 Client VersionServer Version (kubernetes 版本)。当你刚刚安装 kubectl 时,它只是 Kubernetes 客户端。如果您安装了 kubernetes 集群,它将同时打印 kubectl 版本和 kubernetes 版本。

如果您只想打印客户端版本,请使用以下命令:

kubectl version --client=true

错误意思是kubectl tried to contact the kubernetes server to get its version but couldn't connect. Are you specifying the right host or port to connect to the kubernetes server.

错误背后的原因是您没有安装 kubernetes 集群mac。你刚刚安装了 kubectl,它只是一个访问 kubernetes 集群的客户端。安装 kubernetes 集群后,kubectl 版本的输出将如下所示:

[root@ip-10-0-1-138 centos]# kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", 
GitCommit:"eec55b9ba98609a46fee712359c7b5b365bdd920", GitTreeState:"clean", BuildDate:"2018-12-13T10:39:04Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:05:37Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

如果您想在 mac 上安装完整的 kubernetes 集群,请尝试 minikube 在本地安装集群。

当 Kubectl 命令无法在用户的 .kube 文件夹中找到配置文件时,就会发生这种情况。以下是您的用户需要执行的步骤:

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

或者如果您是根用户:

export KUBECONFIG=/etc/kubernetes/admin.conf