我已经在digitalocean上创建了kubernetes集群。我已经将k6作为作业部署在kubernetes集群上。
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:权限被拒绝”如何解决此问题?
发布于 2021-01-12 17:28:18
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,以使默认行为更直观。
https://stackoverflow.com/questions/65678315
复制相似问题