4. 安装 LitmusChaos 控制台:Litmus Portal 安装、用户注册与项目创建、仪表盘概览
LitmusChaos 控制台(Litmus Portal)是云原生混沌工程的核心管理界面。它提供了可视化的工作流编排、实验调度、结果查看和团队协作能力。本章将指导你完成 Portal 的安装、首次用户注册、项目创建以及仪表盘的核心功能概览。
4.1 Litmus Portal 架构概览
在安装之前,理解 Portal 的组件架构有助于后续的故障排查和定制化部署。Portal 采用前后端分离的微服务架构,主要包含以下组件:
架构要点: Litmus Portal 由 前端(Frontend)、后端 API 服务(Auth-Server 与 GraphQL-Server) 以及 数据库(MongoDB 与 PostgreSQL) 组成。前端通过 GraphQL 接口与后端通信,后端负责认证、授权、实验编排和数据持久化。
4.2 安装 Litmus Portal
Litmus 提供两种安装方式:Helm Chart(推荐生产环境)和 Kubectl 快速部署(适用于测试环境)。以下步骤基于 Helm 方式,确保你已配置好 kubectl 并拥有集群管理员权限。
4.2.1 前置条件检查
| 组件 | 版本要求 | 说明 |
|---|---|---|
| Kubernetes 集群 | v1.20+ | 支持 Ingress 或 NodePort 暴露服务 |
| Helm | v3.8+ | 用于安装 Litmus Portal Chart |
| kubectl | v1.20+ | 配置了目标集群的 kubeconfig |
| 存储类 | 支持 ReadWriteOnce | 用于 MongoDB 和 PostgreSQL 的 PVC |
4.2.2 使用 Helm 安装 Portal
执行以下命令添加 Litmus Helm 仓库并安装 Portal:
# 添加 Litmus Helm 仓库
helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/
helm repo update
# 创建命名空间
kubectl create namespace litmus
# 安装 Litmus Portal(默认包含前端、后端、数据库)
helm install litmus-portal litmuschaos/litmus-2-0-0-beta --namespace litmus --set portal.frontend.service.type=NodePort
提示: 如果你在云环境(如 EKS、AKS、GKE)中安装,建议将
portal.frontend.service.type 设置为 LoadBalancer,以自动获取外部 IP 地址。对于本地测试,使用 NodePort 后可通过 kubectl get svc -n litmus 查看映射端口。
4.2.3 验证安装状态
安装完成后,检查所有 Pod 是否处于 Running 状态:
kubectl get pods -n litmus
# 预期输出示例:
# NAME READY STATUS RESTARTS AGE
# litmusportal-frontend-7d8b9c6b8f-abc12 1/1 Running 0 2m
# litmusportal-server-6f9c7d8c9b-def34 1/1 Running 0 2m
# litmusportal-auth-server-5e4f6a7b8c-ghi56 1/1 Running 0 2m
# mongo-0 1/1 Running 0 2m
# postgresql-0 1/1 Running 0 2m
确认服务端点:
kubectl get svc -n litmus
# 找到 litmusportal-frontend-service 的 EXTERNAL-IP 或 NodePort 端口
# 例如:192.168.1.100:30086 或 localhost:30086
4.3 用户注册与项目创建
首次访问 Portal 时,需要完成管理员注册并创建第一个项目。项目是隔离混沌实验和资源的逻辑单元,类似于 Kubernetes 的命名空间概念。
4.3.1 注册管理员账号
- 在浏览器中打开 Portal 地址(例如
http://192.168.1.100:30086)。 - 点击 “注册” 按钮,进入注册页面。
- 填写以下信息:
- 用户名: 例如
admin - 邮箱: 例如
admin@example.com - 密码: 至少 8 位,包含大小写字母和数字
- 公司/组织: 可选,用于标识
- 用户名: 例如
- 点击 “提交”,系统会自动创建第一个项目(默认项目名与用户名相同)。
注意: 第一个注册的用户自动成为 管理员,拥有创建项目、邀请成员、管理全局配置的权限。后续注册的用户需要被管理员邀请才能加入项目。
4.3.2 创建新项目
管理员可以创建多个项目来隔离不同团队或环境的实验:
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 登录后点击左侧导航栏的 “项目” | 进入项目列表页面 |
| 2 | 点击右上角 “创建项目” 按钮 | 弹出创建对话框 |
| 3 | 输入项目名称(如 production-chaos)和描述 |
名称需唯一,建议包含环境标识 |
| 4 | 点击 “确认” | 项目创建成功,自动切换到新项目 |
4.4 仪表盘概览
仪表盘是 Portal 的首页,提供了集群状态、实验统计和最近活动的全局视图。理解仪表盘有助于快速掌握混沌工程的运行状况。
4.4.1 仪表盘核心区域
- 顶部统计卡片: 显示已连接集群数量、当前正在运行的实验数、实验成功率(过去 24 小时)以及活跃项目数。点击卡片可跳转到对应的详细列表。
- 最近实验活动: 按时间倒序展示最近 10 条实验执行记录,包含实验名称、目标集群、状态(成功/失败/运行中)和执行时间。点击条目可查看实验详情和日志。
- 快速操作: 提供“创建实验工作流”、“连接集群”、“查看报告”等常用入口,减少导航层级。
- 项目切换器: 位于顶部导航栏右侧,点击可快速切换当前项目,仪表盘内容会随之更新为对应项目的数据。
4.4.2 仪表盘配置与自定义
用户可以根据需要调整仪表盘的显示内容:
| 功能 | 操作路径 | 说明 |
|---|---|---|
| 时间范围筛选 | 仪表盘右上角下拉菜单 | 支持 1 小时、6 小时、24 小时、7 天等选项 |
| 卡片排序 | 拖拽卡片标题区域 | 可自定义顶部统计卡片的排列顺序 |
| 隐藏/显示模块 | 仪表盘设置齿轮图标 | 可关闭不常用的模块,聚焦核心信息 |
最佳实践: 建议在仪表盘中重点关注 实验成功率 和 运行中实验数。如果成功率低于 90%,应检查最近失败的实验日志,分析是目标应用问题还是混沌实验配置不当。同时,保持活跃项目数不超过 5 个,避免仪表盘数据过于分散。
4.5 本章小结
通过本章的学习,你完成了 Litmus Portal 的安装部署,掌握了用户注册和项目创建的方法,并熟悉了仪表盘的核心功能模块。Portal 作为混沌工程的“驾驶舱”,后续所有的实验编排、执行和监控都将基于此界面进行。确保 Portal 运行稳定、项目配置正确,是开展 Pod 故障注入演练的基础。