1

我确实看过这个,但我觉得没有涵盖答案:kubernetes persistence volume and persistence volume claim exceeded storage

无论如何,我试图查看文档,但无法找出当 PVC Azure 磁盘已满时会发生什么?所以,我们有一个监控一些数据的 grafana 应用程序。我们使用 PVC 来确保在 pod 被杀死时保存数据。现在 pod 不断地获取数据,磁盘越来越满。磁盘已满时会发生什么?理想情况下,实现某种功能会很好,这样当它接近 80% 时,它会删除比如说 20% 的数据,例如从最旧的数据开始。或者我们如何解决这个问题?

PVC:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: graphite-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: managed-premium
  resources:
    requests:
      storage: 256Gi
4

1 回答 1

3

将 PVC 视为安装到运行 grafana 服务的容器的文件夹。它具有您提供的固定大小,并且根据问题,它不会增加。

磁盘已满时会发生什么?

这与在系统上运行的正常服务并用完系统没有什么不同。如果它是您的本地计算机或云虚拟机,您将收到有关存储的警报,如果您采取行动,该服务将错误提示out of disk space error 现在您可以使用带有 Kubernetes 插件的 Prometheus 等服务来获取存储空间警报,但默认情况下,Kubernetes不会提供任何警报。

参考- https://kubernetes.io/docs/tasks/debug-application-cluster/resource-usage-monitoring/#full-metrics-pipeline

我们如何解决这个(磁盘空间)问题?

再次与您在普通系统上的方式相同,有许多解决方案。但是,如果您考虑一下,系统或 VM 或 Kubernetes 并不是决定应该删除哪些文件以及应该保留哪些文件的合适人选,因为 kubernetes 不知道数据是什么,事实上,它并不拥有数据。服务可以。另一方面,您可以使用该服务或创建一个自定义的新存档服务来从 Grafana PVC 中获取数据并将其放置在 S3 或任何其他存储中。

于 2019-11-08T11:35:15.733 回答