我在虚拟机上有一个由kubeadm v1.8.4制作的K8s群集。现在我想使用笔记本电脑/工作站上的rest API访问这个K8s集群。
我能够做到这一点的一种方法是运行此命令“kubectl proxy --address = --accept-hosts'。*'”。但是我必须手动运行此命令才能访问我的集群从笔记本电脑,我不希望这样。
在浏览文档时,我发现还有另一个可用的代理 apiserver proxy 。我正在尝试使用这种方式,请点击此链接(https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#manually-constructing-apiserver-proxy-urls)但收到错误“无法在邮递员那里得到任何答复。
所以我想知道我是否正确使用这个apiserver代理。或者还有其他任何方式可以通过我的笔记本电脑向VM上的群集发出REST请求而无需手动点击“kubectl proxy”命令吗?
答案 0 :(得分:0)
kube代理为您做什么本质上是两件事。
首先,显然,它代理从localhost端口到kubernetes api的流量。
其次,它还会针对群集对您进行身份验证,以便所有代理呼叫都不会记录身份验证信息。
要直接命中API,就像将客户端指向正确的IP:虚拟机的PORT一样简单,但是......您需要忽略(不建议)解决问题或信任kube CA证书。此外,您仍需要对其进行身份验证,因此您需要使用适当的客户端凭据(即。承载令牌)。
Manually constructing apiserver proxy
指的是一种不同类型的野兽,它允许您通过访问kube API服务器中的特定路径,将流量代理到kubernetes群集中部署的服务。因此,要使用它,您需要具有API的访问权限。