专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

kubeshop/testkube-api-server Docker 镜像 - 轩辕镜像

testkube-api-server
kubeshop/testkube-api-server
Testkube的Kubernetes API服务器组件,用于处理Kubernetes集群中的测试操作请求,支持测试工作流的管理与执行。
0 次下载activekubeshop镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Testkube Kubernetes API Server 镜像文档

一、镜像概述与主要用途

Testkube Kubernetes API Server 是 Testkube 测试平台的核心组件,作为系统的中枢神经系统,负责处理所有 API 请求,协调测试工作流的定义、触发、执行与结果收集。该组件连接 Testkube CLI、UI、CI/CD 工具与 Kubernetes 集群中的测试执行资源,实现测试编排与基础设施的解耦,支持在分布式环境中大规模运行各类测试任务。

二、核心功能与特性

2.1 核心功能
  • API 请求处理:提供 RESTful API 接口,支持测试工作流定义、执行触发、结果查询等操作
  • 测试执行协调:与 Kubernetes 资源(Pod、Job、CRD)交互,管理测试作业生命周期(创建、调度、终止)
  • 测试工具集成:原生支持 K6、Playwright、JMeter、Cypress 等主流测试工具,兼容自定义测试脚本
  • 结果收集与存储:聚合测试执行日志、生成 artifacts(视频、报告等),并持久化存储至指定后端
  • 工作流编排:支持复杂测试套件定义,实现多步骤测试任务的串行/并行执行
2.2 关键特性
  • Kubernetes 原生:基于 Kubernetes API 设计,利用原生调度、扩缩容能力
  • 高可扩展性:支持水平扩展以应对大规模测试请求,通过自定义 Executor 扩展测试工具支持范围
  • 安全集成:与 Kubernetes RBAC 集成,支持 API 认证(Token、OAuth2)与授权控制
  • 多源触发:支持 CLI、API、CI/CD 工具、Kubernetes Event、定时任务等多种触发方式
  • 轻量化设计:无状态架构,支持滚动更新与故障自动恢复

三、使用场景与适用范围

3.1 典型使用场景
  • CI/CD 流水线集成:作为测试步骤嵌入 GitLab CI、GitHub Actions、Jenkins 等流水线,触发环境验证测试
  • 多团队共享测试平台:提供集中式 API 入口,支持多项目/团队隔离的测试资源管理
  • 复杂测试套件编排:构建系统测试、集成测试套件,协调多工具组合执行(如 JMeter 性能测试 + Cypress UI 测试)
  • 大规模测试执行:利用 Kubernetes 节点分布式运行测试任务,支持数千并发测试用例
  • 测试结果集中分析:统一收集测试日志与报告,对接 Grafana、Prometheus 实现可视化监控
3.2 适用范围
  • 基于 Kubernetes 的应用开发/测试团队
  • 需要标准化测试流程的中大型研发组织
  • 依赖多测试工具的复杂应用系统(微服务、分布式架构)
  • 对测试执行效率、可观测性有高要求的场景

四、使用方法与配置说明

4.1 前置要求
  • Kubernetes 集群(v1.21+),具备集群管理员权限(生产环境)
  • Docker 19.03+ 或容器运行时(开发/单机测试)
  • 网络访问:允许 8080 端口(默认 API 端口)的入站流量
4.2 部署方式
4.2.1 Docker 单机运行(开发/测试)
bash
docker 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 部署(含依赖组件)
yaml
version: "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 [***]
helm repo update

# 安装 Testkube(含 API Server)
helm install testkube testkube/testkube \
  --namespace testkube \
  --create-namespace \
  --set apiServer.logLevel=info \
  --set apiServer.service.type=NodePort  # 或 Load***(根据集群网络配置)
4.3 配置参数详解
4.3.1 环境变量
参数名描述默认值示例值
API_PORTAPI 服务监听端口80809090
KUBERNETES_CONFIGK8s 配置文件路径(外部集群访问)/var/run/secrets/kubernetes.io/serviceaccount(in-cluster 模式)/root/.kube/config
LOG_LEVEL日志级别infodebug
NAMESPACETestkube 资源部署命名空间testkubekube-test
MONGODB_URIMongoDB 连接地址(结果存储)mongodb://mongodb:27017/testkubemongodb+srv://user:***/testkube
AUTH_ENABLED是否启用 API 认证falsetrue
JWT_SECRETJWT 认证密钥(AUTH_ENABLED=true 时必填)-your-strong-secret-key
CORS_ALLOWED_ORIGINSCORS 允许的源地址*[***]
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
4.4 验证部署

