我关注了How can I access to kubernetes dashboard using NodePort in a remote cluster for testing?
我的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
它永远加载。我在做什么错了?
答案 0 :(得分:0)
您需要向实例添加security group
,以允许端口31872
的流量。
说明了如何进行here。
如果您使用kubectl proxy
,则只能在本地访问,如docs所述:
...
kubectl proxy
... 只能从执行命令的计算机上访问 用户界面。有关更多选项,请参见
kubectl proxy --help
。
这也是AWS的Deploy the Kubernetes Dashboard (web UI)指南。 您可以尝试运行L7 ELB来显示仪表板,该仪表板的说明here。