为远程集群配置kubectl

时间:2015-09-25 20:13:17

标签: docker kubernetes

我跟着Kubernetes docs for setting up a single node cluster as a Docker container。我现在让Kubernetes在远程Linux VM上运行(比如mykube01.example.com)。

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

然后我按following this doc配置kubectl并创建了以下~/.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 doc并通过以下方式将nginx部署到1节点集群:

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

但是,在我正确配置kubectl并正确连接到我的远程"群集"之前,我无法做到这一点。

2 个答案:

答案 0 :(得分:2)

创建与主服务器的连接时,应创建一个文件:

/etc/kubernetes/kubelet.conf

默认情况下,您的个人配置为空或缺失。所以,我将上面提到的kubelet.conf文件复制为我的~/.kube/config文件。工作得很好。

答案 1 :(得分:1)

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

kubectl默认使用HTTP(S)。如上所述,请尝试使用'curl mykube01.example.com:8080/api/v1/nodes'或在浏览器中打开该网址,看看是否有效。

如果可行,但kubectl没有,那么kubectl或你的配置就会出现问题。如果curl或浏览器不起作用,问题出在网络的某个地方。