我跟着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
并正确连接到我的远程"群集"之前,我无法做到这一点。
答案 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或浏览器不起作用,问题出在网络的某个地方。