我已经在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?
提前致谢。
答案 0 :(得分:1)
根据您配置群集的方式,API服务器可能正在侦听其他端口。查看您的kubeconfig
文件(~/.kube/config
),其中应该有一个包含您要连接的服务器的部分。
此外,您的群集可能正在使用证书或其他类型的身份验证,您也需要通过这些身份验证。这些将在同一个kubeconfig文件中列出。
使用kubectl proxy
时,kubectl会自动处理上述部分,并通过localhost代理回到您的笔记本电脑。