针对远程集群configurationkubectl

我遵循Kubernetes文档,将单个节点集群设置为Docker容器 。 我现在在远程Linux VM上运行Kubernetes(比如说mykube01.example.com )。

然后,我在我的Mac笔记本电脑上本地下载并安装了kubectl 。 我可以运行kubectl version ,它validation我已经安装了正确的版本。

然后我按照这个文档去configurationkubectl ,并创build了下面的~/.kube/config文件:

  apiVersion: v1 clusters: - cluster: api-version: v1 server: http://mykube01.example.com:8080 name: testkube 

当我运行kubectl cluster-info我得到:

 Kubernetes master is running at http://mykuber01.example.com:8080 

但是当我运行kubetctl get nodes我得到:

 The connection to the server mykube01.example.com:8080 was refused - did you specify the right host or port? 

任何想法,我要去错误? 我希望能够继续使用第一个Kubernetes文档,并通过以下方式将nginx部署到单节点集群:

 kubectl -s http://mykube01.example.com:8080 run-container nginx --image=nginx --port=80 

但我不能这样做,直到我正确configurationkubectl并正确连接到我的远程“群集”。

(将“答复”下移到“答案”中,使其显示为“已答复”

kubectl默认使用HTTP(S)。 正如上面所说的那样,尝试使用“curl mykube01.example.com:8080/api/v1/nodes”或者在浏览器中打开该URL,看看是否有效。

如果这样的作品,但kubectl不会那么在kubectl或您的configuration有问题。 如果curl或浏览器不工作,问题是在networking的某个地方。

当你创build到主人的连接时,应该创build一个文件:

 /etc/kubernetes/kubelet.conf 

默认情况下,您的个人configuration是空的或丢失。 所以,我复制上面提到的kubelet.conf文件作为我的~/.kube/config文件。 完美的工作。