
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Longhorn Test Runner 是一个用于自动化测试 Longhorn 分布式块存储系统的 Docker 镜像。该镜像封装了 Longhorn 测试框架及依赖工具,支持在隔离环境中执行各类测试用例,验证 Longhorn 集群的功能正确性、稳定性及性能表现。主要用途包括 Longhorn 开发迭代中的自动化测试、CI/CD 流程集成、版本发布前验证等场景。
bashdocker pull longhornio/test-runner:latest # 拉取最新版本 # 或指定版本(如 v1.6.0) docker pull longhornio/test-runner:v1.6.0
1. 基本测试命令(Docker Run)
以下示例执行 Longhorn 集成测试,连接至目标 Kubernetes 集群(通过 KUBECONFIG 挂载),并输出测试报告至本地目录:
bashdocker run -it --rm \ -v $HOME/.kube/config:/root/.kube/config:ro \ # 挂载 Kubernetes 配置(访问 Longhorn 集群) -v $(pwd)/test-results:/app/results \ # 挂载测试结果输出目录 -e TEST_TYPE=integration \ # 指定测试类型(integration/unit/e2e/performance) -e LONGHORN_VERSION=v1.6.0 \ # 目标 Longhorn 版本(需与集群版本匹配) -e TEST_TIMEOUT=3600 \ # 测试超时时间(秒,默认 3600) longhornio/test-runner:latest
2. Docker Compose 配置示例
创建 docker-compose.yml 文件,定义测试服务及依赖:
yamlversion: '3.8' services: longhorn-test: image: longhornio/test-runner:latest volumes: - $HOME/.kube/config:/root/.kube/config:ro - ./test-results:/app/results - ./custom-testcases:/app/custom-testcases # 挂载自定义测试用例(可选) environment: - TEST_TYPE=e2e - LONGHORN_VERSION=v1.6.0 - TEST_TIMEOUT=7200 - ENABLE_REPORT=true # 启用测试报告生成(默认 true) - REPORT_FORMAT=html # 报告格式(html/json/xml,默认 html) - DEBUG_MODE=false # 是否开启调试模式(默认 false,开启后输出详细日志) network_mode: host # 直接使用主机网络,确保与 Kubernetes 集群网络连通
启动测试:
bashdocker-compose up
环境变量配置
| 环境变量名 | 描述 | 默认值 | 必填项 |
|---|---|---|---|
TEST_TYPE | 测试类型,支持 unit(单元测试)、integration(集成测试)、e2e(端到端测试)、performance(性能测试) | integration | 否 |
LONGHORN_VERSION | 目标 Longhorn 集群版本(如 v1.6.0),需与集群实际版本匹配 | latest | 否 |
TEST_TIMEOUT | 测试总超时时间(秒),超时后自动终止测试进程 | 3600 | 否 |
KUBERNETES_API_URL | Kubernetes API Server 地址(如 https://192.168.1.100:6443),未指定时从 KUBECONFIG 读取 | 空 | 否 |
ENABLE_REPORT | 是否生成测试报告(true/false) | true | 否 |
REPORT_FORMAT | 报告格式,支持 html/json/xml | html | 否 |
REPORT_PATH | 测试报告输出路径(容器内路径,建议配合卷挂载至宿主机) | /app/results | 否 |
DEBUG_MODE | 是否开启调试模式(输出详细日志,包括测试框架内部日志) | false | 否 |
CUSTOM_TESTCASES_PATH | 自定义测试用例目录(容器内路径,需通过卷挂载外部用例文件) | 空 | 否 |
卷挂载说明
| 挂载路径(容器内) | 用途 | 宿主机建议路径 | 权限 |
|---|---|---|---|
/root/.kube/config | 挂载 Kubernetes 配置文件,用于访问目标集群(Longhorn 依赖 Kubernetes 管理) | $HOME/.kube/config | 只读 |
/app/results | 测试报告及日志输出目录 | $(pwd)/test-results | 读写 |
/app/custom-testcases | 自定义测试用例目录(仅当 CUSTOM_TESTCASES_PATH 非空时需挂载) | $(pwd)/custom-testcases | 只读 |
LONGHORN_VERSION 需与目标集群版本严格匹配,否则可能因 API 差异导致测试失败。--net=host 或配置容器网络为集群所在网络。--memory 和 --cpus 参数限制容器资源(如 --memory=8g --cpus=4),避免影响测试结果准确性。KUBECONFIG 需具备足够权限(如 cluster-admin),否则可能因权限不足导致测试用例执行失败。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务