【问题标题】:Best practice on reading and writing to a persistent Volume in a live Kubernetes Cluster在实时 Kubernetes 集群中读取和写入持久卷的最佳实践
【发布时间】:2021-03-04 00:33:59
【问题描述】:

我正在设计一个需要存储音频文件的 Kubernetes 系统。为此,我想设置一个使用有状态集的持久存储卷。

我找到了一些关于如何设置这样的东西的教程,但是我不确定一旦我创建了它如何读取/写入文件。这样做的最佳方法是什么。我将使用烧瓶应用程序,但如果我能获得高级方法,那么我可以自己找到确切的库。

【问题讨论】:

  • 就像你读/写任何其他目录中的文件一样。

标签: kubernetes kubernetes-statefulset


【解决方案1】:

不承认应该如何以编程方式实现它以及处理音频文件的特定调整,您可以使用您的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!" &gt; /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 的文档:


其他资源:

【讨论】:

    猜你喜欢
    • 2016-09-08
    • 1970-01-01
    • 2020-05-28
    • 2016-05-30
    • 2012-08-09
    • 2020-09-26
    • 2019-02-01
    • 2021-09-13
    • 1970-01-01
    相关资源
    最近更新 更多