访问Kubernetes仪表板

时间:2020-02-18 12:54:24

标签: kubernetes kubernetes-dashboard

运行kubectl proxy --port=8001时,我可以访问kubernetes仪表板,并且能够使用从秘密获得的令牌登录。

http://localhost:8001/api/v1/namespaces/prod/services/http:kubernetes-dashboard:http/proxy/#/about?namespace=default

但是,当我通过入口公开我的应用程序时,我也可以访问UI,但无法使用ı可以登录本地的令牌登录。我正在努力解决此问题,我们将不胜感激。

{
 "jweToken": "",
 "errors": [
  {
   "ErrStatus": {
    "metadata": {},
    "status": "Failure",
    "message": "MSG_LOGIN_UNAUTHORIZED_ERROR",
    "reason": "Unauthorized",
    "code": 401
   }
  }
 ]
}

curl -v http://..../ -H“”输出

< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Cache-Control: no-store
< Content-Type: text/html; charset=utf-8
< Date: Tue, 18 Feb 2020 14:28:28 GMT
< Last-Modified: Fri, 07 Feb 2020 13:15:14 GMT
< Vary: Accept-Encoding
< Content-Length: 1262
< 
<!--
Copyright 2017 The Kubernetes Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

入口日志

8T14:21:42Z"}
{"level":"warning","msg":"Endpoints not available for prod/kubernetes-dashboard","time":"2020-02-18T14:21:42Z"}
{"level":"warning","msg":"Endpoints not available for prod/kubernetes-dashboard","time":"2020-02-18T14:21:43Z"}
{"level":"warning","msg":"Endpoints not available for prod/kubernetes-

1 个答案:

答案 0 :(得分:1)

当我通过入口公开我的应用程序时,我也可以访问UI,但无法使用可以登录本地的令牌登录。

根据Kubernetes Dashboard文档,自1.7.x版(2017)起,您仍可以使用HTTP older versions does通过localhost来通过HTTP访问仪表板。

但是当您选择公开它时:

仪表板不应通过HTTP公开公开。对于通过HTTP访问的域,将无法登录。单击登录页面上的“登录”按钮后,什么也不会发生。

为了公开您的仪表板,您需要配置HTTPS访问。 您在评论中提到您正在内部运行Kubernetes,并且希望通过NodeIP访问仪表板。

在这种情况下,请遵循:Accessing Dashboard via NodePort

请记住,应该访问已安装仪表板的节点的https://<master-ip>:<nodePort>,而不是访问https://<node-ip>:<nodePort>

如果您有任何疑问,请在评论中告诉我,我会帮助您。