1、简介及下载
Dashboard是一个通用的、基于Web的UI,用于Kubernetes集群。它允许用户管理群集中运行的应用程序并对其进行故障排除,以及管理群集本身。
下载链接:https://github.com/kubernetes/dashboard/releases
根据版本兼容性选择合适的版本,我们这里kubernetes用的是1.20版本,所以选择兼容该版本的dashboard
![图片[1]-部署dashboard-李佳程的个人主页](http://39.101.72.1/wp-content/uploads/2022/11/image-2.png)
#将yaml文件下载到本地
root@k8s-master1:~# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
#修改文件名,便于保存识别
root@k8s-master1:~# mv recommended.yaml Dashboard.yaml
#编辑yaml文件,添加nodeport
root@k8s-master1:~# vim Dashboard.yaml
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
nodePort: 30001
selector:
k8s-app: kubernetes-dashboar
#可以提前将部署Dashboard所需镜像下载到本地镜像仓库harbor中
2、开始部署
root@k8s-master1:~# kubectl apply -f Dashboard.yaml
root@k8s-master1:~# kubectl get pods -n kubernetes-dashboard
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-79c5968bdc-vrpxm 1/1 Running 0 35s
kubernetes-dashboard-9f9799597-45x2k 1/1 Running 0 35s
3、测试Dashboard
#浏览器打开
https://172.16.1.101:30001/#/login
![图片[2]-部署dashboard-李佳程的个人主页](http://39.101.72.1/wp-content/uploads/2022/11/image-3.png)
#获取登录token
#查看api版本
root@k8s-master1:~# kubectl api-resources
root@k8s-master1:~# vim admin-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
root@k8s-master1:~# kubectl apply -f admin-user.yaml
root@k8s-master1:~# kubectl get secret -A | grep admin
kubernetes-dashboard admin-user-token-njv2l kubernetes.io/service-account-token 3 12s
root@k8s-master1:~# kubectl describe secret admin-user-token-njv2l -n kubernetes-dashboard
Name: admin-user-token-njv2l
Namespace: kubernetes-dashboard
Labels: <none>
Annotations: kubernetes.io/service-account.name: admin-user
kubernetes.io/service-account.uid: 6fb4f28e-794c-410c-898d-3636d6c58fbc
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1066 bytes
namespace: 20 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6Im5fWUs1NVlUZFVmSnUxcmdTOVJHMUkzcmhLQWpOQ25KVHFha3VXQVd3b1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLW5qdjJsIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI2ZmI0ZjI4ZS03OTRjLTQxMGMtODk4ZC0zNjM2ZDZjNThmYmMiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.oLRuEynfAin_-MaO-UMDMqrvdVJgCDrkQCDvNNt4yOyMk5XATcdkPLF_VQXHtjj9Tg4bdcxqCjuqzbLKEcsjtmw4OznoIC3ti4EESb4rXNmUtmctJV7dasmkPM1vgwmtzTOIvvzb3wyEkU7QgV3AWU7ImbSzUygMAvWaR1_r_tbbbM3KW1J4Xoae6Pia6Pr43AJL-h72MQ8QA2AEOA4Aw4kKalz7e3n3FpmyiSEkCeX95c-sZTdEothBEBcZN96hQAOzwD86O0HeZRfloFwIuen1b6DKlxZMRr8Fdpa2Ne56p04-XUXnk6osBEI5pKRkBYIDOu5rQCvWYnr9Dwg0RA
![图片[3]-部署dashboard-李佳程的个人主页](http://39.101.72.1/wp-content/uploads/2022/11/image-5.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END