跳转到内容

Kubernetes仪表板

来自代码酷

模板:Note

概述[编辑 | 编辑源代码]

Kubernetes仪表板(Kubernetes Dashboard)是一个基于Web的用户界面,用于可视化管理和监控Kubernetes集群。它允许用户通过图形化操作替代命令行工具(如kubectl),实现部署应用、调试资源、查看集群状态等功能。

核心功能[编辑 | 编辑源代码]

  • **资源管理**:查看/编辑Pod、Deployment、Service等资源。
  • **实时监控**:展示CPU、内存等资源使用情况。
  • **权限控制**:支持基于RBAC的访问权限管理。
  • **日志与终端**:直接查看Pod日志或进入容器终端。

安装与访问[编辑 | 编辑源代码]

安装仪表板[编辑 | 编辑源代码]

通过kubectl安装官方推荐的Dashboard版本:

  
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

访问仪表板[编辑 | 编辑源代码]

1. 启动代理服务:

  
kubectl proxy

2. 浏览器访问: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

认证方式[编辑 | 编辑源代码]

需创建ServiceAccount并绑定角色。例如,为默认命名空间创建管理员权限:

  
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

获取Token:

  
kubectl -n kubernetes-dashboard create token admin-user

功能详解[编辑 | 编辑源代码]

资源查看与操作[编辑 | 编辑源代码]

仪表板主页显示集群资源概览,包括:

  • **节点状态**:CPU/内存利用率、健康状态。
  • **工作负载**:Deployment、ReplicaSet、Pod的实时列表。

点击任意资源可进入详情页,支持:

  • **编辑YAML**:直接修改资源配置。
  • **扩缩容**:调整Deployment的副本数。

日志与终端[编辑 | 编辑源代码]

1. 选择目标Pod,点击“日志”按钮查看实时日志。 2. 点击“执行”按钮进入容器终端:

  
kubectl exec -it <pod-name> -- /bin/bash

监控与告警[编辑 | 编辑源代码]

集成Metrics Server后,仪表板可显示资源使用趋势图:

graph LR A[Pod] -->|上报数据| B[Metrics Server] B -->|聚合数据| C[Dashboard]

实际案例[编辑 | 编辑源代码]

场景:快速调试应用故障[编辑 | 编辑源代码]

1. 在仪表板中发现某个Pod状态为CrashLoopBackOff。 2. 查看该Pod日志,发现错误:

  
Error: Failed to connect to database at db-service:3306

3. 检查关联的Service配置,确认端口与目标Pod匹配。

安全建议[编辑 | 编辑源代码]

  • **限制访问**:通过Ingress或VPN暴露服务,避免直接公开。
  • **最小权限原则**:避免滥用cluster-admin角色。

常见问题[编辑 | 编辑源代码]

=== 仪表板无法访问?

  • 检查kubectl proxy是否运行。
  • 确认防火墙未阻塞端口8001。

=== 无权限查看资源?

  • 检查ServiceAccount的RBAC绑定是否正确。

总结[编辑 | 编辑源代码]

Kubernetes仪表板是集群管理的强大工具,尤其适合初学者直观理解资源关系。结合命令行工具kubectl,可显著提升运维效率。

页面模块:Message box/ambox.css没有内容。