
— 特色专栏 —
MySQL / PostgreSQL / MongoDB
ElasticSearch / Hadoop / Redis
Kubernetes / Docker / DevOps
Nginx / Git / Tools / OpenStack
大家好,我是民工哥!
别再死磕命令行了!来试试这款可视化运维神器吧,太香了,用完爱不释手。

运维团队对可视化工具的追求,也是一直以来不断探索的目标,好用的工具确实能大大提升我们的日常工作效率。
今天,给大家介绍一款超好用的可视化工具:K8s Dashboard!

Kubernetes Dashboard(K8s Dashboard) 是 Kubernetes 官方提供的基于 Web 的用户界面(UI),用于管理和监控 Kubernetes 集群。它为集群管理员和开发者提供了一个直观的方式来与集群进行交互,而无需直接使用命令行工具(如 kubectl)。支持对集群资源、部署、服务、Pod等对象的可视化监控和管理。
Kubernetes Dashboard 非常适合初学者或需要简化操作的用户,方便快速查看集群状态、创建和编辑资源,并监控应用程序的性能和日志。

集群资源管理
监控与日志

工作负载管理
事件与通知
自定义资源(CRD)
安全与认证
集群管理:管理员可以通过 Dashboard 快速查看集群状态,管理资源,监控性能。
应用部署:开发者可以通过 Dashboard 部署应用,查看应用状态,调试问题。
教育与学习:对于初学者来说,Dashboard 是一个直观的学习工具,帮助他们理解 Kubernetes 的基本概念和操作。
多租户环境:在多租户环境中,管理员可以为不同团队分配不同的命名空间,并通过 Dashboard 进行权限管理。
Kubernetes Dashboard 有多种部署方式,大家可以自行选择合适的方式进行安装部署。
Kubernetes 官方提供了 Dashboard 的 YAML 文件,可以通过 kubectl apply 命令直接部署。
示例命令:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
通过 Helm Chart 部署 Kubernetes Dashboard 是一种高效、标准化的方式,方便进行版本管理和配置。
添加 Helm 仓库
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/helm repo update
此操作将官方仓库添加到本地,并确保获取最新版本的 Chart。
安装 Dashboard
helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard \
--namespace kubernetes-dashboard \
--create-namespace \
--set service.type=NodePort #暴露为 NodePort 服务(可选配置)
参数说明
--namespace:#指定命名空间(若不存在,则通过--create-namespace自动创建)。
--set:#覆盖默认配置(如服务类型)。
验证安装
kubectl get pods -n kubernetes-dashboardkubectl get svc -n kubernetes-dashboard
检查 Pod 是否运行,服务是否成功创建。
NodePort:通过节点 IP 和端口访问(适用于测试环境)。
#在 values.yaml 中配置
service:
type: NodePort
nodePort: 30000 #固定端口(可选配置)
Ingress:通过域名和 HTTPS 访问(推荐生产环境)。
ingress:
enabled:true
hosts:
-dashboard.example.com
tls:
-secretName:dashboard-tls
hosts:
-dashboard.example.com
Dashboard 默认使用最小权限 RBAC 配置。若需更高权限(如集群管理员),需额外配置:
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
kubectl create clusterrolebinding dashboard-admin-binding \
--clusterrole=cluster-admin \
--serviceaccount=kubernetes-dashboard:dashboard-admin
kubectl create token dashboard-admin -n kubernetes-dashboard
生成的 Token 可用于登录 Dashboard。

若使用 Ingress,需提前创建 TLS Secret:
kubectl create secret tls dashboard-tls \
--cert=tls.crt \
--key=tls.key \
-n kubernetes-dashboard
NodePort:
kubectl get svc -n kubernetes-dashboard -o jsonpath='{.items[0].spec.ports[0].nodePort}'
通过https://<NodeIP>:<NodePort>访问。

Ingress
直接访问配置的域名(如 https://dashboard.mingongge.com)。
kubectl proxy 代理访问(适用于本地开发)。一些云服务提供商(如 Google Kubernetes Engine, Amazon EKS, Azure AKS)提供了托管的 Kubernetes Dashboard,用户无需自行部署。
kubectl proxy 或反向代理(如 Nginx)访问 Dashboard,而不是直接暴露到公网。如何访问 Dashboard?
部署完成后,可以通过 kubectl proxy 命令在本地访问:
kubectl proxy
然后在浏览器中访问 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/。
如何解决权限问题?
确保为访问 Dashboard 的用户或 ServiceAccount 配置了正确的 RBAC 权限。
如何查看 Pod 日志?
在 Dashboard 中,点击对应的 Pod,进入详情页面,选择“日志”标签页即可查看。
Kubernetes Dashboard 是一个功能强大且易于使用的工具,适合集群管理员和开发者快速管理和监控 Kubernetes 集群。
虽然它不是必须的组件,但在很多场景下可以大大提高工作效率。
不过,在使用时需要注意安全性,确保只有授权用户可以访问。
👍 如果你喜欢这篇文章,请点赞并分享给你的朋友!