首页 > 解决方案 > 如何登录 microk8s Kubernetes Dashboard?

问题描述

我在 microk8s 中启用了仪表板:

microk8s.enable dns dashboard

我找到了它的IP地址:

microk8s.kubectl get all --all-namespaces
    ...
kube-system   service/kubernetes-dashboard ClusterIP 10.152.183.212 <none> 443/TCP 24h
    ...

我尝试使用 URL https://10.152.183.212在我的浏览器中显示它。我的浏览器出现错误“身份验证失败。请重试。”:

Kubernetes仪表板'身份验证失败。 请再试一次。'

我也收到了类似的错误,“没有足够的数据来创建身份验证信息结构”。

标签: kubernetes-dashboardmicrok8s

解决方案


为了扩展@John 的答案,有时您可能会被询问 HTTP 基本身份验证提示,您还可以在以下位置找到这些凭据:

#/var/snap/microk8s/current/credentials/basic_auth.csv

~/:$ sudo cat /var/snap/microk8s/current/credentials/basic_auth.csv

<password>,admin,admin,"system:masters"

第一个值 ( password) 是实际密码,用户将是admin

稍后,可能会要求您使用秘密令牌登录。可以通过以下方式检索:

首先,让我们通过获取秘密列表来确定哪个是令牌名称(它是随机的):

~/:$ kubectl -n kube-system get secret

NAME                               TYPE                                  DATA   AGE
coredns-token-k64mx                kubernetes.io/service-account-token   3      86s
.
.
kubernetes-dashboard-token-wmxh6   kubernetes.io/service-account-token   3      80s

最后一个标记 ( kubernetes-dashboard-token-wmxh6) 是我们要查找的标记,现在让我们获取实际值:

~/:$ kubectl -n kube-system describe secret kubernetes-dashboard-token-wmxh6 

Name:         kubernetes-dashboard-token-wmxh6
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: kubernetes-dashboard
              kubernetes.io/service-account.uid: 538fbe6d-ac1e-40e8-91e9-ec0cf4265545

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1115 bytes
namespace:  11 bytes
token:      <token-value>

令牌字段 ( <token-value>) 的值将是登录 K8s 仪表板的令牌。

从那里,你应该没事。


推荐阅读