部署后可通过以下方式验证 API Server 可用性:

bash
# 检查服务状态
curl http://localhost:8080/health

# 预期响应(健康状态)
{"status":"ok","version":"v1.10.0"}  # 版本号随镜像更新变化

五、集成示例

5.1 与 Testkube CLI 集成
bash
# 配置 CLI 连接 API Server
testkube config set-context --api-uri http://localhost:8080

# 触发示例测试(需提前定义测试资源)
testkube run test my-test
5.2 CI/CD 流水线集成(GitHub Actions)
yaml
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Trigger Testkube Test
        run: |
          curl -X POST "[***]" \
            -H "Content-Type: application/json" \
            -d '{"trigger": "github-actions", "params": {"ENV": "staging"}}'

六、故障排除

6.1 常见问题
  • 问题: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>。

七、参考链接

  • 官方文档:docs.testkube.io
  • 测试定义指南:Defining Tests
  • Helm Chart 配置:Testkube Helm Chart
查看更多 testkube-api-server 相关镜像 →
linuxserver/code-server logo
linuxserver/code-server
by linuxserver.io
linuxserver/code-server是VS Code服务器版Docker镜像,可在浏览器中运行完整VS Code开发环境,无需本地安装即可跨设备访问。支持全部VS Code扩展、代码同步与终端功能,适配远程开发、团队协作或低配置设备场景。镜像经linuxserver优化,兼容ARM/AMD架构,内置持久化存储与安全配置,开箱即用,轻松打造云端IDE,提升开发灵活性与效率。
72750M+ pulls
上次更新:15 天前
linuxserver/openssh-server logo
linuxserver/openssh-server
by linuxserver.io
提供OpenSSH服务器服务,支持远程登录与服务器管理,具备易于部署、配置灵活的特点,适用于各类需要安全远程访问的场景。
14310M+ pulls
上次更新:7 天前
mailserver/docker-mailserver logo
mailserver/docker-mailserver
by Docker Mailserver
一个全栈且简单易用的邮件服务器,支持SMTP、IMAP协议,集成LDAP、反垃圾邮件及反病毒等功能。
25610M+ pulls
上次更新:10 天前
linuxserver/sonarr logo
linuxserver/sonarr
by linuxserver.io
由LinuxServer.io提供的Sonarr容器,是一款专为电视节目集管理设计的自动化工具,能够监控指定剧集的更新信息、自动从索引器获取下载链接并通过下载客户端(如Deluge、qBittorrent等)完成资源下载,同时支持按自定义规则整理文件结构、重命名剧集文件以保持媒体库整洁有序;LinuxServer.io作为专注于提供高质量容器化应用的团队,其构建的Sonarr容器基于轻量级Linux系统,优化了资源占用与运行稳定性,适合家庭媒体服务器或个人影视库的自动化管理场景使用。
20991B+ pulls
上次更新:17 天前
linuxserver/jackett logo
linuxserver/jackett
by linuxserver.io
这是由LinuxServer.io提供的Jackett容器,其中Jackett是一款实用的种子索引聚合工具,能够整合多个torrent追踪器的搜索结果,为qBittorrent、Deluge等各类P2P下载客户端提供统一的搜索接口,帮助用户更便捷地查找和获取所需资源;而LinuxServer.io团队凭借专业的容器化技术,确保该Jackett容器具备稳定的运行环境、简便的部署流程以及持续的更新支持,可满足用户在不同系统环境下高效使用Jackett的需求。
12001B+ pulls
上次更新:5 天前
linuxserver/tautulli logo
linuxserver/tautulli
by linuxserver.io
Tautulli Docker镜像是监控和分析Plex媒体服务器的工具,可跟踪用户活动、媒体播放统计及服务器性能,帮助用户掌握Plex使用情况。
430500M+ pulls
上次更新:6 天前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
kubeshop/testkube-api-server
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429