一、 准备工作
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
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
进行部署应用