为远程集群配置kubectl

sme*_*eeb 6 docker kubernetes

我按照Kubernetes文档将单节点集群设置为Docker容器.我现在让Kubernetes在远程Linux VM上运行(比方说mykube01.example.com).

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

然后,我按照此文档进行配置kubectl,并创建了以下文件:~/.kube/config

 apiVersion: v1
 clusters:
 - cluster:
      api-version: v1
      server: http://mykube01.example.com:8080
      name: testkube
Run Code Online (Sandbox Code Playgroud)

当我跑步时,kubectl cluster-info我得到:

Kubernetes master is running at http://mykuber01.example.com:8080
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时,kubetctl get nodes我得到:

The connection to the server mykube01.example.com:8080 was refused - did you specify the right host or port?
Run Code Online (Sandbox Code Playgroud)

我出错的任何想法?我希望能够继续使用第一个Kubernetes doc并通过以下方式将nginx部署到1节点集群:

kubectl -s http://mykube01.example.com:8080 run-container nginx --image=nginx --port=80
Run Code Online (Sandbox Code Playgroud)

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

bre*_*dan 1

(将“回复”向下移动到“答案”中,以便显示为“已回答”

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

如果这有效,但 kubectl 不起作用,那么 kubectl 或您的配置有问题。如果curl或浏览器不起作用,则问题出在网络的某个地方。