Files
ljwx-k8s/DASHBOARD-ACCESS-GUIDE.md
2026-02-20 22:50:45 +08:00

6.5 KiB
Raw Permalink Blame History

Kubernetes Dashboard 访问指南

端口说明: Dashboard 使用本地端口 9443(而非常见的 8443),因为 8443 端口已被 Harbor 服务占用。

快速访问

方式 1: 一键访问脚本(推荐)

cd /Users/brunogao/work/codes/tools/macos/k8s
./access-dashboard.sh

脚本功能:

  1. ✅ 自动检查 Dashboard 部署状态
  2. ✅ 获取或生成访问 Token(有效期 1 年)
  3. ✅ 自动复制 Token 到剪贴板
  4. ✅ 启动端口转发(9443:443)
  5. ✅ 自动打开浏览器访问 https://localhost:9443

使用步骤:

  1. 运行脚本
  2. 等待浏览器自动打开
  3. 在登录页面选择 "Token" 方式
  4. 按 Cmd+V 粘贴 Token(已在剪贴板)
  5. 点击 "登录"

方式 2: 手动访问

步骤 1: 获取访问 Token

方式 A: 使用保存的长期 Token(推荐)

cat enterprise-k8s-manifests/dashboard-token-new.txt
  • Token 有效期: 1 年(8760 小时)
  • 无需重复生成

方式 B: 生成新的长期 Token

kubectl -n kubernetes-dashboard create token admin-user --duration=8760h

方式 C: 生成短期 Token(1 小时)

kubectl -n kubernetes-dashboard create token admin-user

步骤 2: 启动端口转发

kubectl port-forward -n kubernetes-dashboard svc/kubernetes-dashboard 9443:443

输出示例:

Forwarding from 127.0.0.1:9443 -> 9443
Forwarding from [::1]:9443 -> 9443

步骤 3: 访问 Dashboard

open https://localhost:9443

或在浏览器中访问: https://localhost:9443

步骤 4: 登录

  1. 选择 Token 认证方式
  2. 粘贴步骤 1 中获取的 Token
  3. 点击 Sign in

Dashboard 功能

登录后可以使用以下功能:

集群概览

  • 查看所有 Namespaces
  • 查看节点状态和资源使用
  • 查看集群事件

工作负载管理

  • Deployments: 查看和编辑部署
  • Pods: 查看 Pod 状态、日志、终端
  • ReplicaSets: 副本集管理
  • StatefulSets: 有状态应用
  • DaemonSets: 守护进程集
  • Jobs/CronJobs: 任务管理

服务和网络

  • Services: 服务发现和负载均衡
  • Ingress: 入口规则
  • Network Policies: 网络策略

配置和存储

  • ConfigMaps: 配置管理
  • Secrets: 密钥管理
  • PersistentVolumeClaims: 持久化存储

资源管理

  • ResourceQuotas: 资源配额使用情况
  • LimitRanges: 资源限制
  • HPAs: 自动扩缩容状态
  • PDBs: Pod 中断预算

部署信息

镜像来源

Dashboard 使用本地 Harbor 缓存镜像,通过 EU Harbor 中转解决 Docker Hub 访问超时问题:

组件 镜像
Dashboard harbor.omniverseai.net:8080/library/kubernetesui/dashboard:v2.7.0
Metrics Scraper harbor.omniverseai.net:8080/library/kubernetesui/metrics-scraper:v1.0.8

缓存流程

Docker Hub (公网)
    ↓ (可能超时)
EU Harbor (harbor.eu.lingjingwanxiang.cn)
    ↓ (快速稳定)
本地 Harbor (harbor.omniverseai.net:8080)
    ↓ (本地访问)
Kubernetes 集群 ✅

详见: HARBOR-IMAGE-CACHE-SOLUTION.md

服务配置

kubectl get svc -n kubernetes-dashboard
NAME                        TYPE        CLUSTER-IP        PORT(S)
kubernetes-dashboard        ClusterIP   192.168.194.235   443/TCP
dashboard-metrics-scraper   ClusterIP   192.168.194.218   8000/TCP

权限配置

Dashboard 使用 admin-user ServiceAccount,具有 Cluster Admin 权限:

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

常见问题

Q1: Token 过期怎么办?

方案 A: 使用长期 Token(推荐)

kubectl -n kubernetes-dashboard create token admin-user --duration=8760h

方案 B: 使用保存的 Token

cat enterprise-k8s-manifests/dashboard-token-new.txt

Q2: 端口转发断开怎么办?

重新启动端口转发:

kubectl port-forward -n kubernetes-dashboard svc/kubernetes-dashboard 9443:443

或使用一键脚本:

./access-dashboard.sh

Q3: 浏览器提示证书不安全

这是正常的,因为 Dashboard 使用自签名证书。点击 "继续访问" 或 "Advanced → Proceed" 即可。

Q4: 找不到 Token 文件

重新生成并保存:

kubectl -n kubernetes-dashboard create token admin-user --duration=8760h > \
  enterprise-k8s-manifests/dashboard-token-new.txt

Q5: Dashboard Pod 未运行

检查状态:

kubectl get pods -n kubernetes-dashboard
kubectl describe pod <pod-name> -n kubernetes-dashboard

如果是 ImagePullBackOff,参考 HARBOR-IMAGE-CACHE-SOLUTION.md 重新缓存镜像。


安全建议

Token 管理

  • ✅ 使用长期 Token(1 年),避免频繁生成
  • ✅ Token 文件已保存在 enterprise-k8s-manifests/dashboard-token-new.txt
  • ⚠️ 不要将 Token 提交到 Git 仓库
  • ⚠️ Token 泄露后需立即删除 ServiceAccount 并重新创建

网络访问

  • ✅ Dashboard 仅监听 ClusterIP(集群内部)
  • ✅ 通过 kubectl port-forward 本地访问(安全)
  • ⚠️ 生产环境不建议使用 NodePort 或 LoadBalancer 暴露

权限控制

  • ⚠️ 当前使用 cluster-admin 权限(适合开发环境)
  • ⚠️ 生产环境建议使用 RBAC 限制权限

快速参考

一键访问

./access-dashboard.sh

查看 Token

cat enterprise-k8s-manifests/dashboard-token-new.txt

手动访问

# Terminal 1: 启动端口转发
kubectl port-forward -n kubernetes-dashboard svc/kubernetes-dashboard 9443:443

# Terminal 2: 打开浏览器
open https://localhost:9443

查看部署状态

kubectl get all -n kubernetes-dashboard

查看日志

kubectl logs -n kubernetes-dashboard deployment/kubernetes-dashboard

相关文档


最后更新: 2025-12-24 Dashboard 版本: v2.7.0 访问方式: Token 认证 (Cluster Admin)