
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
执行器是一个包装在Docker容器中的程序,它接收基于OpenAPI的testkube.Execution JSON文档作为输入,并返回JSON输出行流(testkube.ExecutorOutput),其中每行输出都简单地包装在该JSON中,类似于结构化日志的理念。
这是一个基本的JMeter执行器,能够运行JMX格式编写的简单JMeter场景。请将JMeter文件定义为文件(字符串或Git文件)。目前尚未实现项目目录功能。
默认安装以下插件:
您可以在创建或执行JMeter测试时,利用Testkube的文件复制功能添加更多JMeter插件。JMeter插件JAR文件需复制到执行器容器的uploads目录。
示例:
shellkubectl testkube create test \ --file test.jmx \ --copy-files "/source/path/to/jmeter-plugins-functions-2.1.jar:plugins/jmeter-plugins-functions-2.1.jar" \ --name jmeter-test \ --type jmeter/test
前提条件
确保以下工具已安装在您的机器上并在PATH中可用:
设置步骤
data/的目录(JMeter将在此运行并存储结果,建议在项目根目录创建,因为该目录已被git忽略)data/目录下的test-content文件execution.json(建议保存在项目根目录的temp/文件夹,因为该目录已被git忽略):
json{ "id": "jmeter-test", "args": [], "variables": {}, "content": { "type": "string" } }
RUNNER_SCRAPPERENABLED、RUNNER_SSL和RUNNER_DATADIR环境变量,并使用make run run_args="-f|--file <path>"命令运行执行器,其中-f|--file <path>是步骤3中创建的execution.json文件路径:
bashRUNNER_SCRAPPERENABLED=false RUNNER_SSL=false RUNNER_DATADIR="./data" make run run_args="-f temp/execution.json"
Execution JSON
Execution JSON存储执行器运行配置测试所需的信息,结构说明如下:
json{ "args": ["-n", "-t", "test.jmx"], "variables": { "example": { "type": "basic", "name": "example", "value": "some-value" } }, "content": { "type": "string" } }
["-n", "-t", "test.jmx"]{"example": {"type": "basic", "name": "example", "value": "some-value"}}环境变量
bashRUNNER_SSL=false # 若存储后端使用HTTPS则设置,本地开发应设为false RUNNER_SCRAPPERENABLED=false # 启用/禁用scrapper,本地开发应设为false RUNNER_DATADIR=<path-to-data-dir> # JMeter运行和存储结果的数据目录路径
前提条件
testkube命名空间)操作指南
本地验证执行器变更正常工作后,需测试Testkube能否成功调度使用新执行器镜像的测试。以下命令假设Testkube安装在testkube命名空间,若在其他命名空间,请调整--namespace参数。
使Testkube使用新执行器镜像的步骤:
使用make docker-build-local命令构建新执行器镜像。默认标记为kubeshop/testkube-executor-jmeter:999.0.0,可通过LOCAL_TAG环境变量自定义。
将镜像加载到Kubernetes集群:
kind load docker-image <image-name> --name <kind cluster name>(示例:kind load docker-image testkube-executor-jmeter:999.0.0 --name testkube-k8s-cluster)minikube image load <image-name> --profile <minikube profile>(示例:minikube image load testkube-executor-jmeter:999.0.0 --profile k8s-cluster-test)编辑Job模板,将imagePullPolicy改为IfNotPresent:
kubectl edit configmap testkube-api-server --namespace testkubejob-template.yml键,修改containers部分的imagePullPolicy字段为IfNotPresent编辑执行器配置,将基础镜像改为新创建的镜像:
kubectl edit configmap testkube-api-server --namespace testkubeexecutors.json键,修改名称为jmeter-executor的执行器的executor.image字段重启API Server:kubectl rollout restart deployment testkube-api-server --namespace testkube
Testkube现在将使用新镜像,您可通过首选方式调度测试。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务