一、 准备工作
- Docker Desktop开启- Docker
- Docker 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
 9- dashboard 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
 3- 193行 
 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 进行部署应用
