我在VirtualBox上创建了一个新的kubernetes集群。我有一个主节点和两个工作节点。我想使用仪表板,但出现错误。当我运行kubectl proxy
时,主服务器开始监听端口8001:
Starting to serve on 127.0.0.1:8001
然后在主机上创建SSH隧道:
ssh user@10.10.10.50 -N -L 8001:127.0.0.1:8001
但是当我在浏览器中键入localhost:8001/ui
时,我得到了:
{
"paths": [
"/apis",
"/apis/",
"/apis/apiextensions.k8s.io",
"/apis/apiextensions.k8s.io/v1beta1",
"/healthz",
"/healthz/etcd",
"/healthz/ping",
"/healthz/poststarthook/generic-apiserver-start-informers",
"/healthz/poststarthook/start-apiextensions-controllers",
"/healthz/poststarthook/start-apiextensions-informers",
"/metrics",
"/openapi/v2",
"/swagger-2.0.0.json",
"/swagger-2.0.0.pb-v1",
"/swagger-2.0.0.pb-v1.gz",
"/swagger.json",
"/swaggerapi",
"/version"
]
}
如果我想直接通过api进入仪表板:
https://10.10.10.50:6443/api/v1/namespaces/kube-system/services
我收到此错误:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "services is forbidden: User \"system:anonymous\" cannot list services in the namespace \"kube-system\"",
"reason": "Forbidden",
"details": {
"kind": "services"
},
"code": 403
}
我知道这与身份验证有关,但是我不知道如何在群集上定义用户名/密码或在主节点和主机之间共享密钥。或者我应该如何使用.kube / config文件中的密钥。
答案 0 :(得分:2)
我想使用仪表板,但出现错误。
根据the dashboard documentation的摘录,成功成功默认安装了仪表板之后(默认的Dashboard部署包含运行所需的最少的RBAC特权集):
要从本地工作站访问仪表板,必须创建一个通往Kubernetes集群的安全通道。运行以下命令:
kubectl proxy
现在在以下位置访问仪表板:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
无需进行隧道或其他任何更改。到目前为止,仪表盘的默认安装始终像是一种魅力,如果您单独配置了任何东西,则可能会出现问题...