You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过kubectl将本地JS文件内容传入k6容器运行?

解决kubectl运行k6加载本地测试文件的问题

问题原因

你使用的kubectl run命令没有正确将本地simple.js的内容转发到容器的标准输入中,导致k6执行run -时读取不到有效测试代码,因此报错"no exported functions"。

解决方案

方案一:通过标准输入直接传递(适合快速测试)

使用-i(开启标准输入转发)参数运行容器,确保本地文件内容能传递给k6:

kubectl run k6 --image=grafana/k6 -i -- run - < simple.js
  • -i参数让kubectl将本地的标准输入转发到容器内,k6的run -会读取这个输入并执行测试代码。

方案二:通过ConfigMap挂载文件(适合复用或复杂测试)

如果需要多次运行测试,或者测试文件较大,推荐将本地文件存入ConfigMap并挂载到容器中:

  1. 创建包含测试文件的ConfigMap:
kubectl create configmap k6-test-script --from-file=simple.js
  1. 运行k6容器,挂载ConfigMap并指定测试文件路径:
kubectl run k6 --image=grafana/k6 --command -- run /test-scripts/simple.js \
  --volume name=k6-scripts,configmap=k6-test-script \
  --volume-mount name=k6-scripts,mount-path=/test-scripts
  • ConfigMap会将simple.js挂载到容器内的/test-scripts目录下,k6可以直接读取该文件执行测试。

验证结果

执行命令后,查看Pod日志确认测试是否正常运行:

kubectl logs k6

如果日志中出现k6的测试进度输出,说明测试已成功启动。

内容的提问来源于stack exchange,提问作者sqr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 01:32:00