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

我正在使用以下命令部署 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”
我在代理后面,我该如何解决?

【问题讨论】:

    标签: kubernetes dashboard


    【解决方案1】:

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

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

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

    更多信息请关注官方k8s documentation

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

    要找出分配给 NodePort 服务的端口号,请使用 kubectl describe service ${servicename}kubectl 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 文件访问仪表板
    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    相关资源
    最近更新 更多