
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Testkube Kubernetes API Server 是 Testkube 测试平台的核心组件,作为系统的中枢神经系统,负责处理所有 API 请求,协调测试工作流的定义、触发、执行与结果收集。该组件连接 Testkube CLI、UI、CI/CD 工具与 Kubernetes 集群中的测试执行资源,实现测试编排与基础设施的解耦,支持在分布式环境中大规模运行各类测试任务。
4.2.1 Docker 单机运行(开发/测试)
bashdocker run -d \ --name testkube-api-server \ -p 8080:8080 \ -v $HOME/.kube/config:/root/.kube/config \ # 挂载 K8s 配置(外部集群访问) -e KUBERNETES_CONFIG=/root/.kube/config \ # 指定 K8s 配置路径 -e LOG_LEVEL=info \ # 日志级别(debug/info/warn/error) -e API_PORT=8080 \ # API 服务端口 kubeshop/testkube-api-server:latest
4.2.2 Docker Compose 部署(含依赖组件)
yamlversion: "3.8" services: api-server: image: kubeshop/testkube-api-server:latest ports: - "8080:8080" volumes: - $HOME/.kube/config:/root/.kube/config environment: - KUBERNETES_CONFIG=/root/.kube/config - LOG_LEVEL=info - API_PORT=8080 - MONGODB_URI=mongodb://mongodb:27017/testkube # 结果存储(可选外部 MongoDB) depends_on: - mongodb mongodb: # 可选:本地 MongoDB 用于存储测试结果 image: mongo:5.0 ports: - "27017:27017" volumes: - mongodb-data:/data/db volumes: mongodb-data:
4.2.3 Kubernetes Helm 部署(生产环境)
Testkube 官方推荐通过 Helm Chart 部署完整平台(含 API Server):
bash# 添加 Helm 仓库 helm repo add testkube https://kubeshop.github.io/helm-charts helm repo update # 安装 Testkube(含 API Server) helm install testkube testkube/testkube \ --namespace testkube \ --create-namespace \ --set apiServer.logLevel=info \ --set apiServer.service.type=NodePort # 或 LoadBalancer(根据集群网络配置)
4.3.1 环境变量
| 参数名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
API_PORT | API 服务监听端口 | 8080 | 9090 |
KUBERNETES_CONFIG | K8s 配置文件路径(外部集群访问) | /var/run/secrets/kubernetes.io/serviceaccount(in-cluster 模式) | /root/.kube/config |
LOG_LEVEL | 日志级别 | info | debug |
NAMESPACE | Testkube 资源部署命名空间 | testkube | kube-test |
MONGODB_URI | MongoDB 连接地址(结果存储) | mongodb://mongodb:27017/testkube | mongodb+srv://user:pass@cluster.mongodb.net/testkube |
AUTH_ENABLED | 是否启用 API 认证 | false | true |
JWT_SECRET | JWT 认证密钥(AUTH_ENABLED=true 时必填) | - | your-strong-secret-key |
CORS_ALLOWED_ORIGINS | CORS 允许的源地址 | * | https://testkube-ui.example.com |
4.3.2 命令行参数
可通过 docker run kubeshop/testkube-api-server --help 查看完整参数,常用参数:
bash--api-port 8080 # 同环境变量 API_PORT --log-level debug # 同环境变量 LOG_LEVEL --namespace testkube # 同环境变量 NAMESPACE --kubeconfig /root/.kube/config # 同环境变量 KUBERNETES_CONFIG
部署后可通过以下方式验证 API Server 可用性:
bash# 检查服务状态 curl http://localhost:8080/health # 预期响应(健康状态) {"status":"ok","version":"v1.10.0"} # 版本号随镜像更新变化
bash# 配置 CLI 连接 API Server testkube config set-context --api-uri http://localhost:8080 # 触发示例测试(需提前定义测试资源) testkube run test my-test
yamljobs: test: runs-on: ubuntu-latest steps: - name: Trigger Testkube Test run: | curl -X POST "http://testkube-api-server:8080/v1/tests/my-test/execution" \ -H "Content-Type: application/json" \ -d '{"trigger": "github-actions", "params": {"ENV": "staging"}}'
问题:API Server 无法连接 Kubernetes 集群
排查:检查 KUBERNETES_CONFIG 路径是否正确,或确认容器是否以 in-cluster 模式运行(需挂载 serviceaccount 令牌)。
问题:测试执行后无结果返回
排查:检查 MONGODB_URI 配置,确保 MongoDB 服务可访问;查看 API Server 日志(docker logs testkube-api-server)定位存储错误。
问题:API 认证失败
排查:确认 AUTH_ENABLED 与 JWT_SECRET 配置,检查请求头是否包含有效的 Authorization: Bearer <token>。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务