不承认应该如何以编程方式实现它以及处理音频文件的特定调整,您可以使用您的Persistent Volume,就像您将数据读/写到目录一样(正如用户@正确指出的那样) cmets 中的 zerkms)。
回答问题的这个特定部分:
但我不确定创建它后如何读取/写入文件。
假设您已通过以下方式创建了 StatefulSet:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: ubuntu-sts
spec:
selector:
matchLabels:
app: ubuntu # has to match .spec.template.metadata.labels
serviceName: "ubuntu"
replicas: 1
template:
metadata:
labels:
app: ubuntu
spec:
terminationGracePeriodSeconds: 10
containers:
- name: ubuntu
image: ubuntu
command:
- sleep
- "infinity"
volumeMounts:
- name: audio-volume
mountPath: /audio
volumeClaimTemplates:
- metadata:
name: audio-volume
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: standard
resources:
requests:
storage: 1Gi
看看下面的部分(它显示了你的Volume 将被安装在哪里):
volumeMounts:
- name: audio-volume
mountPath: /audio # <-- HERE!
免责声明!
此示例具有 1:1 Pod 到 Volume 关系。如果您的用例不同,您需要参考有关 accessModes 的 Kubernetes 文档。
您可以exec 进入此Pod 了解如何进一步开发您的应用程序:
$ kubectl exec -it ubuntu-sts-0 -- /bin/bash
$ echo "Hello from your /audio directory!" > /audio/hello.txt
$ cat /audio/hello.txt
root@ubuntu-sts-0:/# cat /audio/hello.txt
Hello from your /audio directory!
附注!
如果您使用的是云提供商管理的 Kubernetes 集群,例如 GKE、EKS 或 AKS,请参阅其有关存储选项的文档。
我鼓励您查看Persistent Volumes 上的官方文档:
另外,请查看有关 Statefulset 的文档:
其他资源: