我确实看过这个,但我觉得答案还没有涵盖:kubernetes的持久性卷和持久性卷声明超过了存储
无论如何,我试着查看了文档,但找不到当PVC Azure磁盘满了时会发生什么?因此,我们有一个grafana应用程序,它可以监视一些数据。如果吊舱被杀死,我们使用PVC来确保数据被保存。现在,pod不断地获取数据,磁盘变得越来越满。磁盘已满时会发生什么?理想情况下,最好实现某种功能,这样当它达到80%的满时,它会删除20%的数据,例如从最旧的数据开始。或者我们如何解决这个问题?
聚氯乙烯:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: graphite-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: managed-premium
resources:
requests:
storage: 256Gi
将PVC视为安装到运行grafana服务的容器中的文件夹。它有一个你提供的固定尺寸,根据问题,它不会增加。
磁盘已满时会发生什么
这里没有什么不同于在系统上运行和在系统外运行的正常服务。如果是你的本地机器或云虚拟机,你会收到关于存储的警报,如果你强行采取行动,服务会错误地显示out of disk space error
现在,您可以使用带有Kubernetes插件的Prometheus等服务来获取存储空间警报,但默认情况下,Kubernete不会提供任何警报。
参考-https://kubernetes.io/docs/tasks/debug-application-cluster/resource-usage-monitoring/#full-度量流水线
我们如何解决这个(磁盘空间(问题
和普通系统一样,有很多解决方案。但如果你想一想,系统、虚拟机或Kubernetes并不是决定哪些文件应该删除,哪些文件应该保留的合适人选,原因是Kubernete不知道什么是数据,事实上,它并不拥有这些数据。服务确实如此。另一方面,您可以使用该服务或创建一个自定义的新归档服务,从Grafana PVC中获取数据,并将其放置在S3或任何其他存储中。