当部署完Kubernetes集群之后,为了便于管理Web UI或许是一种新型且快捷的部署方式。本节将以部署工具helm搭建Kubernetes
Dashboard。以及拍坑
helm相关文档:
- helm
- CNCF Helm 项目过程报告
helm初始化
在这里推荐使用Kubernetes dashboard官方的仓库。在helm初始化完成后可使用如下命令进行helm repo初始化
1 | # add repo |
为避免加入的repo非最新,可使用如下命令进行更新
1 | helm repo update |
效果如下所示
helm安装Kubernetes dashboard
笔者建议使用新的namespace
1 | # create namespace |
输出如下所示
等待部署完成,查看如下图所示
修改端口暴露类型
1 | kubectl edit -n monitor service kubernetes-dashboard |
将type:ClusterIP修改为NodePort类型暴露端口,如下所示
修改完成后,就可以获得暴露的端口啦,如下
若在云服务器上请开启对应端口,笔者这里为32623
此时访问服务器ip+端口,即可进入登陆页面。如下图所示
必须为https://ip:port
建议使用火狐浏览器
至此部署部分已经完成
获取token与授权访问
获取token
1 | # 查看token名称 |
授权
此时我们刚进去界面,发现什么资源都显示不了,是因为dashboard默认的serviceaccount
并没有权限,所以我们需要给予它授权。
注意:这里直接赋予的是超级管理员权限,如果需要更加细颗粒度的授权,请参照官方的说明
https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/README.md
1 | apiVersion: rbac.authorization.k8s.io/v1 |
将以上的yaml文件copy到master服务器上创建即可,当然若您也是使用的monitor 的namespace可直接使用如下命令
1 | kubectl apply -f https://raw.githubusercontent.com/KubernetersDeployExample/script/main/dashboard/authorization.yaml |