【问题标题】:How to find GCP Persistent Disk Usage?如何查找 GCP 永久磁盘使用情况?
【发布时间】:2021-02-25 06:54:25
【问题描述】:

我有一个与 GKE 集群中的 pod 关联的 GCP 永久磁盘。如何找到永久磁盘的磁盘使用情况?是否有任何 GCP 命令可以帮助我找到磁盘使用情况?

非常感谢您的回答。

【问题讨论】:

  • 您好 Prakash Premkumar,如果有任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
  • @DawidKruk 抱歉耽搁了。我已经接受了你的回答。非常感谢您的帮助。

标签: google-cloud-platform google-kubernetes-engine google-persistent-disk


【解决方案1】:

TL;DR

您可以将某个卷装载的利用率(已用空间的百分比)用于具有以下指标的Pod

  • kubernetes.io/pod/volume/utilization

描述说明:

实例当前正在使用的卷的比例。此值不能大于 1,因为使用量不能超过总可用卷空间。

您可以使用此指标来监控由 Persistent Disk 支持的特定卷安装。

免责声明!

请记住,此方法需要进行一些调整以适应特定用例。我在下面提供了一个示例。我还添加了一个监控 api 查询来提取相同的信息。


使用kubernetes.io/pod/volume/utilization 指标

假设您有一个 GKE 集群:

  • 3 个PVCPD 支持,每个100GB 空间
  • 3 Pods 其中每个人都使用单个 PVC
    • ubuntu-ten - 有 10GB 存储在挂载的 PVC
    • ubuntu-twenty - 有 20GB 存储在挂载的 PVC
    • ubuntu-thirty - 安装的PVC 上存储了 30GB

你可以关注:

  • GCP Cloud Console (Web UI) -> Monitoring -> Metrics explorer


查询 API

正如 cmets 在另一个答案下所问的那样:

是否有监控 API 检索磁盘使用情况的示例?

是的。您可以使用MQL(监控查询语言)查询监控API的数据。

您需要从前面使用的示例中查询 (volume_utilization)。您可以通过进入Query Editor(在最后一张图片上)提取此类查询。

fetch k8s_pod
| metric 'kubernetes.io/pod/volume/utilization'
| filter
    (resource.cluster_name == 'CLUSTER_NAME'
     && resource.pod_name =~ 'ubuntu.*')
    && (metric.volume_name == 'volume-data')
| group_by 1m, [value_utilization_mean: mean(value.utilization)]
| every 1m

要查询 API,您可以使用 GCP 文档中提供的 Try this API 功能:

借助此工具创建的查询:

curl --request POST \
  'https://monitoring.googleapis.com/v3/projects/PROJECT-NAME/timeSeries:query?key=[YOUR_API_KEY]' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"query":"fetch k8s_pod| metric '"'"'kubernetes.io/pod/volume/utilization'"'"'| filter(resource.cluster_name == '"'"'CLUSTER-NAME'"'"'&& resource.pod_name =~ '"'"'ubuntu.*'"'"')&& (metric.volume_name == '"'"'volume-data'"'"')| group_by 1m,[value_utilization_mean: mean(value.utilization)]| every 1m"}' \
  --compressed

在响应中,您应该获得有关Pods 使用的卷利用率的信息。


其他资源:

【讨论】:

  • 非常感谢@Dawid 的回复!
  • @PrakashPremkumar 我已经指出了kubernetes.io/pod/volume/utilization 指标,因为除了使用df 将卷安装到Pod 之外,没有其他解决方案可以检查gce-pd 中占用的空间。
  • 非常感谢您的回复。
【解决方案2】:

您无法通过准备好的命令查看磁盘使用情况。但是,您可以通过 Stackdriver Monitoring (Google Cloud Operations Suite) 使用名为 container/disk/bytes_used: documentation 的指标来检查它。如果需要自动化,您可以使用 Monitoring API。

请注意,您必须先在集群上启用 Stackdriver。如果还没有,请关注documentation

【讨论】:

  • 非常感谢您的回复。是否有监控 API 检索磁盘使用情况的示例?
猜你喜欢
  • 2017-12-18
  • 2019-01-26
  • 1970-01-01
  • 2012-07-03
  • 1970-01-01
  • 2019-04-09
  • 1970-01-01
  • 2017-11-26
  • 2020-11-22
相关资源
最近更新 更多