Kubernetes k6:k6--out-json-open./test.json:权限被拒绝

Kubernetes k6:k6--out-json-open./test.json:权限被拒绝,kubernetes,k6,Kubernetes,K6,我已经在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&

我已经在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:权限被拒绝”
如何解决此问题?

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
,以使默认行为更直观。

请修复格式化代码块,可以在前后使用“`”进行格式化code@Devi我已经为你做了格式化。你能检查一下
/test.json“
文件的权限吗?另外,你在集群中使用的是RBAC吗?很难说你提供了多少信息。谢谢你格式化@Wytrzymały Wiktor。我只是想k6会自动创建test.json文件,并在本地服务器上输出k6