本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

!Testkube Logo
TestKube Tracetest 执行器是一款测试执行器,用于通过 TestKube 运行 Tracetest 测试。
Tracetest 是一款基于 OpenTelemetry 的测试工具,允许您测试分布式应用。它利用 OpenTelemetry 工具生成的跟踪数据,检查并断言应用是否符合测试定义中指定的预期行为。
TestKube 是面向测试人员和开发人员的 Kubernetes 原生测试框架,允许您在 Kubernetes 集群内自动化执行现有测试工具,消除 CI/CD/GitOps 流水线中的复杂性。
通过使用 TestKube Tracetest 执行器,您可以结合 TestKube 与 Tracetest 的能力,充分利用已完成的服务 instrumentation 工作。
本文将展示如何在 Kubernetes 集群中结合使用 Testkube 和 Tracetest 运行测试。
您的 Kubernetes 集群中应已安装:
您的 machine 上应安装:
完成上述设置后,我们开始配置 Testkube 和 Tracetest。
Testkube 基于 执行器 概念工作。执行器是测试框架(此处为 Tracetest)的 Docker 容器包装器,作为 Kubernetes Job 运行。首先,您需要使用 Testkube CLI 在集群中注册并部署 Tracetest 执行器:
kubectl testkube create executor --image kubeshop/testkube-executor-tracetest:latest --types "tracetest/test" --name tracetest-executor
现在您需要一个 Tracetest 测试。有关编写测试的详细信息,请参阅 Tracetest 文档。以下是一个简单的测试定义示例:
type: Test spec: id: R5NITR14g name: Pokeshop - List description: Get a Pokemon trigger: type: http httpRequest: url: [***] method: GET headers: - key: Content-Type value: application/json specs: - selector: span[tracetest.span.type="http"] assertions: - attr:http.method = "GET" - selector: span[tracetest.span.type="database"] assertions: - attr:db.name = "pokeshop"
执行以下命令在 Testkube 中创建测试执行器对象。不要忘记使用 --file 参数提供 Tracetest 定义文件的路径,并使用 TRACETEST_ENDPOINT --variable 指定 Tracetest 服务器端点:
kubectl testkube create test --file my/file/location.yaml --type "tracetest/test" --name pokeshop-tracetest-test --variable TRACETEST_ENDPOINT=[***]
最后,要查看集成效果,只需运行以下命令执行测试:
kubectl testkube run test --watch pokeshop-tracetest-test
以下是 Testkube 和 Tracetest 与系统不同组件交互的高级序列图:
sequenceDiagram participant testkubeClient as Testkube 客户端 participant testkube as Testkube participant executorCRDs as 执行器 CRD participant tracetestExecutorJob as Tracetest 执行器 Job participant tracetestServer as Tracetest 服务器 participant instrumentedService as Instrumentation 服务 participant dataStore as 数据存储 testkubeClient->>+testkube: 触发 Testkube 测试运行 testkube->>+executorCRDs: 获取执行器详情 executorCRDs-->>-testkube: 发送详情 testkube->>+tracetestExecutorJob: 调度执行 tracetestExecutorJob->>+tracetestExecutorJob: 配置 Tracetest CLI tracetestExecutorJob->>+tracetestServer: 执行 Tracetest 测试运行 tracetestServer->>+instrumentedService: 触发请求 instrumentedService-->>-tracetestServer: 获取响应 instrumentedService->>+dataStore: 发送遥测数据 tracetestServer->>+dataStore: 获取跟踪 dataStore-->>-tracetestServer: 返回跟踪 tracetestServer->>+tracetestServer: 运行断言 tracetestServer-->>-tracetestExecutorJob: 返回测试运行结果 tracetestExecutorJob-->>-testkube: 返回测试运行结果 testkube-->>-testkubeClient: 发送详情
请通过 TestKube 主仓库 报告任何 问题 或参与 讨论。
更多信息请访问 Testkube 主仓库
!Release 



免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429