首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >别再死磕命令行了!来试试这款可视化运维神器吧,香,太香了,用完爱不释手

别再死磕命令行了!来试试这款可视化运维神器吧,香,太香了,用完爱不释手

作者头像
民工哥
发布2026-03-24 12:37:50
发布2026-03-24 12:37:50
650
举报

特色专栏

MySQL / PostgreSQL / MongoDB

ElasticSearch / Hadoop / Redis

Kubernetes / Docker / DevOps

Kafka / RabbitMQ / Zookeeper

监控平台 / 应用与服务 / 集群管理

Nginx / Git / Tools / OpenStack

大家好,我是民工哥!

别再死磕命令行了!来试试这款可视化运维神器吧,太香了,用完爱不释手。

运维团队对可视化工具的追求,也是一直以来不断探索的目标,好用的工具确实能大大提升我们的日常工作效率。

今天,给大家介绍一款超好用的可视化工具:K8s Dashboard

Kubernetes Dashboard 欢迎页面
Kubernetes Dashboard 欢迎页面

简介

Kubernetes Dashboard(K8s Dashboard) 是 Kubernetes 官方提供的基于 Web 的用户界面(UI),用于管理和监控 Kubernetes 集群。它为集群管理员和开发者提供了一个直观的方式来与集群进行交互,而无需直接使用命令行工具(如 kubectl)。支持对集群资源、部署、服务、Pod等对象的可视化监控和管理。

Kubernetes Dashboard 非常适合初学者或需要简化操作的用户,方便快速查看集群状态、创建和编辑资源,并监控应用程序的性能和日志。

日志浏览
日志浏览

主要功能

集群资源管理

  • 查看和管理资源:可以查看集群中的所有资源(如 Pod、Deployment、Service、ConfigMap 等),并执行基本的管理操作(如启动、停止、删除、扩展等)。
  • 命名空间管理:支持在不同命名空间之间切换,方便管理多租户环境。

监控与日志

  • 实时监控:查看 Pod 的资源使用情况(如 CPU、内存、网络等),以及节点状态。
  • 日志查看:直接在 UI 中查看 Pod 的日志,方便调试和排查问题。

工作负载管理

  • Deployment 和 StatefulSet:支持对 Deployment 和 StatefulSet 进行滚动更新、回滚、扩展等操作。
  • DaemonSet 和 Job:可以管理 DaemonSet 和 Job,查看其状态和执行情况。

事件与通知

  • 事件查看:查看集群中发生的事件,了解资源的状态变化和错误信息。
  • 通知与警报:虽然 Dashboard 本身不提供复杂的告警功能,但可以与其他工具集成,实现告警通知。

自定义资源(CRD)

  • 支持查看和管理自定义资源(Custom Resource Definitions, CRD),方便管理 Kubernetes 扩展资源。

安全与认证

  • Dashboard 支持基于角色的访问控制(RBAC),可以限制不同用户对集群资源的访问权限。
  • 支持多种认证方式,如 Token、Kubeconfig 文件等。

使用场景

集群管理:管理员可以通过 Dashboard 快速查看集群状态,管理资源,监控性能。

应用部署:开发者可以通过 Dashboard 部署应用,查看应用状态,调试问题。

教育与学习:对于初学者来说,Dashboard 是一个直观的学习工具,帮助他们理解 Kubernetes 的基本概念和操作。

多租户环境:在多租户环境中,管理员可以为不同团队分配不同的命名空间,并通过 Dashboard 进行权限管理。

部署

Kubernetes Dashboard 有多种部署方式,大家可以自行选择合适的方式进行安装部署。

使用官方 YAML 文件

Kubernetes 官方提供了 Dashboard 的 YAML 文件,可以通过 kubectl apply 命令直接部署。

示例命令:

代码语言:javascript
复制
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
使用 Helm

通过 Helm Chart 部署 Kubernetes Dashboard 是一种高效、标准化的方式,方便进行版本管理和配置。

