服务“kubernetes-dashboard”,无法访问kubernetes ui

Posted

技术标签:

【中文标题】服务“kubernetes-dashboard”,无法访问kubernetes ui【英文标题】:services “kubernetes-dashboard” , can't access kubernetes ui 【发布时间】:2021-10-04 23:10:18 【问题描述】:

我正在使用以下命令部署 kubernetes UI: kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml 它响应“无法连接到服务器:拨打 tcp 185.199.110.133:443: i/o timeout” 我在代理后面,我该如何解决?

【问题讨论】:

【参考方案1】:

您通过提供的 url 部署的所有服务都没有指定种类。这意味着他们将使用默认服务类型 ClusterIP

ClusterIP 类型的服务只能从您的 Kubernetes 集群内部访问。

如果您希望从集群外部访问仪表板,您将需要NodePort 类型的服务。 NodePort 服务将在您的所有节点上分配一个随机高数端口,您的应用程序(在本例中为 k8s 仪表板)将可通过 $ip-of-any-node:$assigned-nodeport 访问。

更多信息请关注官方k8s documentation。

如果您的集群位于代理后面,请确保您可以从尝试发送请求的任何位置访问集群节点的外部 IP。

要找出分配给 NodePort 服务的端口号,请使用 kubectl describe service $servicenamekubectl get service $servicename -o yaml

【讨论】:

谢谢,但是这意味着我无法从互联网上得到它,你可以查看这个链接并告诉我:kubernetes.io/docs/tasks/access-application-cluster/… 您需要通过 NodePort 服务公开仪表板,或者设置通过 nodeport 服务公开的入口控制器,然后让负载均衡器从外部(即互联网)访问以指向您的 nodeport 服务或入口控制器。如果您选择入口控制器选项,您还需要创建一个指向当前仪表板服务的入口。使用 kubectl 代理和通过 localhost 访问仪表板的描述方式仅适用于 k8s 节点本身。不是来自公共互联网 查看这部分文档:kubernetes.io/docs/tasks/access-application-cluster/… 上面写着“UI 只能从执行命令的机器访问。有关更多选项,请参阅 kubectl proxy --help。” 我的意思是我无法从中获取文件 recommanded.yaml:raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/… 不,如果不进行更改,您将无法从此 yaml 文件访问仪表板

以上是关于服务“kubernetes-dashboard”,无法访问kubernetes ui的主要内容,如果未能解决你的问题,请参考以下文章

安装kubernetes-dashboard

27-Kubernetes-DashBoard

k8s 安装 kubernetes-dashboard-2.X

k8s 安装 kubernetes-dashboard-2.X

k8s 安装 kubernetes-dashboard-2.X

k8s 之dashboard部署