部署dashboard

1、简介及下载

Dashboard是一个通用的、基于Web的UI,用于Kubernetes集群。它允许用户管理群集中运行的应用程序并对其进行故障排除,以及管理群集本身。

下载链接:https://github.com/kubernetes/dashboard/releases

根据版本兼容性选择合适的版本,我们这里kubernetes用的是1.20版本,所以选择兼容该版本的dashboard

图片[1]-部署dashboard-李佳程的个人主页
#将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-李佳程的个人主页
#获取登录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-李佳程的个人主页

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享