1

我关注了如何在远程集群中使用 NodePort 访问 kubernetes 仪表板进行测试?

我的 Kubernetes 集群在 Amazon EC2 实例中运行,集群服务如下所示

$ kubectl get services --all-namespaces
NAMESPACE     NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
default       kubernetes             ClusterIP   100.64.0.1      <none>        443/TCP         5h54m
kube-system   kube-dns               ClusterIP   100.64.0.10     <none>        53/UDP,53/TCP   5h53m
kube-system   kubernetes-dashboard   NodePort    100.68.178.51   <none>        443:31872/TCP   5h47m

$ kubectl cluster-info
Kubernetes master is running at https://api.selumalai.k8s.com
KubeDNS is running at https://api.selumalai.k8s.com/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

我已经在 31872 暴露了 NodePort。如果我在浏览器中使用

$ kubectl  proxy -p 8001 &
$ curl https://api.selumalai.k8s.com:31872

它永远加载。我究竟做错了什么 ?

4

1 回答 1

0

您需要向security group您的实例添加一个以允许端口的流量31872

此处解释了如何执行操作。

如果您使用kubectl proxy它,则只能在本地访问,这在文档中有所说明:

...

kubectl proxy

... UI 只能 从执行命令的机器访问。查看 kubectl proxy --help 更多选项。

此外,这里还有 AWS 提供的关于如何部署 Kubernetes 仪表板(Web UI)的指南。您可以尝试运行 L7 ELB 来公开仪表板,此处对此进行了说明。

于 2020-04-27T11:53:02.613 回答