|NO.Z.00039|——————————|^^ 部署 ^^|——|KuberNetes&二进制部署.V17|5台Server|——|kubernetes组件|dashboard|
一、部署dashboard
### --- Dashboard概述
~~~ Dashboard用于展示集群中的各类资源,
~~~ 同时也可以通过Dashboard实时查看Pod的日志和在容器中执行一些命令等。
### --- 安装指定版本dashboard
~~~ # 切换到dashboard部署目录下
[root@k8s-master01 ~]# cd /root/k8s-ha-install/dashboard/
~~~ # 部署dashboard
[root@k8s-master01 dashboard]# kubectl create -f .
~~~ 注:输出结果:
serviceaccount/admin-user created
clusterrolebinding.rbac.authorization.k8s.io/admin-user created
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
### --- 查看dashboard.pod状态
~~~ # 查看dashboard部署运行结果
[root@k8s-master01 dashboard]# kubectl get po -n kubernetes-dashboard
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-7645f69d8c-7dd2b 1/1 Running 0 2m24s
kubernetes-dashboard-78cb679857-mqccg 1/1 Running 0 2m25s
二、登录dashboard-UI
### --- Chrome客户端配置
~~~ 在谷歌浏览器(Chrome)启动文件中加入启动参数,用于解决无法访问Dashboard的问题:
~~~ --test-type --ignore-certificate-errors
### --- 查看dashboard.service端口号
~~~ # 更改dashboard的svc为NodePort:
~~~ 注:将ClusterIP更改为NodePort(如果已经为NodePort忽略此步骤):
[root@k8s-master01 dashboard]# kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
type: NodePort
~~~ # 查看端口号
[root@k8s-master01 dashboard]# kubectl get svc kubernetes-dashboard -n kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard NodePort 10.104.232.53 <none> 443:30008/TCP 5m26s
### --- 查看dashboard-token值
~~~ # 查看token值
[root@k8s-master01 dashboard]# kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
Name: admin-user-token-nh8n7
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name: admin-user
kubernetes.io/service-account.uid: cc002287-5bd5-4e09-9b87-bfe1ea9d6d1f
Type: kubernetes.io/service-account-token
Data
====
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6InQ2ci1YY3cwaTZjVlQ2bzhaeTJiaGhMNE1fblFzMExrWDhOd25PZmFMXzAifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLW5oOG43Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJjYzAwMjI4Ny01YmQ1LTRlMDktOWI4Ny1iZmUxZWE5ZDZkMWYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.AkpCaM-gosJ_v_oZJoym3DcgT4qcSlBEsxDZOpqaRLJrF0LTb6ncEFey5MRMXXTEruCnocssuZtb7nuumw2jMgJtEpUsYhhz52ft7aEji8jKRP5-oFBnjX1h1F-vGNupvXq7hZ8CKaK-rGiI40cp8MQAVC8YLpmfGdCSnxDlxiN2DnsqIa6yN5yY0CC3J5dT_4du9oKezujyOi0L0V6f2jCtoWYFfCyTZNspmdSfthVhQQCX3SmlEoh4-mTulem8Ng0TC5Gj-VjVGCbQnZwwKT9dyuu4j0s9rfOjElMTIgBNkwiQ-T6kZB8u2MNroGV5kJjlfB_4l5atDia0YtmD2Q
ca.crt: 1411 bytes
三、登录dashboard:
### --- 登录dashboard:
~~~ # 将token值输入到令牌后,单击登录即可访问Dashboard
~~~ 根据实例端口号,通过任意安装了kube-proxy的宿主机或者VIP的IP+端口即可访问到dashboard:
~~~ 访问Dashboard:https://192.168.1.11:30008(请更改30008为自己的端口),
~~~ http://192.168.1.20:30008/;若是http会报错,改为https
~~~ Client sent an HTTP request to an HTTPS server.
~~~ 选择登录方式为令牌:即token方式



四、部署最新版本的dashboar
### --- 部署最新版本的dashboard
~~~ # dashboard官方GitHub地址:https://github.com/kubernetes/dashboard
~~~ 可以在官方dashboard查看到最新版dashboard

### --- 安装最新版本dashboard
[root@k8s-master01 ~]# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml
### --- 创建dashboard管理员用户
~~~ # 创建dashboard管理员用户配置文件
[root@k8s-master01 ~]# vim admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
annotations:
rbac.authorization.kubernetes.io/autoupdate: "true"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
~~~ # 创建dashboard管理员用户
[root@k8s-master01 ~]# kubectl apply -f admin.yaml -n kube-system
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?