Kubernetes仪表板
外观
概述[编辑 | 编辑源代码]
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
认证方式[编辑 | 编辑源代码]
需创建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后,仪表板可显示资源使用趋势图:
实际案例[编辑 | 编辑源代码]
场景:快速调试应用故障[编辑 | 编辑源代码]
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没有内容。
生产环境务必配置严格的访问控制! |