如何制作Kubernetes' RESTful api可从远程机器获得?

时间:2016-11-08 00:25:12

标签: kubernetes kubectl

我已经在AWS上运行了kubernetes集群。我现在要做的是从远程机器控制集群,例如我的macbook pro。

我了解到Kubernetes拥有RESTful apis,而Kubectl可以作为代理。 通过运行: kubectl proxy --port=8001 & 我可以使用curl访问RESTful api,例如:

curl http://localhost:8001/api

然后我发现我只能卷曲本地主机。如果我使用以下命令从远程计算机卷曲:

curl http://dns-to-the-k8-machine:8080/api

我会得到一个"连接被拒绝。"我想知道这里发生了什么?有没有办法远程轻松访问apis?

提前致谢。

1 个答案:

答案 0 :(得分:1)

根据您配置群集的方式,API服务器可能正在侦听其他端口。查看您的kubeconfig文件(~/.kube/config),其中应该有一个包含您要连接的服务器的部分。

此外,您的群集可能正在使用证书或其他类型的身份验证,您也需要通过这些身份验证。这些将在同一个kubeconfig文件中列出。

使用kubectl proxy时,kubectl会自动处理上述部分,并通过localhost代理回到您的笔记本电脑。