一、 准备工作
Docker Desktop开启DockerDocker Desktop开启Kubernetes
如图:
二、安装 Kubernetes Dashboard
下载 Kubernetes Dashboard 的安装 yaml 文件
1 | 代理网络使用者 |
(可选步骤)提前拉取 Kubernetes Dashboard 的镜像文件,为了部署时能够更快的运行起来
1 | docker pull kubernetesui/dashboard:v2.1.0 |
修改 Kubernetes Dashboard 的 yaml 文件
默认这个文件部署之后是通过
Clusterip访问的,需要通过kubectl proxy进行代理访问, 为了更友好的访问,我们采用NodePort的方式部署1
2
3
4
5
6
7
8
9dashboard 2.1.0版本
40行添加type
39 spec:
40 type: NodePort
41 ports:
42 - port: 443
43 targetPort: 8443
44行添加nodePort,也可以不写,不写会随机分配
44 nodePort: 30001修改镜像下载策略, 因为刚才已经下载了镜像,这里修改为如果镜像存在直接使用,不存在才会去下载
1
2
3193行
imagePullPolicy: IfNotPresent
将Always修改为IfNotPresent
部署 Kubernetes Dashboard
1 | 执行如下命令 |
输出结果如下:
1 | namespace/kubernetes-dashboard created |
检查 Kubernetes Dashboard 是否运行
1 | 切换默认命名空间 |
输出结果如下:
1 | NAME READY STATUS RESTARTS AGE |
查看 Kubernetes Dashboard 映射到主机的访问端口
1 | 获取当期命名空间的service列表 |
如果不出意外的话,映射的就是我们刚刚指定的 30001 端口
输出结果如下:
1 | NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE |
三、访问 Kubernetes Dashboard
因为我们是 Mac 下 Docker Desktop 部署的,所以我们直接访问本地的 30001 端口即可
- 地址为:https://127.0.0.1:30001
- 如果为服务器,则应该是:
https://服务器ip:30001
需要注意的是:这里一定要使用https进行访问,否则无法访问到 Kubernetes Dashboard。如果说访问访问出现了 你的连接不是专用连接,如下图:
这里不用慌张,是因为我们使用的 https 协议访问,但是并没有浏览器认同的 https 证书,线上的话,直接颁发证书给到即可。
解决办法:
在浏览器页面内(并非网址输入框,就直接在页面,是的,你没听错,在页面内直接输入,没有任何显示),直接输入:thisisunsafe 即可
访问成功的界面

创建 Service Account 和 ClusterRoleBinding
Kubernetes Dashboard当前,只支持使用Bearer Token登录。 由于Kubernetes Dashboard默认部署时,只配置了最低权限的RBAC。因此,我们要创建一个名为admin-user的ServiceAccount,再创建一个ClusterRolebinding,将其绑定到Kubernetes集群中默认初始化的cluster-admin这个ClusterRole。更多关于权限管理的信息,请参考 Using RBAC Authorization
执行如下命令可创建 ServiceAccount 和 ClusterRoleBinding
1 | kubectl apply -f https://cdn.findcat.cn/kubernetes-dashboard/auth.yaml |
链接中的 auth.yaml 的文件内容如下:
1 | apiVersion: v1 |
获取 Bearer Token
1 | 获取 Bearer Token 命令 |
输出信息如下所示:
1 | Name: admin-user-token-tfvb2 |
将上一个步骤中获得的 Token 输入到登录界面中,点击 Sign in 按钮,完成登录
如图所示:
登录成功后,如图所示:
值得一提的是 Kubernetes Dashboard 是根据当前浏览器的语言来决定当前页面显示的语言的,所以将 Chrome 语言设置调为中文比较方便于我们进行了解 Kubernetes Dashboard
四、结语
本系列文章均使用 Mac 下 Docker Desktop 进行搭建,获取在 Linux 发行版中的搭建有所不用,但是最终思路都是一致的,后续有时间可以出一系列如何在 Linux 服务器中搭建 Kubernetes 集训的文章。
在本文中,我们学会了如何在 Kubernetes 集群中搭建 Kubernetes Dashboard 管理界面,学会了如何创建 ServiceAccount 和 ClusterRoleBinding,那么我将在接下来文章中讲解,如何使用 Kubernetes Dashboard 进行部署应用
