持久性卷声明超出存储空间会发生什么?

时间:2019-11-08 11:18:53

标签: azure kubernetes persistence kubernetes-pvc

我确实看过这个,但是我不认为答案可以解决: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

1 个答案:

答案 0 :(得分:2)

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

磁盘已满时会发生什么?

在这里,与在系统上运行的普通服务并在系统之外运行没有什么不同。如果是本地计算机或云VM,则会收到有关存储的警报,并且如果您采取措施,则该服务将错误提示out of disk space error 现在,您可以使用带有Kubernetes插件的Prometheus之类的服务来获取存储空间警报,但是默认情况下,Kubernetes不会提供任何警报。

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

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

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