
longhornio/longhorn-testLonghorn 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
以下示例执行 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
创建 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 地址(如 [***]),未指定时从 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),否则可能因权限不足导致测试用例执行失败。





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务