Ubuntu minikube上的kubernetes无法输出到文件
我在Ubuntu18上使用minikube并运行一个kubernetes作业,该作业只需挂载一个dir并使用这个yaml文件将某些内容输出到一个文件中Ubuntu minikube上的kubernetes无法输出到文件,ubuntu,kubernetes,filesystems,devops,mount,Ubuntu,Kubernetes,Filesystems,Devops,Mount,我在Ubuntu18上使用minikube并运行一个kubernetes作业,该作业只需挂载一个dir并使用这个yaml文件将某些内容输出到一个文件中 apiVersion: batch/v1 kind: Job metadata: name: pi13 spec: template: spec: containers: - name: pi image: perl command: ["/bin/echo"]
apiVersion: batch/v1
kind: Job
metadata:
name: pi13
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["/bin/echo"]
args: ["1 >> /data/text12.txt"]
volumeMounts:
- mountPath: /data
name: data
volumes:
- name: data
hostPath:
path: /home/user/data
restartPolicy: Never
backoffLimit: 1
它运行良好,并在仪表板中提供此输出
1>>/data/shai12.txt
但不向文件写入任何内容。我尝试在运行完成后在主机上读取该文件,但什么也没有发生
我错过了什么 你的工作应该是这样的:
apiVersion: batch/v1
kind: Job
metadata:
name: pi13
spec:
template:
spec:
containers:
- name: pi
image: perl
command: [ "sh", "-c"]
args: ["echo 1 >> /data/text12.txt"]
volumeMounts:
- mountPath: /data
name: data
volumes:
- name: data
hostPath:
path: /tmp/data
restartPolicy: Never
backoffLimit: 1
在您的例子中,您将整个1>>/data/text12.txt传递给echo命令,结果它将打印1>>/data/text12.txt,您可以在作业日志中检查这些内容
hostPath创建目录/数据,这就是您找到它的原因
我希望这会有所帮助。我成功连接到pod和exec并检查,似乎我写入了目录/数据,但这不会影响我输入的主机路径,为什么?即使在装载主机的/tmp/数据时,它也不会生效,主机的文件系统中也不会发生任何事情,而pod中一切正常。您是否有权限写入hostPath?我从同一个用户运行minikube,我将权限更改为777,因此似乎权限不是问题所在我认为这是问题所在: