请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

远程访问不了dashboard网页

我现在搭建的是单master的kubernetes系统 dashboard 运行正常
只可以本地访问 dashboard 网页
http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default
可以访问成功。

本地的机器IP地址是10.239.168.191, 在其它机器上远程访问不了dashboard网页

http://10.239.168.191:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default
This site can’t be reached
10.239.168.191 took too long to respond, 查看了一下访问不成功的原因是master对这个http请求没有相应。
但我在远端机器可以ping 通10.239.168.191, 后来发现远端机器不能连接10.239.168.191 的8001端口, 查看了一下10.239.168.191的8001端口一直是处于listen状态了。
为什么远端机器不能访问10.239.168.191 的8001端口呢? 还需要做一些什么配置呢?

正在回答 回答被采纳积分+3

2回答

tonybai 2018-11-01 15:07:22

亲,逐个回答你的问题:
1. kubectl proxy启动的8001端口应该只是绑定了(bind) localhost(127.0.0.1),因此只能通过127.0.0.1:8001访问,不同通过10.239.168.191访问。
2. 你在自答中 尝试用6443端口通过apiserver来访问dashboard。但是默认apiserver不支持匿名登录(system:anonymous),因此失败。

一个可行方案:
可以 为dashboard service配置nodeport,这样可以通过外网访问(这个在后续章节会有讲解)

祝学习愉快

0 回复 有任何疑惑可以回复我~
  • 提问者 慕婉清1752713 #1
    我已经把dashboard service配置成nodeport,但还是不能通过内网访问
    - apiVersion: v1
      kind: Service
      metadata:
        creationTimestamp: 2018-11-01T06:44:03Z
        labels:
          k8s-app: kubernetes-dashboard
        name: kubernetes-dashboard
        namespace: kube-system
        resourceVersion: "128962"
        selfLink: /api/v1/namespaces/kube-system/services/kubernetes-dashboard
        uid: 859555e9-dda1-11e8-b3a6-bea8980dbb51
      spec:
        clusterIP: 10.100.235.183
        externalTrafficPolicy: Cluster
        ports:
        - nodePort: 30741
          port: 443
          protocol: TCP
          targetPort: 8443
        selector:
          k8s-app: kubernetes-dashboard
        sessionAffinity: None
        type: NodePort
      status:
        loadBalancer: {}
    kind: List
    metadata: {}
    回复 有任何疑惑可以回复我~ 2018-11-01 15:43:00
  • tonybai #2
    你修改成nodeport并生效后,通过curl -k 内网ip:nodeport  没有应答返回么?
    回复 有任何疑惑可以回复我~ 2018-11-02 08:14:13
  • 提问者 慕婉清1752713 回复 tonybai #3
    生成k8s master的证书,添加到浏览器上,问题就解决了
    回复 有任何疑惑可以回复我~ 2018-11-03 11:42:23
提问者 慕婉清1752713 2018-11-01 10:56:06

访问错误如下:

// 20181101105320

// https://10.239.168.191:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy


{

  "kind": "Status",

  "apiVersion": "v1",

  "metadata": {

    

  },

  "status": "Failure",

  "message": "services \"https:kubernetes-dashboard:\" is forbidden: User \"system:anonymous\" cannot get resource \"services/proxy\" in API group \"\" in the namespace \"kube-system\"",

  "reason": "Forbidden",

  "details": {

    "name": "https:kubernetes-dashboard:",

    "kind": "services"

  },

  "code": 403

}


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信