部署 K8s 图形化管理工具 Dashboard

文章目录

一、Dashboard 概述

Kubernetes Dashboard是一个Web UI,用于管理Kubernetes集群中的应用程序和资源。它提供了一个可视化的界面,可以方便地查看和管理Kubernetes集群中的各种资源,如Pod、Deployment、Service、ConfigMap等。Dashboard还提供了一些高级功能,如日志查看、资源监控、命名空间管理等。

二、GitHub 地址

dashboard

三、Dashboard 部署安装

1、选择兼容版本

由于之前升级 k8s 集群至 1.23.16 所以这里选择 Dashboard v2.5.1

2、下载配置文件

进入到master节点,下载dashboard对应版本的 recommended.yaml 文件

bash 复制代码
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml

3、添加 Dashboard 的Service类型

指定 Service 的类型为 NodePort

指定 NodePort Service 在每个节点上使用的端口号 (30000-32767 )

bash 复制代码
vim recommended.yaml

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: dashboard-metrics-scraper
  name: dashboard-metrics-scraper
  namespace: kubernetes-dashboard
spec:
  type: NodePort	#添加
  ports:
    - port: 8000
      targetPort: 8000
      nodePort: 32111	#添加
  selector:
    k8s-app: dashboard-metrics-scraper

4、应用部署

bash 复制代码
kubectl apply -f recommended.yaml

5、查看 kubernetes-dashboard 命名空间下资源状态

bash 复制代码
kubectl get pods,svc -n kubernetes-dashboard

6、创建访问账户

1.24 版本前的操作

bash 复制代码
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

7、授权

bash 复制代码
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

8、获取账号token

获取 token 登录Dashboard

bash 复制代码
kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin

kubectl describe secrets dashboard-admin-token-qfz2z -n kubernetes-dashboard

9、1.24 版本以后的需要创建一个Pod

yaml 复制代码
cat << EOF > pod1.yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: pod1
  name: pod1
  namespace: kubernetes-dashboard
spec:
  terminationGracePeriodSeconds: 0
  serviceAccount: dashboard-admin
  containers:
  - image: nginx
    imagePullPolicy: IfNotPresent
    name: pod1
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}
EOF
bash 复制代码
kubectl apply -f pod1.yaml

kubectl exec -it pod1 -n kubernetes-dashboard -- cat /run/secrets/kubernetes.io/serviceaccount/token

四、浏览器访问Dashboard

遇到显示 Your connection is not private 在页面空白处英文输入法输入

thisisunsafe

1、输入 token 登录

2、页面

相关推荐
阿里云云原生15 小时前
深入内核:拆解 OpenTelemetry eBPF 探针如何优雅地“透视”多语言微服务?
云原生
大树8815 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠15 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质16 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工17 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智17 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_17 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉18 小时前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦19 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_9618752419 小时前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant