如何制作Kubernetes';远程机器是否提供RESTful api?

如何制作Kubernetes';远程机器是否提供RESTful api?,kubernetes,kubectl,Kubernetes,Kubectl,我已经建立了一个运行在AWS上的kubernetes集群。我现在想做的是从远程机器控制集群,例如我的MacBookPro 我了解到Kubernetes有RESTful API,Kubectl可以作为代理。 通过运行: kubectl代理--端口=8001& 我可以使用curl访问RESTful api,例如: curl http://localhost:8001/api 然后我发现我只能卷曲本地主机。如果我使用以下命令从远程计算机执行curl操作: curl http://dns-to-the

我已经建立了一个运行在AWS上的kubernetes集群。我现在想做的是从远程机器控制集群,例如我的MacBookPro

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

curl http://localhost:8001/api
然后我发现我只能卷曲本地主机。如果我使用以下命令从远程计算机执行curl操作:

curl http://dns-to-the-k8-machine:8080/api
我将得到一个“连接被拒绝”我想知道这里发生了什么?有没有一种方法可以轻松地远程访问API


提前感谢。

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

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


当使用
kubectl proxy
时,kubectl会自动处理上面提到的部分,并通过本地主机代理回您的笔记本电脑

谢谢你,史蒂夫。kubeconfig的工作原理非常完美。我现在可以从远程机器访问群集。但有一个小问题。当使用kubeconfig作为身份验证时,我仅被授权通过其专用IP与kubernetes主节点的443端口通信来访问集群。这意味着我只能从另一个aws实例访问集群,而不能从我自己的笔记本电脑访问集群。我想知道是否有办法授权我通过主节点的公共IP访问集群?您是如何部署集群的?您需要提供某种面向公共的IP或负载平衡器端点,指向api服务器的私有IP。