Warm tip: This article is reproduced from serverfault.com, please click

google cloud platform-如何找到GCP永久磁盘使用率?

(google cloud platform - How to find GCP Persistent Disk Usage?)

发布于 2020-11-13 08:57:11

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

非常感谢你的回答。

Questioner
Prakash Premkumar
Viewed
11
Dawid Kruk 2020-11-30 16:53:03

TL; DR

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

  • kubernetes.io/pod/volume/utilization

描述指出:

实例当前正在使用的卷的分数。该值不能大于1,因为使用率不能超过总可用卷空间。

你可以使用此指标监视由支持的特定卷安装Persistent Disk

免责声明!

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


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

假设你的GKE集群具有:

  • PVC由所支持的3个每个均PD具有100GB空格
  • 3Pods他们每个人都在使用单个PVC
    • ubuntu-ten -已安装的存储空间为10GB PVC
    • ubuntu-twenty -已安装的存储空间为20GB PVC
    • ubuntu-thirty -已安装的存储空间为30GB PVC

你可以遵循:

  • GCP Cloud Console(网页界面)-> Monitoring->Metrics explorer

卷利用率


查询API

正如在另一个答案下的评论中所问:

监控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,你可以使用文档中Try this API提供的功能GCP

使用此工具创建的查询:

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


其他资源: