1

这个问题是关于 Kubernetes 存储的。我正在使用本地 kubernetes 集群,其中一些要部署的应用程序需要由 pvcs 支持。PVC 是动态配置的。但是,有时当集群上没有剩余存储空间时,pvc 请求就会陷入永久挂起状态。

有什么方法可以检查 kubernetes 集群上的可用存储吗?在文档中进行了广泛检查,只是不清楚如何检查 Kubernetes 集群上的剩余存储容量。

此外,根据 kubernetes 文档,节点的容量是不同的,pvc 分配绑定到 pv,pv 是完全独立的集群资源,就像节点一样。

在这种情况下,我需要检查哪些存储空间以查找是否有任何空间可用于说 x gb 动态 pvc?另外,我如何检查它?

4

1 回答 1

0

您可以使用工具来监控资源

其中之一是Prometheus,您可以将其与Grafana结合使用以可视化收集的指标。

另请查看compute-resources-consumption-monitoring

当使用本地临时存储时,kubelet 会对其进行持续监控。通过定期扫描每个 emptyDir 卷、日志目录和可写层来执行监控。从 Kubernetes 1.15 开始,根据集群操作员的选择,emptyDir 卷(但不是日志目录或可写层)可以通过使用项目配额来管理。项目配额最初是在 XFS 中实现的,最近被移植到 ext4fs。项目配额可用于监测和执行;从 Kubernetes 1.16 开始,它们仅作为 alpha 功能用于监控。

配额比目录扫描更快、更准确。当一个目录被分配给一个项目时,在一个目录下创建的所有文件都在该项目中创建,内核只需要跟踪该项目中的文件正在使用多少块。如果一个文件被创建和删除,但文件描述符是打开的,它会继续消耗空间。该空间将被配额跟踪,但不会被目录扫描看到。

要启用项目配额,集群操作员必须执行以下操作:

  • LocalStorageCapacityIsolationFSQuotaMonitoring=true 在 kubelet 配置中启用功能门。这在 Kubernetes 1.16 中默认为 false,因此必须显式设置为 true
  • 确保根分区(或可选的运行时分区)是在启用项目配额的情况下构建的。注意所有 XFS 文件系统都支持项目配额,但 ext4 文件系统必须专门构建。

确保在启用项目配额的情况下挂载根分区(或可选的运行时分区)。

于 2019-12-23T11:54:50.143 回答