文章目录
- 一、Dashboard简介
- 二、Dashboard部署安装
- 三、配置Dashboard登入用户
- 1、通过Token令牌登入
- 2、通过kubeconfig文件登入
- 四、Dashboard创建容器
- 五、扩展
一、Dashboard简介

Kubernetes Dashboard是一个Web UI,用于管理Kubernetes集群中的应用程序和资源。它提供了一个可视化的界面,可以方便地查看和管理Kubernetes集群中的各种资源,如Pod、Deployment、Service、ConfigMap等。Dashboard还提供了一些高级功能,如日志查看、资源监控、命名空间管理等。
官方GitHub官方下载地址 网盘下载地址
二、Dashboard部署安装
1、下载文件并执行,国内仓库下:
wget https://gitee.com/qinziteng/K8S/raw/master/YMAL/recommended.yaml2、默认 Dashboard 只能在集群内部访问 添加Service 类型:
vim recommended.yaml![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IdGaQxFF-1682320135592)(D:\MD归档文档\IMG\image-20230423135247629.png)] K8s图形化管理工具Dasboard部署及使用_kubernetes_02](https://file.cfanz.cn/uploads/png/2023/06/02/12/P4FI74O4R7.png)
3、修改完成确认无误后执行文件
kubectl apply -f recommended.yaml4、查看状态 默认在 kubernetes-dashboard 名称空间下:
kubectl get pods -n kubernetes-dashboard![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zLYvY71n-1682320135592)(D:\MD归档文档\IMG\image-20230423120036295.png)] K8s图形化管理工具Dasboard部署及使用_容器_03](https://file.cfanz.cn/uploads/png/2023/06/02/12/d3780OLDBb.png)
5、查看Service暴露端口,我们使用这个端口进行访问:
kubectl get svc -n kubernetes-dashboard![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cdlFlUK2-1682320135592)(D:\MD归档文档\IMG\image-20230423135336569.png)] K8s图形化管理工具Dasboard部署及使用_容器_04](https://file.cfanz.cn/uploads/png/2023/06/02/12/f34afU0F1A.png)
6、访问页面
https://IP+SVCPort
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WbTPa9bQ-1682320135592)(D:\MD归档文档\IMG\image-20230423143845697.png)] K8s图形化管理工具Dasboard部署及使用_命名空间_05](https://file.cfanz.cn/uploads/png/2023/06/02/12/9T9232A2c8.png)
三、配置Dashboard登入用户
1、通过Token令牌登入
1、创建一个 ClusterRoleBinding 对象,并赋予cluster-admin权限,即访问整个集群的权限,包括查看和修改所有资源的权限
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard命令参数解析:
- create:创建资源的命令
- clusterrolebinding:资源类型,表示创建一个 ClusterRoleBinding 对象
- dashboard-cluster-admin:ClusterRoleBinding 对象的名称
- clusterrole=cluster-admin:指定要绑定的 ClusterRole,这里是 cluster-admin,即具有完全访问权限的 ClusterRole。
- serviceaccount=kubernetes-dashboard:kubernetes-dashboard:指定要绑定的 ServiceAccount,这里是 kubernetes-dashboard 命名空间下的 kubernetes-dashboard ServiceAccount
查看创建的secret
kubectl get secret -n kubernetes-dashboard![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G55RuFcE-1682320135593)(D:\MD归档文档\IMG\image-20230423140347841.png)] K8s图形化管理工具Dasboard部署及使用_Pod_06](https://file.cfanz.cn/uploads/png/2023/06/02/12/72071J610a.png)
2、获取token信息:
kubectl describe secret $(kubectl get secret -n kubernetes-dashboard|grep kubernetes-dashboard-token*|awk '{print $1}') -n kubernetes-dashboard|egrep -w token:查看token信息如下圈住信息:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPfscWYa-1682320135593)(D:\MD归档文档\IMG\image-20230423150818110.png)] K8s图形化管理工具Dasboard部署及使用_kubernetes_07](https://file.cfanz.cn/uploads/png/2023/06/02/12/WcDbWSV7fF.png)
3、将token信息复制到浏览器下面即可管理K8S集群了
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rOHDMtPZ-1682320135593)(D:\MD归档文档\IMG\image-20230423151001708.png)] K8s图形化管理工具Dasboard部署及使用_容器_08](https://file.cfanz.cn/uploads/png/2023/06/02/12/52332G4HO7.png)
2、通过kubeconfig文件登入
1、创建cluster集群
cd /etc/kubernetes/pki
kubectl config set-cluster kubernetes --certificate-authority=./ca.crt --server="https://16.32.15.201:6443" --embed-certs=true --kubeconfig=/root/dashboard-admin.conf执行完成后会 /root/dashboard-admin.conf 生成文件
cat /root/dashboard-admin.conf2、创建credentials
TOKEN=$(kubectl get secret $(kubectl get secret -n kubernetes-dashboard|grep kubernetes-dashboard-token*|awk '{print $1}') -n kubernetes-dashboard -o jsonpath={.data.token}|base64 -d)
kubectl config set-credentials dashboard-admin --token=$TOKEN --kubeconfig=/root/dashboard-admin.conf3、创建context
kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/dashboard-admin.conf4、切换context的current-context是dashboard-admin@kubernetes
kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/root/dashboard-admin.conf5、把 /root/dashboard-admin.conf 这个文件下载到本地,之后上传到WEB页面登入即可
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VizE88k4-1682320135594)(D:\MD归档文档\IMG\image-20230424144253809.png)] K8s图形化管理工具Dasboard部署及使用_kubernetes_09](https://file.cfanz.cn/uploads/png/2023/06/02/12/U5da7a7L4e.png)
四、Dashboard创建容器
1、登入上dashboard后点击加号进行添加,如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5uY6BEZa-1682320135594)(D:\MD归档文档\IMG\image-20230424145526974.png)] K8s图形化管理工具Dasboard部署及使用_Pod_10](https://file.cfanz.cn/uploads/png/2023/06/02/12/eeORF18Uf7.png)
2、等待Pod全部启动后,查看Service映射端口
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aeli0IS7-1682320135594)(D:\MD归档文档\IMG\image-20230424150729067.png)] K8s图形化管理工具Dasboard部署及使用_kubernetes_11](https://file.cfanz.cn/uploads/png/2023/06/02/12/X80fDa13bR.png)
3、通过映射端口访问网页
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-583XQqOr-1682320135595)(D:\MD归档文档\IMG\image-20230424150834674.png)] K8s图形化管理工具Dasboard部署及使用_命名空间_12](https://file.cfanz.cn/uploads/png/2023/06/02/12/11287G0658.png)
五、扩展
如果是k8s1.24版本以上包括1.24版本创建是不会自动创建token,需要手动创建一下,如下配置:
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: admin
annotations:
rbac.authorization.kubernetes.io/autoupdate: "true"
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
name: admin
namespace: kubernetes-dashboard
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin
namespace: kubernetes-dashboard
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile执行一下:
kubectl apply -f admin.yml创建token,将token复制到WEB页面即可。
kubectl create token admin --namespace kubernetes-dashboard
OK,至此结束!










