Kubernetes Dashboard 部署与使用指南
website Kubernetes website and documentation repo: 项目地址: https://gitcode.com/gh_mirrors/webs/website
概述
Kubernetes Dashboard 是基于 Web 的 Kubernetes 用户界面,它为用户提供了直观的集群管理方式。通过 Dashboard,用户可以:
- 部署容器化应用到 Kubernetes 集群
- 排查容器化应用的问题
- 管理集群资源
- 查看集群中运行的应用程序概览
- 创建或修改单个 Kubernetes 资源(如部署、作业、守护进程集等)
Dashboard 特别适合需要图形化界面操作 Kubernetes 的用户,它降低了 Kubernetes 的使用门槛,让用户无需记忆复杂的命令行指令即可完成常见操作。
部署 Dashboard
部署前提
在部署 Dashboard 前,请确保:
- 已安装 Helm 包管理工具
- 已配置 kubectl 并可以访问目标 Kubernetes 集群
部署步骤
- 添加 Dashboard 的 Helm 仓库:
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
- 使用 Helm 部署 Dashboard:
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard \
--create-namespace \
--namespace kubernetes-dashboard
这个命令会在 kubernetes-dashboard
命名空间中安装 Dashboard,如果该命名空间不存在则会自动创建。
访问 Dashboard
访问方式
Dashboard 默认配置了最小化的 RBAC 权限,目前仅支持通过 Bearer Token 登录。要访问 Dashboard,可以按照以下步骤操作:
- 创建一个具有适当权限的服务账号(示例中创建的是具有管理员权限的账号,仅用于演示目的)
- 获取该服务账号的 Token
- 使用 kubectl 端口转发访问 Dashboard
实际操作
- 使用 kubectl 设置端口转发:
kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443
- 在浏览器中访问
https://localhost:8443
- 输入之前获取的 Token 进行登录
注意:Dashboard 只能从执行端口转发命令的机器上访问。
Dashboard 功能详解
欢迎界面
首次访问 Dashboard 时,您会看到欢迎页面。这个页面包含:
- 文档链接
- 部署第一个应用的按钮
- 默认运行在
kube-system
命名空间中的系统应用列表
部署应用
Dashboard 提供了两种部署应用的方式:
- 向导式部署:通过填写表单逐步配置应用
- YAML/JSON 文件上传:直接上传 Kubernetes 资源清单文件
向导式部署
在向导中,您需要提供以下信息:
- 应用名称:必须唯一,遵循 DNS 子域名规则
- 容器镜像:可以是公共或私有镜像仓库中的镜像
- Pod 数量:指定要运行的 Pod 副本数
- 服务配置(可选):可以创建内部或外部服务
高级选项包括:
- 描述信息
- 标签
- 命名空间选择
- 镜像拉取密钥(用于私有镜像)
- 资源限制(CPU 和内存)
- 运行命令和参数
- 特权模式
- 环境变量
文件上传部署
对于熟悉 Kubernetes 资源定义的用户,可以直接上传 YAML 或 JSON 格式的资源清单文件。这种方式更灵活,适合复杂应用的部署。
Dashboard 主要功能区域
1. 管理概览
- 节点视图:显示集群中所有节点的 CPU 和内存使用情况
- 命名空间视图:管理集群中的命名空间
- 持久卷视图:查看和管理持久卷
2. 工作负载
按类型显示在选定命名空间中运行的所有应用,包括:
- 部署(Deployments)
- 副本集(ReplicaSets)
- 有状态集(StatefulSets)
- 守护进程集(DaemonSets)
- 任务(Jobs)
- 定时任务(CronJobs)
每个工作负载类型都有单独的视图,显示关键信息和状态。
3. 服务
显示用于向外部公开服务和在集群内发现服务的资源:
- 服务(Services)
- 入口(Ingresses)
视图会显示这些资源的目标 Pod、集群内部端点和外部端点。
4. 存储
显示应用程序用于存储数据的持久卷声明(PersistentVolumeClaims)。
5. 配置与密钥
管理集群中应用程序的实时配置资源:
- 配置映射(ConfigMaps)
- 密钥(Secrets)(默认隐藏内容)
6. 日志查看器
Dashboard 内置了日志查看器,可以从 Pod 列表或详情页直接访问。查看器支持:
- 查看单个 Pod 中容器的日志
- 日志筛选和搜索
- 实时日志流
最佳实践
- 生产环境安全:示例中创建的管理员账号仅用于演示,生产环境应遵循最小权限原则,为不同用户分配适当的权限。
- 资源限制:为容器设置合理的资源限制,避免资源争用。
- 命名规范:使用一致的命名规范,便于管理和维护。
- 日志管理:结合集群日志解决方案,如 EFK 或 Loki,实现更强大的日志功能。
- 监控集成:将 Dashboard 与 Prometheus 等监控工具结合使用,获得更全面的集群视图。
总结
Kubernetes Dashboard 为 Kubernetes 集群管理提供了直观的图形界面,特别适合刚开始接触 Kubernetes 的用户。通过 Dashboard,用户可以轻松完成常见的集群操作,而无需记忆复杂的命令行指令。对于高级用户,Dashboard 也提供了直接操作 YAML 清单文件的能力,兼顾了易用性和灵活性。
website Kubernetes website and documentation repo: 项目地址: https://gitcode.com/gh_mirrors/webs/website
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考