部署步骤

添加 Helm 仓库

代码语言:javascript
复制
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/helm repo update

此操作将官方仓库添加到本地,并确保获取最新版本的 Chart。

安装 Dashboard

代码语言:javascript
复制
helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard \  
--namespace kubernetes-dashboard \  
--create-namespace \  
--set service.type=NodePort  #暴露为 NodePort 服务(可选配置)

参数说明

代码语言:javascript
复制
--namespace:#指定命名空间(若不存在,则通过--create-namespace自动创建)。
--set:#覆盖默认配置(如服务类型)。

验证安装

代码语言:javascript
复制
kubectl get pods -n kubernetes-dashboardkubectl get svc -n kubernetes-dashboard

检查 Pod 是否运行,服务是否成功创建。

关键配置项
  • 服务暴露方式

NodePort:通过节点 IP 和端口访问(适用于测试环境)。

代码语言:javascript
复制
#在 values.yaml 中配置
service:
  type: NodePort
  nodePort: 30000  #固定端口(可选配置)

Ingress:通过域名和 HTTPS 访问(推荐生产环境)。

代码语言:javascript
复制
ingress:
  enabled:true
hosts:
    -dashboard.example.com
tls:
    -secretName:dashboard-tls
      hosts:
        -dashboard.example.com
  • RBAC 权限

Dashboard 默认使用最小权限 RBAC 配置。若需更高权限(如集群管理员),需额外配置:

代码语言:javascript
复制
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。

  • HTTPS 证书

若使用 Ingress,需提前创建 TLS Secret:

代码语言:javascript
复制
kubectl create secret tls dashboard-tls \
  --cert=tls.crt \
  --key=tls.key \
  -n kubernetes-dashboard
访问 Dashboard
  • 获取访问地址

NodePort:

代码语言:javascript
复制
kubectl get svc -n kubernetes-dashboard -o jsonpath='{.items[0].spec.ports[0].nodePort}'

通过https://<NodeIP>:<NodePort>访问。

Ingress

直接访问配置的域名(如 https://dashboard.mingongge.com)。

  • 登录方式
    • Token:使用上述生成的 Token。
    • Kubeconfig:通过 kubectl proxy 代理访问(适用于本地开发)。
托管服务

一些云服务提供商(如 Google Kubernetes Engine, Amazon EKS, Azure AKS)提供了托管的 Kubernetes Dashboard,用户无需自行部署。

安全性注意事项
  • RBAC 配置:默认情况下,Dashboard 需要配置 RBAC 权限,确保只有授权用户可以访问。
  • 使用代理访问:为了安全起见,建议通过 kubectl proxy 或反向代理(如 Nginx)访问 Dashboard,而不是直接暴露到公网。
  • Token 认证:使用 Token 进行认证时,确保 Token 的权限最小化,避免泄露。

常见问题

如何访问 Dashboard?

部署完成后,可以通过 kubectl proxy 命令在本地访问:

代码语言:javascript
复制
kubectl proxy

然后在浏览器中访问 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

如何解决权限问题?

确保为访问 Dashboard 的用户或 ServiceAccount 配置了正确的 RBAC 权限。

如何查看 Pod 日志?

在 Dashboard 中,点击对应的 Pod,进入详情页面,选择“日志”标签页即可查看。

总结

Kubernetes Dashboard 是一个功能强大且易于使用的工具,适合集群管理员和开发者快速管理和监控 Kubernetes 集群。

虽然它不是必须的组件,但在很多场景下可以大大提高工作效率。

不过,在使用时需要注意安全性,确保只有授权用户可以访问。

👍 如果你喜欢这篇文章,请点赞并分享给你的朋友!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 主要功能
  • 使用场景
  • 部署
    • 使用官方 YAML 文件
    • 使用 Helm
    • 托管服务
    • 安全性注意事项
  • 常见问题
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档