k6:k6–outjson-打开./test.json:权限被拒绝

我在 digitalocean 上创建了 kubernetes 集群。我已经在 kubernetes 集群上部署了 k6 作为作业。

apiVersion: batch/v1
kind: Job
metadata:
  name: benchmark
spec:
  template:
    spec:
      containers:
      - name: benchmark
        image: loadimpact/k6:0.29.0
        command: ["k6", "run", "--vus", "2", "--duration", "5m", "--out", "json=./test.json", "/etc/k6-config/script.js"]
        volumeMounts:
        - name: config-volume
          mountPath: /etc/k6-config
      restartPolicy: Never
      volumes:
      - name: config-volume
        configMap:
          name: k6-config

这就是我的 k6-job.yaml 文件的样子。在 kubernetes 集群中部署它后,我检查了 pods 日志。它显示权限被拒绝错误。level=error msg="open ./test.json: permission denied" 如何解决这个问题?

回答

k6 Docker 镜像以非特权用户身份运行,但不幸的是默认工作目录设置为/,因此它无权在那里写入。

要解决此问题,请考虑将 JSON 输出路径更改为/home/k6/out.json,即:

command: ["k6", "run", "--vus", "2", "--duration", "5m", "--out", "json=/home/k6/test.json", "/etc/k6-config/script.js"]

我对球队的维护者之一,因此会提出更改了Dockerfile设置WORKDIR,以/home/k6使默认的行为更直观一点。


以上是k6:k6–outjson-打开./test.json:权限被拒绝的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>